Yayınlanma tarihi: 20 Mayıs 2025
Kullanıcılarınızın ihtiyaçlarını karşılamak için hangi platformu veya donanımı kullanırlarsa kullansınlar, yerleşik Prompt API için Firebase AI Logic ile buluta geri dönüş ayarlayabilirsiniz.
Karma yapay zeka deneyimi oluşturma
Dahili yapay zeka, bir dizi avantaj sunar. Bunlardan en önemlileri:
- Hassas verilerin yerel olarak işlenmesi: Hassas verilerle çalışıyorsanız kullanıcılara uçtan uca şifreleme ile yapay zeka özellikleri sunabilirsiniz.
- Çevrimdışı yapay zeka kullanımı: Kullanıcılarınız, çevrimdışı olduklarında veya bağlantıları kesildiğinde bile yapay zeka özelliklerine erişebilir.
Bu avantajlar bulut uygulamaları için geçerli olmasa da yerleşik yapay zekaya erişemeyen kullanıcılar için sorunsuz bir deneyim sağlayabilirsiniz.
Firebase'i kullanmaya başlama
Firebase projesi oluşturma ve Firebase'i web uygulamanıza ekleme hakkında bilgi edinin.
Firebase projeleri, Firebase'e özgü yapılandırmalar ve hizmetler içeren Google Cloud projeleridir. Google Cloud ve Firebase hakkında daha fazla bilgi edinin.
SDK'yı yükleme
Bu iş akışında npm kullanılır ve modül paketleyiciler veya JavaScript çerçevesi araçları gerekir. Firebase AI Logic, kullanılmayan kodu ortadan kaldırmak ve SDK boyutunu küçültmek için modül paketleyicilerle çalışacak şekilde optimize edilmiştir.
Firebase JS SDK'sını yükleyin:
npm install firebase
Firebase AI Logic'i kurma ve güvenliğini sağlama
Firebase konsolunda Yapay Zeka Hizmetleri > AI Logic'e gidin.
Kurulum iş akışını başlatmak için Başlayın'ı tıklayın.
"Gemini API sağlayıcısı" seçmeniz istendiğinde, ücretsiz olarak hızlıca başlamanıza olanak tanıyan Gemini Developer API'yi seçmenizi öneririz.
Daha sonra dilediğiniz zaman Vertex AI Gemini API'yi ayarlayabilirsiniz (ve faturalandırma şartını karşılayabilirsiniz).
Firebase AI Logic için gerekli API'leri ve ilişkili hizmetleri ayarlamak üzere konsolun iş akışında devam edin.
Temmuz 2026'nın başlarından itibaren iş akışının bu aşamasında Firebase Uygulama Kontrolü, yapay zeka mantığı için otomatik olarak zorunlu kılınacak. Bu, Gemini API'ye doğrudan uygulamanızdan erişildiğinde API'yi korumaya yardımcı olan kritik bir hizmettir. Başlangıç sürecinin bir parçası olarak (bu kılavuzun ilerleyen bölümlerinde adımları inceleyin), Uygulama Kontrolü zorunlu kılındığında yerel geliştirme için Uygulama Kontrolü hata ayıklama sağlayıcısını yapılandırmanız gerekir.
Yerel geliştirme için App Check hata ayıklama sağlayıcısını yapılandırmak üzere bu kılavuzdaki sonraki bölümlere geçin ve ardından Gemini API'ye ilk isteğinizi gönderin.
Yerel geliştirme için App Check hata ayıklama sağlayıcısını yapılandırma
Uygulamanızı localhost etkileşimli olarak (ör. yerel geliştirme sırasında) çalıştırırken hata ayıklama sağlayıcısını kullanmak için:
Hata ayıklama derlemenizde, App Check'i başlatmadan önce
self.FIREBASE_APPCHECK_DEBUG_TOKENdeğerinitrueolarak ayarlayarak hata ayıklama modunu etkinleştirin. Örneğin:self.FIREBASE_APPCHECK_DEBUG_TOKEN = true; initializeAppCheck(app, { /* App Check options */ });Web uygulamanızı yerel olarak ziyaret edin ve tarayıcının geliştirici araçlarını açın. Hata ayıklama konsolunda bir hata ayıklama jetonu görürsünüz:
AppCheck debug token: "123a4567-b89c-12d3-e456-789012345678". You will need to safelist it in the Firebase console for it to work.Hata ayıklama jetonunuzu Uygulama Kontrolü'ne kaydedin:
Firebase konsolunda Güvenlik > App Check > Uygulamalar sekmesine gidin.
Uygulamanızı bulun, taşma menüsünü () tıklayın ve Hata ayıklama jetonlarını yönet'i seçin.
Hata ayıklama jetonunuzu kaydetmek için ekrandaki talimatları uygulayın.
Hata ayıklama sağlayıcısı (yeni bir hata ayıklama jetonunun nasıl alınacağı dahil) hakkında ayrıntılı bilgi için resmi App Check belgelerine göz atın.
Gemini API'ye istek gönderme
Modele metin veya çok formatlı girişle istemde bulunun. Örnekleri bu rehberin aşağıdaki alt bölümlerinde bulabilirsiniz.
Metin istemleri
Modele talimat verirken düz metin kullanabilirsiniz. Örneğin, modelden size bir şaka anlatmasını isteyebilirsiniz.
İsteğin nasıl yönlendirileceğiyle ilgili bazı seçenekleriniz vardır:
getGenerativeModel()işlevindemodedeğerini'prefer_on_device'olarak ayarlayarak yerleşik yapay zekayı varsayılan olarak kullanın. Yerleşik model kullanılamıyorsa istek, sorunsuz bir şekilde bulut modelini kullanmaya geri döner (çevrimiçiyseniz).getGenerativeModel()işlevindemodedeğerini'prefer_in_cloud'olarak ayarlayarak internete bağlıyken varsayılan olarak bulut modelini kullanın. İnternete bağlı değilseniz istek, sorunsuz bir şekilde yerleşik yapay zekayı kullanmaya geri döner.
// Initialize the Google AI service.
const googleAI = getAI(firebaseApp);
// Create a `GenerativeModel` instance with a model that supports your use case.
const model = getGenerativeModel(googleAI, { mode: 'prefer_on_device' });
const prompt = 'Tell me a joke';
const result = await model.generateContentStream(prompt);
for await (const chunk of result.stream) {
const chunkText = chunk.text();
console.log(chunkText);
}
console.log('Complete response', await result.response);
Çok formatlı istemler
Metnin yanı sıra resim veya sesle de istem girebilirsiniz. Modele, bir resmin içeriğini açıklamasını veya bir ses dosyasını transkribe etmesini söyleyebilirsiniz.
Görüntülerin, Firebase FileDataPart nesnesi olarak base64 kodlu dize şeklinde iletilmesi gerekir. Bu işlemi fileToGenerativePart() yardımcı işleviyle yapabilirsiniz.
// Converts a File object to a `FileDataPart` object.
// https://firebase.google.com/docs/reference/js/vertexai.filedatapart
async function fileToGenerativePart(file) {
const base64EncodedDataPromise = new Promise((resolve) => {
const reader = new FileReader();
reader.onload = () => resolve(reader.result.split(',')[1]);
reader.readAsDataURL(file);
});
return {
inlineData: { data: await base64EncodedDataPromise, mimeType: file.type },
};
}
const fileInputEl = document.querySelector('input[type=file]');
fileInputEl.addEventListener('change', async () => {
const prompt = 'Describe the contents of this image.';
const imagePart = await fileToGenerativePart(fileInputEl.files[0]);
// To generate text output, call generateContent with the text and image
const result = await model.generateContentStream([prompt, imagePart]);
for await (const chunk of result.stream) {
const chunkText = chunk.text();
console.log(chunkText);
}
console.log(Complete response: ', await result.response);
});
Demo
Farklı cihazlarda ve tarayıcılarda Firebase AI Logic demosunu ziyaret edin. Model yanıtının yerleşik yapay zeka modelinden mi yoksa buluttan mı geldiğini görebilirsiniz.
Chrome'da desteklenen donanımda, demoda Prompt API ve Gemini Nano kullanılır. Ana belge, JavaScript dosyası ve CSS dosyası için yalnızca 3 istek gönderilir.

Başka bir tarayıcıda veya yerleşik yapay zeka desteği olmayan bir işletim sisteminde, Firebase uç noktasına ek bir istek gönderilir https://firebasevertexai.googleapis.com.

Katılma ve geri bildirim paylaşma
Firebase AI Logic, yapay zeka özelliklerini web uygulamalarınıza entegre etmek için harika bir seçenek olabilir. SDK, Prompt API kullanılamadığında buluta geri dönüş sağlayarak yapay zeka özelliklerinin daha geniş bir erişime ve güvenilirliğe sahip olmasını sağlar.
Bulut uygulamalarının gizlilik ve işlevsellik konusunda yeni beklentiler yarattığını unutmayın. Bu nedenle, kullanıcılarınızı verilerinin nerede işlendiği konusunda bilgilendirmeniz önemlidir.
- Chrome'un uygulamasıyla ilgili geri bildirim için hata raporu veya özellik isteği gönderin.
- Firebase AI Logic ile ilgili geri bildirimler için hata raporu gönderin.