Yöntem: modeller.generateContent
GenerateContentRequest
girişine sahip modelden bir yanıt oluşturur.
Giriş özellikleri, hassaslaştırılmış modeller de dahil olmak üzere modeller arasında farklılık gösterir. Ayrıntılar için model kılavuzuna ve ayar rehberine bakın.
Uç nokta
yayınlayacağım
https://generativelanguage.googleapis.com/v1beta/{model=models/*}:generateContent
Yol parametreleri
model
string
Zorunlu. Tamamlama oluşturmak için kullanılacak Model
öğesinin adı.
Biçim: name=models/{model}
. models/{model}
biçimindedir.
İstek içeriği
İstek gövdesi, aşağıdaki yapıya sahip verileri içerir:
contents[]
object (Content
)
Zorunlu. Modelle olan mevcut görüşmenin içeriği.
Tek dönüşlü sorgular için bu, tek bir örnektir. Çok dönüşlü sorgular için bu, sohbet geçmişini ve en son isteği içeren tekrarlanan bir alandır.
tools[]
object (Tool
)
İsteğe bağlı. Modelin bir sonraki yanıtı oluşturmak için kullanabileceği Tools
listesi.
Tool
, modelin bilgisi ve kapsamı dışında bir işlem veya işlem kümesi gerçekleştirmek için sistemin harici sistemlerle etkileşime girmesini sağlayan bir kod parçasıdır. Şu anda yalnızca Function
aracı desteklenmektedir.
toolConfig
object (ToolConfig
)
İsteğe bağlı. İstekte belirtilen herhangi bir Tool
için araç yapılandırması.
safetySettings[]
object (SafetySetting
)
İsteğe bağlı. Güvenli olmayan içeriği engellemek için benzersiz SafetySetting
örneklerinin listesi.
Bu değişiklik GenerateContentRequest.contents
ve GenerateContentResponse.candidates
web sitesinde zorunlu kılınacaktır. Her SafetyCategory
türü için birden fazla ayar olmamalıdır. API, bu ayarlarla belirlenen eşikleri karşılamayan tüm içerik ve yanıtları engeller. Bu liste, SafetySettings'te belirtilen her bir SafetyCategory
için varsayılan ayarları geçersiz kılar. Listede sağlanan belirli bir SafetyCategory
için SafetySetting
yoksa API, söz konusu kategori için varsayılan güvenlik ayarını kullanır. HARM_CATEGORY_HATE_SPEECH, HARM_CATEGORY_SEXUALLY_EXPLICIT, HARM_CATEGORY_DANGEROUS_CONTENT, HARM_CATEGORY_HARASSMENT zarar kategorileri desteklenir.
systemInstruction
object (Content
)
İsteğe bağlı. Geliştiricinin sistem talimatını ayarladı. Şu anda yalnızca metin kullanılır.
generationConfig
object (GenerationConfig
)
İsteğe bağlı. Model oluşturma ve çıkışlar için yapılandırma seçenekleri.
cachedContent
string
İsteğe bağlı. Tahmini sunmak için bağlam olarak kullanılan önbelleğe alınmış içeriğin adı. Not: Yalnızca, kullanıcıların önbelleğe alma (ör. hangi içeriğin önbelleğe alınacağı) üzerinde kontrol sahibi olabildiği ve garantili maliyet tasarrufu sağladığı açık önbelleğe alma işleminde kullanılır. Biçim: cachedContents/{cachedContent}
Örnek istek
Metin
Python
Node.js
Kotlin
Swift
Dart
Java
Resim
Python
Node.js
Kotlin
Swift
Dart
Java
Ses
Python
Node.js
Video
Python
Node.js
Sohbet
Python
Node.js
kabuk
Kotlin
Swift
Dart
Java
Önbellek
Python
Node.js
İnce Ayarlanmış Model
Python
JSON Modu
Python
Node.js
Kotlin
Swift
Dart
Java
Kod yürütme
Python
Kotlin
Java
İşlev Çağrısı
Python
Node.js
Kotlin
Swift
Dart
Java
Oluşturma yapılandırması
Python
Node.js
kabuk
Kotlin
Swift
Dart
Java
Güvenlik Ayarları
Python
Node.js
kabuk
Kotlin
Swift
Dart
Java
Sistem Talimatı
Python
Node.js
Kotlin
Swift
Dart
Java
Yanıt gövdesi
Başarılıysa yanıt metni, GenerateContentResponse
öğesinin bir örneğini içerir.
Yöntem: model.streamGenerateContent
GenerateContentRequest
girişine sahip modelden akışlı bir yanıt oluşturur.
Uç nokta
yayınlayacağım
https://generativelanguage.googleapis.com/v1beta/{model=models/*}:streamGenerateContent
Yol parametreleri
model
string
Zorunlu. Tamamlama oluşturmak için kullanılacak Model
öğesinin adı.
Biçim: name=models/{model}
. models/{model}
biçimindedir.
İstek içeriği
İstek gövdesi, aşağıdaki yapıya sahip verileri içerir:
contents[]
object (Content
)
Zorunlu. Modelle olan mevcut görüşmenin içeriği.
Tek dönüşlü sorgular için bu, tek bir örnektir. Çok dönüşlü sorgular için bu, sohbet geçmişini ve en son isteği içeren tekrarlanan bir alandır.
tools[]
object (Tool
)
İsteğe bağlı. Modelin bir sonraki yanıtı oluşturmak için kullanabileceği Tools
listesi.
Tool
, modelin bilgisi ve kapsamı dışında bir işlem veya işlem kümesi gerçekleştirmek için sistemin harici sistemlerle etkileşime girmesini sağlayan bir kod parçasıdır. Şu anda yalnızca Function
aracı desteklenmektedir.
toolConfig
object (ToolConfig
)
İsteğe bağlı. İstekte belirtilen herhangi bir Tool
için araç yapılandırması.
safetySettings[]
object (SafetySetting
)
İsteğe bağlı. Güvenli olmayan içeriği engellemek için benzersiz SafetySetting
örneklerinin listesi.
Bu değişiklik GenerateContentRequest.contents
ve GenerateContentResponse.candidates
web sitesinde zorunlu kılınacaktır. Her SafetyCategory
türü için birden fazla ayar olmamalıdır. API, bu ayarlarla belirlenen eşikleri karşılamayan tüm içerik ve yanıtları engeller. Bu liste, SafetySettings'te belirtilen her bir SafetyCategory
için varsayılan ayarları geçersiz kılar. Listede sağlanan belirli bir SafetyCategory
için SafetySetting
yoksa API, söz konusu kategori için varsayılan güvenlik ayarını kullanır. HARM_CATEGORY_HATE_SPEECH, HARM_CATEGORY_SEXUALLY_EXPLICIT, HARM_CATEGORY_DANGEROUS_CONTENT, HARM_CATEGORY_HARASSMENT zarar kategorileri desteklenir.
systemInstruction
object (Content
)
İsteğe bağlı. Geliştiricinin sistem talimatını ayarladı. Şu anda yalnızca metin kullanılır.
generationConfig
object (GenerationConfig
)
İsteğe bağlı. Model oluşturma ve çıkışlar için yapılandırma seçenekleri.
cachedContent
string
İsteğe bağlı. Tahmini sunmak için bağlam olarak kullanılan önbelleğe alınmış içeriğin adı. Not: Yalnızca, kullanıcıların önbelleğe alma (ör. hangi içeriğin önbelleğe alınacağı) üzerinde kontrol sahibi olabildiği ve garantili maliyet tasarrufu sağladığı açık önbelleğe alma işleminde kullanılır. Biçim: cachedContents/{cachedContent}
Örnek istek
Metin
Python
Node.js
Kotlin
Swift
Dart
Java
Resim
Python
Node.js
Kotlin
Swift
Dart
Java
Video
Python
Node.js
Kotlin
Java
Sohbet
Python
Node.js
kabuk
Kotlin
Swift
Dart
Java
Yanıt gövdesi
Başarılı olursa yanıt gövdesi, GenerateContentResponse
örneklerinden oluşan bir akış içerir.
GenerateContentResponse
Modelin birden çok adayı destekleyen yanıtı.
Güvenlik derecelendirmeleri ve içerik filtrelemeyle ilgili not. Bunlar hem GenerateContentResponse.prompt_feedback
içindeki istem hem de finishReason
ve safetyRatings
kapsamındaki her aday için raporlanır. API sözleşmesine göre: İstenen tüm adaylar döndürülür veya hiç aday döndürülmez. Yalnızca istemde bir sorun olduğunda (bkz. promptFeedback
) hiçbir aday döndürülmez. Her adayla ilgili geri bildirim finishReason
ve safetyRatings
tarihinde bildirilir.
JSON gösterimi |
---|
{ "candidates": [ { object ( |
candidates[]
object (Candidate
)
Modelden Aday yanıtları.
promptFeedback
object (PromptFeedback
)
İstemin içerik filtreleriyle ilgili geri bildirimini döndürür.
usageMetadata
object (UsageMetadata
)
Yalnızca çıkış. Oluşturma istekleriyle ilgili meta veriler jeton kullanımı.
PromptFeedback
İstemin GenerateContentRequest.content
içinde belirttiği geri bildirim meta verisi grubu.
JSON gösterimi |
---|
{ "blockReason": enum ( |
blockReason
enum (BlockReason
)
İsteğe bağlı. Ayarlanırsa istem engellenir ve hiçbir öneri döndürülmez. İsteminizi farklı şekilde ifade edin.
safetyRatings[]
object (SafetyRating
)
İstemin güvenliğiyle ilgili derecelendirmeler. Kategori başına en fazla bir derecelendirme vardır.
BlockReason
İstemin engellenmesinin nedenini belirtir.
Sıralamalar | |
---|---|
BLOCK_REASON_UNSPECIFIED |
Varsayılan değer. Bu değer kullanılmıyor. |
SAFETY |
İstem, güvenlik nedeniyle engellendi. safetyRatings uygulamasını inceleyerek hangi güvenlik kategorisinin engellediğini öğrenebilirsiniz. |
OTHER |
Bilinmeyen nedenlerden dolayı istem engellendi. |
UsageMetadata
Oluşturma isteğinin jeton kullanımıyla ilgili meta veriler.
JSON gösterimi |
---|
{ "promptTokenCount": integer, "cachedContentTokenCount": integer, "candidatesTokenCount": integer, "totalTokenCount": integer } |
promptTokenCount
integer
İstemdeki jeton sayısı. Önbelleğe alınmışContent ayarlandığında bu, yine de toplam etkili istem boyutudur. Örneğin, önbelleğe alınmış içerikteki jeton sayısı da dahildir.
cachedContentTokenCount
integer
İstemin önbelleğe alınan bölümündeki (ör. önbelleğe alınmış içerikteki) jeton sayısı.
candidatesTokenCount
integer
Oluşturulan adaylar genelindeki toplam jeton sayısı.
totalTokenCount
integer
Oluşturma isteği (istem + adaylar) için toplam jeton sayısı.
Aday
- JSON gösterimi
- FinishReason
- GroundingAttribution
- AttributionSourceId
- GroundingPassageId
- SemanticRetrieverChunk
Modelden oluşturulan bir yanıt adayı.
JSON gösterimi |
---|
{ "content": { object ( |
content
object (Content
)
Yalnızca çıkış. Modelden döndürülen, üretilen içerik.
finishReason
enum (FinishReason
)
İsteğe bağlı. Yalnızca çıkış. Modelin jeton oluşturmayı durdurmasının nedeni.
Boşsa model, jetonları oluşturmayı durdurmamıştır.
safetyRatings[]
object (SafetyRating
)
Bir yanıt adayının güvenliğiyle ilgili derecelendirme listesi.
Kategori başına en fazla bir derecelendirme vardır.
citationMetadata
object (CitationMetadata
)
Yalnızca çıkış. Model tarafından oluşturulan adayın alıntı bilgileri.
Bu alan, content
kapsamında yer alan herhangi bir metin için okuma bilgileriyle doldurulabilir. Bunlar "okunan" pasajlardır telif hakkıyla korunan materyallerden yerleştiriyoruz.
tokenCount
integer
Yalnızca çıkış. Bu aday için jeton sayısı.
groundingAttributions[]
object (GroundingAttribution
)
Yalnızca çıkış. Geçerli bir cevaba katkıda bulunan kaynaklarla ilgili ilişkilendirme bilgileri.
Bu alan GenerateAnswer
çağrıları için doldurulur.
index
integer
Yalnızca çıkış. Aday listesindeki adayın dizini.
FinishReason
Modelin jeton oluşturmayı durdurma nedenini tanımlar.
Sıralamalar | |
---|---|
FINISH_REASON_UNSPECIFIED |
Varsayılan değer. Bu değer kullanılmıyor. |
STOP |
Modelin doğal durma noktası veya sağlanan durdurma sırası. |
MAX_TOKENS |
İstekte belirtilen maksimum jeton sayısına ulaşıldı. |
SAFETY |
Aday içeriği, güvenlik nedeniyle işaretlendi. |
RECITATION |
Aday içeriği, hatırlatma nedeniyle işaretlendi. |
LANGUAGE |
Aday içeriği, desteklenmeyen bir dil kullanıldığı için işaretlendi. |
OTHER |
Bilinmeyen neden. |
GroundingAttribution
Bir cevaba katkıda bulunan kaynağın atfı.
JSON gösterimi |
---|
{ "sourceId": { object ( |
sourceId
object (AttributionSourceId
)
Yalnızca çıkış. Bu ilişkilendirmeye katkıda bulunan kaynağın kimliği.
content
object (Content
)
Bu ilişkilendirmeyi oluşturan temel kaynak içeriği.
AttributionSourceId
Bu ilişkilendirmeye katkıda bulunan kaynağın kimliği.
JSON gösterimi |
---|
{ // Union field |
Birleştirme alanı source
.
source
şunlardan yalnızca biri olabilir:
groundingPassage
object (GroundingPassageId
)
Satır içi pasaj için tanımlayıcı.
semanticRetrieverChunk
object (SemanticRetrieverChunk
)
Semantik Retriever aracılığıyla getirilen Chunk
tanımlayıcısı.
GroundingPassageId
GroundingPassage
içindeki bir bölümün tanımlayıcısı.
JSON gösterimi |
---|
{ "passageId": string, "partIndex": integer } |
passageId
string
Yalnızca çıkış. GenerateAnswerRequest
içindeki GroundingPassage.id
ile eşleşen pasajın kimliği.
partIndex
integer
Yalnızca çıkış. GenerateAnswerRequest
GroundingPassage.content
içindeki bölümün dizini.
SemanticRetrieverChunk
SemanticRetrieverConfig
kullanılarak GenerateAnswerRequest
içinde belirtilen Semantik Retriever aracılığıyla alınan Chunk
için tanımlayıcı.
JSON gösterimi |
---|
{ "source": string, "chunk": string } |
source
string
Yalnızca çıkış. İsteğin SemanticRetrieverConfig.source
ile eşleşen kaynağın adı. Örnek: corpora/123
veya corpora/123/documents/abc
chunk
string
Yalnızca çıkış. İlişkilendirilen metni içeren Chunk
öğesinin adı. Örnek: corpora/123/documents/abc/chunks/xyz
CitationMetadata
Bir içeriğin parçasıyla ilgili kaynak atıfları koleksiyonu.
JSON gösterimi |
---|
{
"citationSources": [
{
object ( |
citationSources[]
object (CitationSource
)
Belirli bir yanıtın kaynaklarına yapılan alıntılar.
CitationSource
Belirli bir yanıtın bir kısmı için kaynaktan yapılan alıntı.
JSON gösterimi |
---|
{ "startIndex": integer, "endIndex": integer, "uri": string, "license": string } |
startIndex
integer
İsteğe bağlı. Bu kaynakla ilişkilendirilen yanıt segmentinin başlangıcı.
Dizin, bayt cinsinden ölçülen segmentin başlangıcını gösterir.
endIndex
integer
İsteğe bağlı. İlişkilendirilen segmentin sonu (hariç).
uri
string
İsteğe bağlı. Metnin bir bölümü için kaynak olarak ilişkilendirilen URI.
license
string
İsteğe bağlı. Segmentin kaynağı olarak ilişkilendirilen GitHub projesinin lisansı.
Kod alıntıları için lisans bilgisi gereklidir.
GenerationConfig
Model oluşturma ve çıkışlar için yapılandırma seçenekleri. Tüm parametreler her model için yapılandırılamayabilir.
JSON gösterimi |
---|
{
"stopSequences": [
string
],
"responseMimeType": string,
"responseSchema": {
object ( |
stopSequences[]
string
İsteğe bağlı. Çıkış oluşturmayı durduracak karakter dizileri kümesi (en fazla 5). Belirtilirse API, bir durdurma sırasının ilk görünümünde durur. Durdurma sırası yanıtın bir parçası olarak dahil edilmez.
responseMimeType
string
İsteğe bağlı. Oluşturulan aday metnin çıkış yanıtı mime türü. Desteklenen mime türü: text/plain
: (varsayılan) Metin çıkışı. application/json
: Adaylarda JSON yanıtı.
responseSchema
object (Schema
)
İsteğe bağlı. Yanıt mime türünün şeması olabilirken oluşturulan aday metnin çıkış yanıtı şeması. Şema nesneler, temel öğeler veya diziler olabilir ve OpenAPI şemasının bir alt kümesidir.
Ayarlanırsa uyumlu bir responseMimeType da ayarlanmalıdır. Uyumlu mime türleri: application/json
: JSON yanıtı için şema.
candidateCount
integer
İsteğe bağlı. Döndürülecek oluşturulan yanıtların sayısı.
Şu anda bu değer yalnızca 1 olarak ayarlanabilir. Politika ayarlanmadan bırakılırsa varsayılan olarak 1 değerine ayarlanır.
maxOutputTokens
integer
İsteğe bağlı. Bir adaya dahil edilecek maksimum jeton sayısı.
Not: Varsayılan değer modele göre değişir. getModel
işlevinden döndürülen Model
için Model.output_token_limit
özelliğine bakın.
temperature
number
İsteğe bağlı. Çıkışın rastgeleliğini kontrol eder.
Not: Varsayılan değer modele göre değişir. getModel
işlevinden döndürülen Model
için Model.temperature
özelliğine bakın.
Değerler [0,0, 2,0] arasında değişebilir.
topP
number
İsteğe bağlı. Örnekleme sırasında dikkate alınacak jetonların maksimum kümülatif olasılığı.
Model, birleşik Top-k ve çekirdek örneklemeyi kullanır.
Jetonlar, atanan olasılıklara göre sıralanır. Böylece yalnızca en olası jetonlar dikkate alınır. Top-k örneklemesi, dikkate alınacak maksimum jeton sayısını doğrudan sınırlandırırken Nucleus örneklemesi, kümülatif olasılığa dayalı olarak jeton sayısını sınırlar.
Not: Varsayılan değer modele göre değişir. getModel
işlevinden döndürülen Model
için Model.top_p
özelliğine bakın.
topK
integer
İsteğe bağlı. Örnekleme sırasında dikkate alınacak maksimum jeton sayısı.
Modeller, çekirdek örneklemeyi veya birleşik Top-k ve çekirdek örneklemeyi kullanır. Top-k örneklemesi, en olası topK
jeton grubunu dikkate alır. Çekirdek örneklemeyle çalışan modeller topK ayarına izin vermez.
Not: Varsayılan değer modele göre değişir. getModel
işlevinden döndürülen Model
için Model.top_k
özelliğine bakın. Model
içindeki topK
alanının boş olması, modelin birinci taraf örnekleme uygulamadığını ve isteklerde topK
ayarlamasına izin vermediğini gösterir.
HarmCategory
Puan kategorisi.
Bu kategoriler, geliştiricilerin düzenlemek isteyebileceği çeşitli zarar türlerini kapsar.
Sıralamalar | |
---|---|
HARM_CATEGORY_UNSPECIFIED |
Kategori belirtilmedi. |
HARM_CATEGORY_DEROGATORY |
Kimliği ve/veya korunan özelliği hedefleyen olumsuz ya da zararlı yorumlar. |
HARM_CATEGORY_TOXICITY |
Kaba, saygısız veya küfürlü içerik. |
HARM_CATEGORY_VIOLENCE |
Bir birey veya gruba yönelik şiddet içeren senaryoları veya kanlı görüntülerin genel açıklamalarını açıklar. |
HARM_CATEGORY_SEXUAL |
Cinsel eylemlere veya diğer müstehcen içeriklere referans veriyor. |
HARM_CATEGORY_MEDICAL |
Kontrol edilmemiş tıbbi önerileri tanıtır. |
HARM_CATEGORY_DANGEROUS |
Zararlı eylemleri teşvik eden, kolaylaştıran veya destekleyen içerikler |
HARM_CATEGORY_HARASSMENT |
Taciz edici içerik. |
HARM_CATEGORY_HATE_SPEECH |
Nefret söylemi ve içerik. |
HARM_CATEGORY_SEXUALLY_EXPLICIT |
Müstehcen içerik. |
HARM_CATEGORY_DANGEROUS_CONTENT |
Tehlikeli içerik. |
SafetyRating
Bir içerik için güvenlik derecelendirmesi.
Güvenlik derecelendirmesi, bir içeriğin zarar kategorisini ve o kategorideki zarar olasılığı düzeyini içerir. İçerik çeşitli zarar kategorilerinde güvenlik için sınıflandırılır ve zarar verme olasılığı sınıflandırması burada bulunur.
JSON gösterimi |
---|
{ "category": enum ( |
category
enum (HarmCategory
)
Zorunlu. Bu puanın kategorisi.
probability
enum (HarmProbability
)
Zorunlu. Bu içeriğin zarar görme olasılığı
blocked
boolean
Bu içerik, bu derecelendirme nedeniyle mi engellendi?
HarmProbability
Bir içeriğin zararlı olma olasılığıdır.
Sınıflandırma sistemi, içeriğin güvenli olma olasılığını verir. Bu, içerikte verilen zararın ciddiyetini belirtmez.
Sıralamalar | |
---|---|
HARM_PROBABILITY_UNSPECIFIED |
Olasılık belirtilmemiş. |
NEGLIGIBLE |
İçeriğin güvensiz olma olasılığı çok azdır. |
LOW |
İçeriğin güvenli olmama olasılığı düşüktür. |
MEDIUM |
İçeriğin güvenli olmama olasılığı orta düzeyde. |
HIGH |
İçeriğin güvenli olmama olasılığı yüksek. |
SafetySetting
Güvenlik engelleme davranışını etkileyen güvenlik ayarı.
Bir kategori için güvenlik ayarının geçirilmesi, içeriğin engellenmesi için izin verilen olasılığı değiştirir.
JSON gösterimi |
---|
{ "category": enum ( |
category
enum (HarmCategory
)
Zorunlu. Bu ayarın kategorisi.
threshold
enum (HarmBlockThreshold
)
Zorunlu. Zararın engellendiği olasılık eşiğini kontrol eder.
HarmBlockThreshold
Belirtilen zarar olasılığında veya ötesinde engelleme.
Sıralamalar | |
---|---|
HARM_BLOCK_THRESHOLD_UNSPECIFIED |
Eşik belirtilmedi. |
BLOCK_LOW_AND_ABOVE |
NEGLIGIBLE barındıran içeriklere izin verilir. |
BLOCK_MEDIUM_AND_ABOVE |
NEGLIGIBLE ve LOW pozisyonuna izin verilir. |
BLOCK_ONLY_HIGH |
İHMAL, DÜŞÜK ve ORTA kriterlerine sahip içeriklere izin verilir. |
BLOCK_NONE |
Tüm içeriğe izin verilir. |