Question answering

Semantic Retrieval API, Google'ın altyapısını kullanarak Veriyle Artırılmış Üretim (RAG) sistemleri oluşturmak için barındırılan bir soru yanıtlama hizmeti sunar.

Yöntem: models.generateAnswer

GenerateAnswerRequest girişi verildiğinde modelden temellendirilmiş bir yanıt oluşturur.

Uç nokta

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

Yol parametreleri

model string

Zorunlu. Temellendirilmiş yanıt oluşturmak için kullanılacak Model'nın adı.

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

İstek içeriği

İstek metni aşağıdaki yapıyla birlikte verileri içerir:

Alanlar
contents[] object (Content)

Zorunlu. Model ile yapılan mevcut görüşmenin içeriği. Tek dönüşlü sorgularda bu, yanıtlanacak tek bir sorudur. Çok turlu sorgular için bu, sohbet geçmişini ve soruyu içeren listedeki son Content öğesini içeren tekrar eden bir alandır.

Not: models.generateAnswer yalnızca İngilizce sorguları destekler.

answerStyle enum (AnswerStyle)

Zorunlu. Yanıtların döndürülmesi gereken stil.

safetySettings[] object (SafetySetting)

İsteğe bağlıdır. Güvenli olmayan içeriğin engellenmesi için benzersiz SafetySetting örneklerinin listesi.

Bu değişiklik GenerateAnswerRequest.contents ve GenerateAnswerResponse.candidate üzerinde zorunlu kılınacak. Her SafetyCategory türü için birden fazla ayar olmamalıdır. API, bu ayarlarda belirlenen eşikleri karşılamayan tüm içerikleri ve yanıtları engeller. Bu liste, safetySettings içinde belirtilen her SafetyCategory için varsayılan ayarları geçersiz kılar. Listede belirtilen belirli bir SafetyCategory için SafetySetting yoksa API, bu 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. Kullanılabilir güvenlik ayarları hakkında ayrıntılı bilgi için kılavuza bakın. Ayrıca, yapay zeka uygulamalarınıza güvenlik hususlarını nasıl dahil edeceğinizi öğrenmek için Güvenlik rehberine de göz atın.

grounding_source Union type
Yanıtın dayandırılacağı kaynaklar. grounding_source yalnızca aşağıdakilerden biri olabilir:
inlinePassages object (GroundingPassages)

İstekle birlikte satır içi olarak sağlanan pasajlar.

semanticRetriever object (SemanticRetrieverConfig)

Semantic Retriever API ile oluşturulan kaynaklardan alınan içerikler.

temperature number

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

Değerler [0.0,1.0] aralığında olabilir. 1,0'a daha yakın bir değer, daha çeşitli ve yaratıcı yanıtlar üretirken 0,0'a daha yakın bir değer genellikle modelden daha basit yanıtlar alınmasını sağlar. Genellikle, Atfedilmiş Soru-Cevap kullanım alanları için düşük bir sıcaklık (~0,2) önerilir.

Yanıt gövdesi

Modelin, temellendirilmiş bir yanıt için verdiği yanıt.

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

Alanlar
answer object (Candidate)

Modelin aday yanıtı.

Not: Model, verilen pasajlardan yanıtlanması mümkün olmasa bile her zaman temellendirilmiş bir yanıt vermeye çalışır. Bu durumda, düşük kaliteli veya temelsiz bir yanıtın yanı sıra düşük bir answerableProbability verilebilir.

answerableProbability number

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

Düşük bir answerableProbability, yanıtın kaynaklara dayanmayabileceğini gösterir.

answerableProbability düşük olduğunda şunları yapabilirsiniz:

  • Kullanıcıya "Bu soruyu yanıtlayamadık" şeklinde bir mesaj gösterilir.
  • Soruyu dünya bilgisiyle yanıtlayan genel amaçlı bir LLM'ye geri dönün. Bu tür yedeklerin eşiği ve niteliği, her bir kullanım alanına bağlıdır. 0.5 iyi bir başlangıç eşiğidir.
inputFeedback object (InputFeedback)

Yalnızca çıkış. Soruya verilen model tarafından oluşturulmuş yanıttan ziyade, soruyu yanıtlamak için kullanılan giriş verileriyle ilgili geri bildirimler.

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

  • GenerateAnswerRequest.content içindeki son girişle belirtilen soru
  • GenerateAnswerRequest.content içindeki diğer girişler tarafından belirtilen görüşme geçmişi
  • Temellendirme kaynakları (GenerateAnswerRequest.semantic_retriever veya GenerateAnswerRequest.inline_passages)
JSON gösterimi
{
  "answer": {
    object (Candidate)
  },
  "answerableProbability": number,
  "inputFeedback": {
    object (InputFeedback)
  }
}

GroundingPassages

Tekrarlanan pasaj listesi.

Alanlar
passages[] object (GroundingPassage)

Pasaj listesi.

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

GroundingPassage

Temellendirme yapılandırmasıyla satır içi olarak eklenen pasaj.

Alanlar
id string

Temellendirilmiş yanıtlarda bu pasajın ilişkilendirilmesi için kullanılan pasaj tanımlayıcısı.

content object (Content)

Parçanın içeriği.

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

SemanticRetrieverConfig

Semantic Retriever API kullanılarak oluşturulan bir Corpus veya Document'den temellendirme içeriğini alma yapılandırması.

Alanlar
source string

Zorunlu. Alınacak kaynağın adı. Örnek: corpora/123 veya corpora/123/documents/abc.

query object (Content)

Zorunlu. Belirli bir kaynaktaki Chunk'ları benzerliğe göre eşleştirmek için kullanılacak sorgu.

metadataFilters[] object (MetadataFilter)

İsteğe bağlıdır. Kaynakta Document ve/veya Chunk seçmek için kullanılan filtreler.

maxChunksCount integer

İsteğe bağlıdır. Alınacak maksimum alakalı Chunk sayısı.

minimumRelevanceScore number

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

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

AnswerStyle

Temellendirilmiş yanıtlar için stil.

Sıralamalar
ANSWER_STYLE_UNSPECIFIED Belirtilmemiş yanıt stili.
ABSTRACTIVE Kısa ve öz ancak soyut bir stil.
EXTRACTIVE Çok kısa ve özetleyici bir stil.
VERBOSE Ek ayrıntılar içeren ayrıntılı stil. Yanıt; cümle, paragraf, birden fazla paragraf veya madde işareti şeklinde biçimlendirilebilir.

InputFeedback

Soruya verilen model tarafından oluşturulmuş yanıttan ziyade, soruyu yanıtlamak için kullanılan giriş verileriyle ilgili geri bildirimler.

Alanlar
safetyRatings[] object (SafetyRating)

Girişin güvenliğiyle ilgili derecelendirmeler. Kategori başına en fazla bir puan verilebilir.

blockReason enum (BlockReason)

İsteğe bağlıdır. Ayarlandıysa giriş engellendi ve aday döndürülmedi. Girişi yeniden ifade edin.

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

BlockReason

Girişin neden engellendiğini belirtir.

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