Method: models.generateAnswer

GenerateAnswerRequest girdisi verilen modelden temelli bir yanıt oluşturur.

HTTP isteği

POST https://generativelanguage.googleapis.com/v1beta/{model=models/*}:generateAnswer

URL, gRPC Kod Dönüştürme söz dizimini kullanır.

Yol parametreleri

Parametreler
model

string

Zorunlu. Temelli yanıt oluşturmak için kullanılacak Model öğesinin adı.

Biçim: model=models/{model}.

İstek içeriği

İsteğin gövdesi, aşağıdaki yapıya sahip veriler içerir:

JSON gösterimi
{
  "contents": [
    {
      object (Content)
    }
  ],
  "answerStyle": enum (AnswerStyle),
  "safetySettings": [
    {
      object (SafetySetting)
    }
  ],

  // Union field grounding_source can be only one of the following:
  "inlinePassages": {
    object (GroundingPassages)
  },
  "semanticRetriever": {
    object (SemanticRetrieverConfig)
  }
  // End of list of possible types for union field grounding_source.
  "temperature": number
}
Alanlar
contents[]

object (Content)

Zorunlu. Modelle yapılan geçerli görüşmenin içeriği. Tek dönüşlü sorgularda bu, yanıtlanması gereken tek bir sorudur. Çok dönüşlü sorgularda bu, görüşme geçmişini ve sorunun bulunduğu listedeki son Content alanını içeren tekrarlanan bir alandır.

Not: model.generateAnswer şu anda yalnızca İngilizce sorguları desteklemektedir.

answerStyle

enum (AnswerStyle)

Zorunlu. Yanıtların döndürüleceği stil.

safetySettings[]

object (SafetySetting)

İsteğe bağlı. Güvenli olmayan içerikleri engellemek için benzersiz SafetySetting örneklerinin listesi.

Bu, GenerateAnswerRequest.contents ve GenerateAnswerResponse.candidate'da zorunlu kılınacak. Her SafetyCategory türü için birden fazla ayar olmamalıdır. API, bu ayarlar tarafından belirlenen eşikleri karşılamayan tüm içerikleri ve yanıtları engeller. Bu liste, safetySettings'de belirtilen her bir SafetyCategory için varsayılan ayarları geçersiz kılar. Listede belirli bir SafetyCategory için SafetySetting sağlanmamışsa API, söz konusu kategorinin varsayılan güvenlik ayarını kullanır. Zarar kategorileri: HARM_CATEGORY_HATE_SPEECH, HARM_CATEGORY_SEXUALLY_EXPLICIT, HARM_CATEGORY_DANGEROUS_CONTENT, HARM_CATEGORY_HARASSMENT.

Birleştirme alanı grounding_source. Yanıtı temel alacak kaynaklar. grounding_source şunlardan yalnızca biri olabilir:
inlinePassages

object (GroundingPassages)

İstekle birlikte sunulan pasajlar.

semanticRetriever

object (SemanticRetrieverConfig)

Semantic Retriever API'si aracılığıyla oluşturulan kaynaklardan alınan içerik.

temperature

number

İsteğe bağlı. Çıkışın rastgeleliğini kontrol eder.

Değerler [0,0,1,0] (bu değerler dahil) arasında değişebilir. 1,0'a yakın bir değer daha çeşitli ve yaratıcı yanıtlar üretirken 0,0'a yakın bir değer genellikle modelden daha net yanıtlar verir. İlişkilendirilen Soru-Cevap kullanım alanları için genellikle düşük bir sıcaklık (~0,2) önerilir.

Yanıt gövdesi

Köklü bir yanıt için modelin yanıtı.

Başarılı olursa yanıt metni aşağıdaki yapıyla birlikte verileri içerir:

JSON gösterimi
{
  "answer": {
    object (Candidate)
  },
  "answerableProbability": number,
  "inputFeedback": {
    object (InputFeedback)
  }
}
Alanlar
answer

object (Candidate)

Modelden aday yanıt.

Not: Model, ilgili pasajlar arasından yanıtın yanıtlanabilir olmamasına rağmen her zaman temel alınmış bir yanıt sağlamaya çalışır. Bu durumda, düşük answerableProbability ile birlikte düşük kaliteli veya temelsiz bir yanıt sunulabilir.

answerableProbability

number

Yalnızca çıkış. Modelin, yanıtının doğru olma ve giriş pasajlarına temellendirilme olasılığına dair tahmini.

answerableProbability değerinin düşük olması, yanıtın kaynaklara oturmuş olmayabileceğini gösterir.

