Yayınlanma tarihi: 20 Mayıs 2025
Yerleşik Prompt API, Chrome 138 kararlı sürümünden itibaren Windows, macOS ve Linux'ta Chrome uzantılarında kullanılabilir. API, yakında Chrome'da bir kaynak denemesinde kullanıma sunulacaktır.
API, diğer tarayıcılar, ChromeOS veya mobil işletim sistemleri (Android ya da iOS gibi) tarafından desteklenmez. Tarayıcı bu API'yi desteklese bile karşılanmayan donanım koşulları nedeniyle çalıştırılmayabilir.
Kullanıcıların ihtiyaçlarını karşılamak için kullandıkları platform veya donanım ne olursa olsun Firebase AI Logic ile buluta yedekleme ayarlayabilirsiniz.
Karma yapay zeka deneyimi oluşturma
Yerleşik yapay zeka, birçok avantaj sunar. Bunlardan en önemlileri şunlardır:
- Hassas verilerin yerel olarak işlenmesi: Hassas verilerle çalışıyorsanız uçtan uca şifreleme özelliğine sahip kullanıcılara yapay zeka özellikleri sunabilirsiniz.
- Çevrimdışı yapay zeka kullanımı: Kullanıcılarınız çevrimdışıyken 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ılara sorunsuz bir deneyim sunabilirsiniz.
Firebase'i kullanmaya başlama
Öncelikle bir Firebase projesi oluşturun ve web uygulamanızı kaydedin. Firebase dokümanlarını inceleyerek Firebase JavaScript SDK'sını ayarlamaya devam edin.
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 kodları ortadan kaldırmak (ağaç sallama) ve SDK boyutunu küçültmek için modül paketleyicilerle çalışacak şekilde optimize edilmiştir.
npm install firebase@eap-ai-hybridinference
Firebase AI Logic'i kullanma
Firebase yüklendikten sonra Firebase hizmetlerini kullanmaya başlamak için SDK'yı başlatırsınız.
Firebase uygulamanızı yapılandırma ve başlatma
Bir Firebase projesinde birden fazla Firebase uygulaması olabilir. Firebase uygulaması, ortak yapılandırmayı depolayan ve kimlik doğrulamayı Firebase hizmetleri arasında paylaşan kapsayıcı benzeri bir nesnedir.
Firebase uygulamanız, karma yapay zeka özelliğinizin bulut kısmı olarak işlev görür.
import { initializeApp } from 'firebase/app';
import { getAI, getGenerativeModel } from 'firebase/vertexai';
// TODO: Replace the following with your app's Firebase project configuration.
const firebaseConfig = {
apiKey: '',
authDomain: '',
projectId: '',
storageBucket: '',
messagingSenderId: '',
appId: '',
};
// Initialize `FirebaseApp`.
const firebaseApp = initializeApp(firebaseConfig);
Modele istem gönderme
Başlatıldıktan sonra modeli metin veya çoklu biçimli girişle isteyebilirsiniz.
Metin istemleri
Modele vereceğiniz talimatlar için düz metin kullanabilirsiniz. Örneğin, modelden size şaka anlatmasını isteyebilirsiniz.
getGenerativeModel
işlevinde kullanılabilir olduğunda yerleşik yapay zekanın kullanılmasını sağlamak için mode
'yi prefer_on_device
olarak ayarlayın.
// 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 modlu istemler
Metne ek olarak resim veya sesle de istem gönderebilirsiniz. Modele bir resmin içeriğini tanımlamasını veya ses dosyasını metne dönüştürmesini söyleyebilirsiniz.
Görüntüler, Firebase FileDataPart
nesnesi olarak base64 olarak kodlanmış bir dize olarak iletilmelidir. Bunu 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ı cihaz ve tarayıcılarda Firebase Yapay Zeka Mantığı 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ımlarda demo, Prompt API ve Gemini Nano'yu kullanır. Ana doküman, JavaScript dosyası ve CSS dosyası için yalnızca 3 istek gönderilir.
Yerleşik yapay zeka desteği olmayan başka bir tarayıcıda veya işletim sistemindeyken https://firebasevertexai.googleapis.com
Firebase uç noktasına ek bir istek gönderilir.
Katılma ve geri bildirim paylaşma
Firebase Yapay Zeka Mantığı, yapay zeka özelliklerini web uygulamalarınıza entegre etmek için mükemmel bir seçenek olabilir. SDK, Prompt API kullanılamadığında buluta yedek bir çözüm sunarak yapay zeka özelliklerinin daha geniş kapsamlı erişilebilirliğini ve güvenilirliğini sağlar.
Bulut uygulamalarının gizlilik ve işlevsellik açısından yeni beklentiler oluşturduğunu unutmayın. Bu nedenle, kullanıcılarınızı verilerinin nerede işlendiği konusunda bilgilendirmeniz önemlidir.
- Chrome'un uygulanmasıyla ilgili geri bildirim için hata raporu veya özellik isteği gönderin.
- Firebase Yapay Zeka Mantığı ile ilgili geri bildirim için hata raporu gönderin.