Gemini API, şunlar da dahil olmak üzere çeşitli giriş türlerinden metin çıkışı oluşturabilir: metin, resim, video ve ses. Metin oluşturma işlevini kullanarak Aşağıdakiler dahil:
- Yaratıcı Yazarlık
- Medya öğelerini açıklama veya yorumlama
- Metin tamamlama
- Serbest biçimli metinleri özetleme
- Diller arasında çeviri
- Chatbot'lar
- Özgün kullanım alanlarınız
Bu kılavuzda,
generateContent
ve
streamGenerateContent
API'ler. Yalnızca metin ile metin ve resim girişlerinden metin çıkışına odaklanılır. Alıcı:
video ve ses dosyalarıyla çok modlu istem hakkında daha fazla bilgi edinmek için bkz.
Dosya istemi stratejileri.
Başlamadan önce: Projenizi ve API anahtarınızı oluşturun
Gemini API'yi çağırmadan önce projenizi ayarlamanız ve API anahtarınız.
Yalnızca metin girişinden metin oluştur
Gemini API'yi kullanarak metin oluşturmanın en basit yolu, modeli aşağıdaki örnekte gösterildiği gibi tek bir yalnızca metin girişiyle:
model = genai.GenerativeModel("gemini-1.5-flash")
response = model.generate_content("Write a story about a magic backpack.")
print(response.text)
Bu durumda, "Sihirli sırt çantası hakkında bir hikaye yaz" istemi çıkış örneklerini, sistem talimatlarını veya biçimlendirme bilgilerini içermelidir. Sıfır atış bahsedeceğiz. Bazı kullanım alanlarında tek seferlik veya birkaç çekim istemi kullanıcı beklentileriyle daha uyumlu çıktılar üretebilir. Bazı durumlarda, potansiyel riskleri ele almak için modele yardımcı olmak için sistem talimatlarını anlamanıza yardımcı olur.
Metin ve resim girişinden metin oluştur
Gemini API, metni medya dosyalarıyla birleştiren çok modlu girişleri destekler. Aşağıdaki örnekte, metin ve resim girişlerinden nasıl metin oluşturulacağı gösterilmektedir:
import PIL.Image
model = genai.GenerativeModel("gemini-1.5-flash")
organ = PIL.Image.open(media / "organ.jpg")
response = model.generate_content(["Tell me about this instrument", organ])
print(response.text)
Yalnızca metin içeren istemde olduğu gibi, çok modlu istemde de çeşitli yaklaşımlar kullanılabilir. emin olmanız gerekir. Bu örnekteki çıktıya bağlı olarak isteme adım ekleyin veya talimatlarınızda daha açık olun. Daha fazla bilgi edinmek için Dosya istemi stratejileri bölümünü inceleyin.
Metin akışı oluştur
Varsayılan olarak model, metnin tamamını tamamladıktan sonra yanıt döndürür. oluşturma sürecidir. ve kısmi sonuçları işlemek için akış yöntemini kullanabilirsiniz.
Aşağıdaki örnekte,
streamGenerateContent
yöntemini kullanarak
yalnızca metin giriş isteminden metin oluşturma.
model = genai.GenerativeModel("gemini-1.5-flash")
response = model.generate_content("Write a story about a magic backpack.", stream=True)
for chunk in response:
print(chunk.text)
print("_" * 80)
Etkileşimli sohbet oluşturma
Kullanıcılarınız için etkileşimli sohbet deneyimleri oluşturmak amacıyla Gemini API'yi kullanabilirsiniz. API'nin sohbet özelliğini kullanmak, birkaç tur soru toplamanıza olanak tanır. ve yanıt vererek kullanıcıların adım adım yanıt almasına veya yardım almasına olanak tanır. çok parçalı problemlerde yapılır. Bu özellik, ek bilgi gerektiren uygulamalar chatbot'lar, etkileşimli eğitmenler veya müşteri desteği gibi sürekli iletişim yardımcı olur.
Aşağıdaki kod örneğinde temel bir sohbet uygulaması gösterilmektedir:
model = genai.GenerativeModel("gemini-1.5-flash")
chat = model.start_chat(
history=[
{"role": "user", "parts": "Hello"},
{"role": "model", "parts": "Great to meet you. What would you like to know?"},
]
)
response = chat.send_message("I have 2 dogs in my house.")
print(response.text)
response = chat.send_message("How many paws are in my house?")
print(response.text)
Metin oluşturmayı yapılandırma
Modele gönderdiğiniz her istem
parametrelerini
modelin yanıtları nasıl oluşturacağını kontrol edin. Tekliflerinizi otomatikleştirmek ve optimize etmek için
GenerationConfig
-
yapılandırmalısınız. Parametreleri yapılandırmazsanız model
modele göre farklılık gösterebilen varsayılan seçenekleri kullanır.
Aşağıdaki örnekte, kullanılabilir seçeneklerden bazılarının nasıl yapılandırılacağı gösterilmektedir.
model = genai.GenerativeModel("gemini-1.5-flash")
response = model.generate_content(
"Tell me a story about a magic backpack.",
generation_config=genai.types.GenerationConfig(
# Only one candidate for now.
candidate_count=1,
stop_sequences=["x"],
max_output_tokens=20,
temperature=1.0,
),
)
print(response.text)
candidateCount
, döndürülecek oluşturulan yanıtların sayısını belirtir.
Şu anda bu değer yalnızca 1 olarak ayarlanabilir. Politika ayarlanmadan bırakılırsa varsayılan olarak 1 değeri ayarlanır.
stopSequences
, karakter dizileri kümesini (en fazla 5)
Çıktı üretmeyi durdurun. Belirtilirse API ilk görünümde durur.
bir stop_sequence
. Durdurma sırası,
tıklayın.
maxOutputTokens
, bir adaya dahil edilecek maksimum jeton sayısını belirler.
temperature
, çıkışın rastgeleliğini kontrol eder. Daha fazla öğe için daha yüksek değerler kullanın
yaratıcı yanıtlara, daha deterministik yanıtlar için ise daha düşük değerlere sahiptir. Değerler
[0,0, 2,0] arasında olabilir.
Ayrıca generateContent
çağrıları ayrı ayrı yapılandırılabilir:
response = model.generate_content(
'Write a story about a magic backpack.',
generation_config = genai.GenerationConfig(
max_output_tokens=1000,
temperature=0.1,
)
)
Model oluşturucudaki bağımsız çağrı geçersiz kılma değerlerinde ayarlanan tüm değerler.
Sırada ne var?
Bu kılavuzda,
generateContent
ve
streamGenerateContent
yalnızca metin ile metin ve resim girişlerinden metin çıkışları oluşturun. Daha fazla bilgi edinmek için
aşağıdaki kaynaklara bakın:
- Dosya istemi stratejileri: Gemini API, istemlerin yanı sıra metin, resim, ses ve video verilerini de çok modlu istem olarak adlandırılır.
- Sistem talimatları: Sistem talimatlar, modelin davranışını verilerinize göre yönlendirmenizi sağlar. kullanım alanlarını ele aldık.
- Güvenlik rehberliği: Bazen üretken yapay zeka modeller, hatalı çıkışlar gibi beklenmedik çıkışlar üretir. veya rahatsız edici tavırlar ortaya koyar. Değerlendirme süreci, proje yöneticileri için bu tür çıkışların zarar verme riskini azaltır.