answerableProbability düşük olduğunda, bazı müşteriler şunları yapmak isteyebilir:

  • Kullanıcıya "Bu soruyu yanıtlayamadık" ifadesini içeren bir mesaj gösterin.
  • Dünya bilgisinden yola çıkarak soruyu yanıtlayan genel amaçlı LLM'ye geri dönün. Bu tür yedeklerin eşiği ve yapısı, her müşterinin kullanım alanına göre değişir. 0,5 iyi bir başlangıç eşiğidir.
inputFeedback

object (InputFeedback)

Yalnızca çıkış. Soru için model tarafından oluşturulan yanıtın aksine, soruyu yanıtlamak için kullanılan giriş verileriyle ilgili geri bildirim.

"Giriş verileri" aşağıdakilerden biri veya daha fazlası olabilir:

  • Soru, GenerateAnswerRequest.content içindeki son girişte belirtildi
  • GenerateAnswerRequest.content alanındaki diğer girişler tarafından belirtilen görüşme geçmişi
  • Temel kaynakları (GenerateAnswerRequest.semantic_retriever veya GenerateAnswerRequest.inline_passages)

Yetkilendirme kapsamları

Aşağıdaki OAuth kapsamlarından birini gerektirir:

  • https://www.googleapis.com/auth/generative-language
  • https://www.googleapis.com/auth/generative-language.retriever
  • https://www.googleapis.com/auth/generative-language.retriever.readonly
  • https://www.googleapis.com/auth/generative-language.tuning
  • https://www.googleapis.com/auth/generative-language.tuning.readonly

Daha fazla bilgi için Kimlik Doğrulamaya Genel Bakış sayfasına göz atın.

GroundingPassages

Yinelenen pasaj listesi.

JSON gösterimi
{
  "passages": [
    {
      object (GroundingPassage)
    }
  ]
}
Alanlar
passages[]

object (GroundingPassage)

Pasaj listesi.

GroundingPassage

Pasaj, topraklama yapılandırmasıyla satır içine eklendi.

JSON gösterimi
{
  "id": string,
  "content": {
    object (Content)
  }
}
Alanlar
id

string

Bu pasajı temelli yanıtlarla ilişkilendirmek için kullanılan pasajın tanımlayıcısı.

content

object (Content)

Pasaj içeriği.

SemanticRetrieverConfig

Semantic Retriever API'si kullanılarak oluşturulmuş bir Corpus veya Document öğesinden temellendirme içeriğini almak için yapılandırma.

JSON gösterimi
{
  "source": string,
  "query": {
    object (Content)
  },
  "metadataFilters": [
    {
      object (MetadataFilter)
    }
  ],
  "maxChunksCount": integer,
  "minimumRelevanceScore": number
}
Alanlar
source

string

Zorunlu. Alınacak kaynağın adı; ör. corpora/123 veya corpora/123/documents/abc.

query

object (Content)

Zorunlu. Belirtilen kaynakta benzerlik eşleşmesi Chunk için kullanılacak sorgu.

metadataFilters[]

object (MetadataFilter)

İsteğe bağlı. Kaynaktan Document ve/veya Chunk seçmek için filtreler.

maxChunksCount

integer

İsteğe bağlı. Alınacak maksimum ilgili Chunk sayısı.

minimumRelevanceScore

number

İsteğe bağlı. Alınan alakalı Chunk'ler için minimum alaka düzeyi puanı.

AnswerStyle

Temel yanıtlar için stil.

Sıralamalar
ANSWER_STYLE_UNSPECIFIED Belirtilmemiş yanıt stili.
ABSTRACTIVE Kısa ama soyut stil.
EXTRACTIVE Çok kısa ve ilgi çekici bir tarz.
VERBOSE Ekstra ayrıntılar içeren ayrıntılı stil. Yanıt bir cümle, paragraf, birden fazla paragraf veya madde işareti vb. olarak biçimlendirilebilir.

InputFeedback

Soru için model tarafından oluşturulan yanıtın aksine, soruyu yanıtlamak için kullanılan giriş verileriyle ilgili geri bildirim.

JSON gösterimi
{
  "safetyRatings": [
    {
      object (SafetyRating)
    }
  ],
  "blockReason": enum (BlockReason)
}
Alanlar
safetyRatings[]

object (SafetyRating)

Girişin güvenliğine ilişkin derecelendirmeler. Kategori başına en fazla bir derecelendirme vardır.

blockReason

enum (BlockReason)

İsteğe bağlı. Ayarlanırsa giriş engellendi ve hiçbir aday döndürülmez. Girişinizi başka şekilde ifade edin.

BlockReason

Girişin engellenme nedenini belirtir.

Sıralamalar
BLOCK_REASON_UNSPECIFIED Varsayılan değer. Bu değer kullanılmıyor.
SAFETY Giriş, güvenlik nedeniyle engellendi. Hangi güvenlik kategorisinin engellediğini anlamak için safetyRatings aracını inceleyebilirsiniz.
OTHER Giriş, başka nedenlerden dolayı engellendi.