Firebase Remote Config artık Firebase Yöneticisi Node.js SDK'sı v12.1.0+. Bu yeni özellik sayesinde sunucu tarafı yapılandırmasının davranış ve yapılandırmasını dinamik olarak veya uzaktan yapılandırmalarını kullanabilirsiniz. Buna, sunucusuz uygulamalar dahildir örneğin Cloud Functions.
İstemciye özel yapılandırma getiren Firebase istemci SDK'larından farklı olarak Remote Config şablonundan türetilir, Remote Config SDK, eksiksiz bir Remote Config şablonu indirir Firebase'den geliyor. Daha sonra sunucunuz şablonu her bir ve özel bir yanıt sunmak için kendi mantığını kullanarak gecikme olabilir.
Sunucu tarafı Remote Config ile şunları yapabilirsiniz:
- üzerinde çalışan veya erişilen uygulamalar için yapılandırma parametrelerini tanımlayın uzaktan yapılandırma gibi kullanım alanlarına, Yapay zeka modeli parametreleri, istemler ve diğer entegrasyonlar sayesinde, API anahtarları güvende kalır.
- Parametreleri ortamınızdaki değişikliklere göre dinamik olarak ayarlayın veya LLM parametrelerini ve model uç noktalarını güncelleme gibi diğer uygulama değişiklikleri hakkında bilgi edinebilirsiniz.
- Sunucunuzun çağırdığı API'leri uzaktan güncelleyerek maliyetleri kontrol edin.
- Hesabınıza erişen istemciler için anında özel yapılandırmalar oluşturun. sunucu.
- Hangi müşterilerin parametre değeri aldığını kaydedin ve bunu Cloud Functions, yararlanma hakkı doğrulama sisteminin bir parçası olarak sunulur.
Cloud Run'da sunucu tarafı Remote Config'i dağıtabilir, Cloud Functions ya da kendi kendine barındırılan sunucu ortamlarında çalışır.
Başlamadan önce
Firebase Admin SDK'sını sunucu oluşturun bir hizmet hesabı oluşturun, ardından Firebase Admin Node.js SDK'sını .
1. adım: Firebase Admin Node.js SDK'sını başlatın ve API isteklerini yetkilendirin
Admin SDK'yı herhangi bir parametre olmadan başlattığınızda SDK Google
Uygulama Varsayılanı
Kimlik bilgileri
ve GOOGLE_APPLICATION_CREDENTIALS
ortamındaki seçenekleri okur
değişkenine eklenmelidir. Örneğin, SDK'yı başlatmak ve Remote Config'i eklemek için:
import { initializeApp } from "firebase-admin/app";
import { getRemoteConfig } from "firebase-admin/remote-config";
// Initialize Firebase
const firebaseApp = initializeApp();
2. Adım: Sunucu uygulamanız için varsayılan parametre değerlerini tanımlayın
Uygulamanızda dinamik olarak güncellemek istediğiniz değişkenleri belirleyin Remote Config. Daha sonra, ve varsayılan değerlerinin ne olması gerektiği. Böylece proje daha ile bağlantısı olsa bile başarılı bir şekilde çalışır. Remote Config arka uç sunucusu kesintiye uğradı.
Örneğin, Search Console'da çalışan bir üretken yapay zeka işlevi için varsayılan bir model adı, istem önsözü veya ve aşağıdaki gibi bir üretken yapay zeka yapılandırması içerir:
Parametre adı | Açıklama | Tür | Varsayılan değer |
---|---|---|---|
model_name |
Model API adı | Dize | gemini-1.5-pro |
preamble_prompt
|
Başa ekleme istemi kullanıcının sorgu | Dize | I'm a
developer who
wants to learn
about Firebase and
you are a helpful
assistant who
knows everything
there is to know
about Firebase! |
generation_config
|
Gönderilecek parametreler açıklamaya | JSON | {"stopSequences":
["I hope this
helps"],
"temperature":
0.7,
"maxOutputTokens":
512, "topP": 0.1,
"topK": 20} |
3. Adım: Sunucu uygulamanızı yapılandırın
Birlikte kullanmak istediğiniz parametreleri belirledikten sonra Remote Config, uygulamanızı varsayılan değerleri ayarlayacak, getirilecek sunucuya özgü Remote Config şablonu ve değerlerini kullanın. İlgili içeriği oluşturmak için kullanılan Aşağıdaki adımlar Node.js uygulamanızı nasıl yapılandıracağınızı açıklar.
Şablona erişip yükleyin.
// Initialize server-side Remote Config const rc = getRemoteConfig(firebaseApp); const template = rc.initServerTemplate(); // Load Remote Config await template.load();
Node.js'yi bir Cloud Functions'da kullanıyorsanız öğesini getirmek ve yüklemek için eşzamansız
getServerTemplate
kullanabilirsiniz oluşturabilirsiniz:// Initialize server-side Remote Config const rc = getRemoteConfig(firebaseApp); const template = await rc.getServerTemplate();
ile bağlantısı olsa bile uygulamanızın başarılı bir şekilde çalıştığından emin olmak için Remote Config arka uç sunucusu kesintiye uğradıysa her parametreyi uygulamanıza ekleyebilirsiniz. Bunu yapmak için
defaultConfig
initServerTemplate
veyagetServerTemplate
şablon işlevi:const template = rc.initServerTemplate({ defaultConfig: { model_name: "gemini-pro", generation_config: '{"stopSequences": [], "temperature": 0.7, "maxOutputTokens": 512, "topP": 0.1, "topK": 20}', preamble_prompt: "I'm a developer who wants to learn about Firebase and you are a helpful assistant who knows everything there is to know about Firebase!" }, }); // Load Remote Config await template.load();
Şablon yüklendikten sonra
template.evaluate()
öğesini kullanarak parametreleri ve değerleri girin:// Add template parameters to config const config = template.evaluate();
İsteğe bağlı olarak, yüzde koşullar Remote Config şablonunuzda
randomizationId
öğesini tanımlayın ve sağlayın koşullarınızı değerlendirmek için kullanmak istediğiniztemplate.evaluate()
işlevi.Örneğin, bir Firebase kurulumu Kimlik kullanıcı kimliği yerine
randomizationId
veya User-ID olarak Sunucunuzun uygun rastgele gruba eklendiğinden emin olun. İlgili içeriği oluşturmak için kullanılan aşağıdaki örnek temel bir örnektir, ancak farklı bir istemci için farklırandomizationIds
oluşturmak üzere sunucuya kullanıcılara sağlandığından emin olmak için Yüzde durumundaki üyeliklerine göre Remote Config gruplar.Yüzde koşulları hakkında daha fazla bilgi için "Rastgele kullanıcı" bölümüne bakın yüzde oranı.
// Set the randomizationId const randomizationId = "2ac93c28-c459-4760-963d-a3974ec26c04" // Add template parameters to `config`. Evaluates the // template and returns the parameter value assigned to // the group assigned to the {randomizationId}. const config = template.evaluate({ randomizationId });
Ardından, yapılandırma sabit değerinden ihtiyacınız olan parametre değerlerini çıkarın. Tekliflerinizi otomatikleştirmek ve optimize etmek için Remote Config'deki değerleri beklenen değere yayınlamak için
getters
biçimindedir. Şu türler desteklenir:- Boole:
getBoolean
- Nesne:
getValue
- Sayı:
getNumber
- Dize:
getString
Örneğin projenin zamanlamasıyla ilgili Vertex AI'ı kullanarak sunucu ve model ve model parametrelerini değiştirmek istiyorsanız,
model_name
vegenerationConfig
parametrelerini yapılandır. Bir Remote Config'in değerlerine nasıl erişebileceğinizi gösteren bir örnek:// Replace defaults with values from Remote Config. const generationConfig = JSON.parse( config.getString('generation_config')); const is_ai_enabled = config.getBool('is_ai_enabled'); const model = config.getString('model_name'); // Generates a prompt comprised of the Remote Config // parameter and prepends it to the user prompt const prompt = `${config.getString('preamble_prompt')} ${req.query.prompt}`;
- Boole:
Sunucunuz sunucusuz ortam yerine uzun süreliyse şablonu düzenli aralıklarla yeniden yüklemek için
setInterval
kullanın: Google Ads'deki en güncel şablonu düzenli olarak Remote Config sunucusu.
4. Adım: Remote Config'de sunucuya özgü parametre değerlerini ayarlayın
Ardından bir sunucu Remote Config şablonu oluşturup parametreleri ve değerleri ifade eder.
Sunucuya özgü Remote Config şablonu oluşturmak için:
- Firebase konsolunun Remote Config parametrelerini açın. sayfasında ve İstemci/Sunucu seçicisi, Sunucu'yu seçin.
- Remote Config parametrelerini
uygulamanızda tanımladığınız ve değer sağlayan parametreler. Bu
değerleri,
defaultConfig
sunucu uygulamasını döndürdüğünüzde ve değerlendirdiğinizde şablonu oluşturup bu değerleri değişkenlerinize atayın. - İsteğe bağlı olarak, rastgele örneğidir. Yüzde hakkında daha fazla bilgi için görmek için Rastgele kullanıcı yüzde oranı.
- Parametre eklemeyi tamamladığınızda Değişiklikleri yayınla'yı tıklayın.
- Değişiklikleri gözden geçirin ve Değişiklikleri yayınla'yı tekrar tıklayın.
5. Adım: Cloud Functions veya Cloud Run ile dağıtın
Sunucu uygulamanız hafifse ve etkinliğe dayalıysa, kodunuzu Cloud Functions. Örneğin, üretken yapay zeka ile desteklenen karakter diyalogları içeren bir uygulamanız olduğunu varsayalım API (ör. Google AI veya Vertex AI). Bu örnekte, müşterilerinize LLM sunma mantığınızı, uygulamanızın isteğe bağlı olarak çağırdığı bir işleve yerleştirin.
2. nesil Cloud Functions işlevlerini kullanarak Uzak Yapılandırma ile ilgili ayrıntılı bilgi için bkz. Cloud Functions ile sunucu tarafı Remote Config'i kullanın ve Vertex AI hakkında daha fazla bilgi edinin.
Uygulamanızı Cloud Functions ile dağıtma hakkında daha fazla bilgi için başlama: İlk uygulamanızı yazın, test edin ve dağıtın işlevleri hakkında daha fazla bilgi edinin.
Sunucu tarafı Remote Config ile örnek bir çağrılabilir işlevi deneyin ve Uygulama Kontrolü saati: Remote Config ile Vertex AI Gemini API'yi çağırarak Uygulama Kontrolü.
Uygulamanızın uzun süre çalışması amaçlanıyorsa (örneğin, öğeler) Cloud Run'ı kullanmayı düşünebilirsiniz. Dağıtmak için Cloud Run ile uyumlu hale getirmek için Hızlı başlangıç kılavuzu: Node.js hizmetinden Cloud'a Çalıştırın.
Cloud Run ve diğer platformlara yönelik en iyi kullanım alanları hakkında daha fazla bilgi Cloud Functions için Cloud Functions ve Cloud Run: ne zaman kullanılır? bir üstünde diğer.