Gemini API simgesini kullanarak birden fazla katılımcının yer aldığı serbest biçimli görüşmeler oluşturabilirsiniz. Vertex AI in Firebase SDK'sı, sohbetin durumunu yöneterek süreci basitleştirir. Bu nedenle, generateContentStream()
veya generateContent()
'den farklı olarak sohbet geçmişini kendiniz saklamanıza gerek yoktur.
Gemini API ile çalışmayla ilgili diğer seçenekler
İsteğe bağlı olarak, Gemini API
Google AI Studio ve Google AI istemci SDK'larını kullanarak ücretsiz erişim elde etme (sınırlamalar dahilinde ve kullanılabilir olduğunda) özelliğinin alternatif "Google AI" sürümünü deneyin. Bu SDK'lar, mobil ve web uygulamalarında yalnızca prototipleme için kullanılmalıdır.Gemini API'ün işleyiş şeklini öğrendikten sonra, Vertex AI in Firebase SDK'larımıza geçin (bu dokümanlar). Bu SDK'lar, mobil ve web uygulamaları için önemli olan birçok ek özelliğe sahiptir. Örneğin, Firebase App Check kullanarak API'yi kötüye kullanımdan koruma ve isteklerde büyük medya dosyalarını destekleme gibi.
İsteğe bağlı olarak Vertex AI Gemini API sunucu tarafı çağrısı yapın (ör. Python, Node.js veya Go ile)
Gemini API için sunucu tarafı Vertex AI SDK'larını, Firebase Genkit veya Firebase Extensions kullanın.
Başlamadan önce
Henüz yapmadıysanız Vertex AI in Firebase SDK'ları için başlangıç kılavuzunu tamamlayın. Aşağıdakilerin tümünü yaptığınızdan emin olun:
Blaze fiyatlandırma planını kullanma ve gerekli API'leri etkinleştirme dahil olmak üzere yeni veya mevcut bir Firebase projesi oluşturun.
Uygulamanızı kaydettirme ve Firebase yapılandırmanızı uygulamanıza ekleme dahil olmak üzere uygulamanızı Firebase'e bağlayın.
SDK'yı ekleyin ve uygulamanızda Vertex AI hizmetini ve üretken modeli başlatın.
Uygulamanızı Firebase'e bağladıktan, SDK'yı ekledikten ve Vertex AI hizmetini ile üretken modeli başlattıktan sonra Gemini API işlevini çağırmaya hazırsınız.
Sohbet istemi isteği gönderme
Çok turlu bir görüşme (sohbet gibi) oluşturmak için startChat()
işlevini çağırarak sohbeti başlatın. Ardından, yeni bir kullanıcı mesajı göndermek için sendMessageStream()
(veya sendMessage()
) simgesini kullanın. Bu işlem, mesajı ve yanıtı sohbet geçmişine de ekler.
Sohbetteki içerikle ilişkili role
için iki olası seçenek vardır:
user
: İstemleri sağlayan rol. Bu değer,sendMessageStream()
(veyasendMessage()
) çağrıları için varsayılan değerdir ve farklı bir rol iletilirse işlev bir istisna oluşturur.model
: Yanıtları sağlayan rol. Bu rol, mevcuthistory
ilestartChat()
'ü çağırırken kullanılabilir.
Yanıtı akış şeklinde mi (sendMessageStream
) yoksa sonucun tamamı oluşturulana kadar mı (sendMessage
) beklemek istediğinizi seçin.
Model oluşturma işleminin sonucunun tamamını beklemek yerine kısmi sonuçları işlemek için akış özelliğini kullanarak daha hızlı etkileşimler elde edebilirsiniz.
Bu örnekte, modelden yanıt akışı sağlamak için startChat()
ve sendMessageStream()
işlevlerinin nasıl kullanılacağı gösterilmektedir:
import FirebaseVertexAI
// Initialize the Vertex AI service
let vertex = VertexAI.vertexAI()
// Initialize the generative model with a model that supports your use case
let model = vertex.generativeModel(modelName: "gemini-2.0-flash")
// Optionally specify existing chat history
let history = [
ModelContent(role: "user", parts: "Hello, I have 2 dogs in my house."),
ModelContent(role: "model", parts: "Great to meet you. What would you like to know?"),
]
// Initialize the chat with optional chat history
let chat = model.startChat(history: history)
// To stream generated text output, call sendMessageStream and pass in the message
let contentStream = try chat.sendMessageStream("How many paws are in my house?")
for try await chunk in contentStream {
if let text = chunk.text {
print(text)
}
}
Alternatif olarak, aktarmak yerine sonucun tamamını bekleyebilirsiniz. Sonuç yalnızca model tüm oluşturma sürecini tamamladıktan sonra döndürülür.
Bu örnekte, yeni bir kullanıcı mesajı göndermek için startChat()
ve sendMessage()
işlevlerinin nasıl kullanılacağı gösterilmektedir:
import FirebaseVertexAI
// Initialize the Vertex AI service
let vertex = VertexAI.vertexAI()
// Initialize the generative model with a model that supports your use case
let model = vertex.generativeModel(modelName: "gemini-2.0-flash")
// Optionally specify existing chat history
let history = [
ModelContent(role: "user", parts: "Hello, I have 2 dogs in my house."),
ModelContent(role: "model", parts: "Great to meet you. What would you like to know?"),
]
// Initialize the chat with optional chat history
let chat = model.startChat(history: history)
// To generate text output, call sendMessage and pass in the message
let response = try await chat.sendMessage("How many paws are in my house?")
print(response.text ?? "No text in response.")
Kullanım alanınıza ve uygulamanıza uygun bir modeli ve isteğe bağlı olarak bir konum nasıl seçeceğinizi öğrenin.
Başka neler yapabilirsiniz?
- Modele uzun istemler göndermeden önce jetonları nasıl sayacağınızı öğrenin.
- Çok modlu isteklerinize büyük dosyalar ekleyebilmeniz ve istemlerde dosya sağlamak için daha yönetilebilir bir çözüme sahip olabilmeniz amacıyla Cloud Storage for Firebase'i ayarlayın. Dosyalar resim, PDF, video ve ses içerebilir.
- Gemini API'ı yetkisiz istemciler tarafından kötüye kullanıma karşı korumak için Firebase App Check oluşturma da dahil olmak üzere üretime hazırlanmaya başlayın. Ayrıca üretim kontrol listesini de inceleyin.
Gemini API'ün diğer özelliklerini deneyin
- Yalnızca metin istemlerinden metin oluşturma
- Çoklu formatlı istemlerden (metin, resim, PDF, video ve ses dahil) metin oluşturun.
- Hem metin hem de çoklu modal istemlerden yapılandırılmış çıkış (JSON gibi) oluşturun.
- Üretken modelleri harici sistemlere ve bilgilere bağlamak için işlev çağırma özelliğini kullanın.
İçerik oluşturmayı nasıl kontrol edeceğinizi öğrenin
- En iyi uygulamalar, stratejiler ve örnek istemler dahil olmak üzere istem tasarımını anlama
- Sıcaklık ve maksimum çıkış jetonu (Gemini için) ya da en boy oranı ve kişi oluşturma (Imagen için) gibi model parametrelerini yapılandırın.
- Zararlı olarak değerlendirilebilecek yanıtlar alma olasılığını ayarlamak için güvenlik ayarlarını kullanın.
Desteklenen modeller hakkında daha fazla bilgi
Çeşitli kullanım alanları için kullanılabilen modeller, kotaları ve fiyatlandırmaları hakkında bilgi edinin.Vertex AI in Firebase ile ilgili deneyiminiz hakkında geri bildirim verme