Question answering

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

Yöntem: models.generateAnswer

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

Uç nokta

yayınla https://generativelanguage.googleapis.com/v1beta/{model=models/*}:generateAnswer

Yol parametreleri

model string

Zorunlu. Temellendirilmiş yanıt oluşturmak için kullanılacak Model öğesinin 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 devam eden sohbetin içeriği. Tek turlu sorgular için yanıtlanması gereken tek bir soru vardır. Çok turlu sorgular için bu, sohbet geçmişini ve soruyu içeren listedeki son Content öğesini içeren yinelenen bir alandır.

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

answerStyle enum (AnswerStyle)

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

safetySettings[] object (SafetySetting)

İsteğe bağlı. Güvenli olmayan içeriği engellemek için kullanılan benzersiz SafetySetting örnekleri listesi.

Bu, GenerateAnswerRequest.contents ve GenerateAnswerResponse.candidate için geçerli olacaktır. 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 içinde belirtilen her 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. HARM_CATEGORY_HATE_SPEECH, HARM_CATEGORY_SEXUALLY_EXPLICIT, HARM_CATEGORY_DANGEROUS_CONTENT, HARM_CATEGORY_HARASSMENT zarar kategorileri desteklenir. Kullanılabilir güvenlik ayarlarıyla ilgili ayrıntılı bilgi için kılavuza göz atın. Yapay zeka uygulamalarınıza güvenlikle ilgili hususları nasıl dahil edeceğinizi öğrenmek için Güvenlik kılavuzu'na da göz atın.

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

İstekte belirtilen metinlerin satır içi olarak sağlandığı bölümler.

semanticRetriever object (SemanticRetrieverConfig)

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

temperature number

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

Değerler [0,0; 1,0] aralığında olabilir. 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 basit yanıtlar alınmasına neden olur. İlişkilendirilmiş soru yanıtlama kullanım alanları için genellikle düşük 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 önerdiği yanıt.

Not: Model, verilen pasajlardan yanıt verilemeyecek olsa bile her zaman gerekçeli bir yanıt vermeye çalışır. Bu durumda, düşük kaliteli veya temelsiz bir yanıtın yanı sıra düşük bir answerableProbability sağlanabilir.

answerableProbability number

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

Düşük answerableProbability değeri, yanıtın kaynaklara dayalı olmayabileceğini gösterir.

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

  • Kullanıcıya "Bu soruyu yanıtlayamadık" şeklinde bir mesaj gösterin.
  • Soruyu dünya bilgisinden yanıtlayan genel amaçlı bir LLM'ye geçin. Bu tür yedeklerin eşiği ve yapısı, kullanım alanlarına göre değişir. 0.5 iyi bir başlangıç eşiğidir.
inputFeedback object (InputFeedback)

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

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

  • GenerateAnswerRequest.content'teki son giriş tarafından belirtilen soru
  • GenerateAnswerRequest.content'teki diğer girişler tarafından belirtilen ileti dizisi geçmişi
  • Topraklama kaynakları (GenerateAnswerRequest.semantic_retriever veya GenerateAnswerRequest.inline_passages)
JSON gösterimi
{
  "answer": {
    object (Candidate)
  },
  "answerableProbability": number,
  "inputFeedback": {
    object (InputFeedback)
  }
}

GroundingPassages

Tekrarlanan pasajlar listesi.

Alanlar
passages[] object (GroundingPassage)

Pasajların listesi.

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

GroundingPassage

Satır içine yerleştirilmiş bir topraklama yapılandırması içeren pasaj.

Alanlar
id string

Temellendirilmiş yanıtlarda bu pasajı ilişkilendirmek için pasajın tanımlayıcısıdır.

content object (Content)

Pasaj içeriği.

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

SemanticRetrieverConfig

Semantic Retriever API kullanılarak oluşturulan bir Corpus veya Document'ten temel içerik almak için yapılandırma.

Alanlar
source string

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

query object (Content)

Zorunlu. Belirtilen kaynaktaki Chunk'leri benzerliğe göre eşleştirmek 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 alakalı Chunk sayısı.

minimumRelevanceScore number

İsteğe bağlı. Aktarılan 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

Gerçeklere dayalı yanıtların stili.

Sıralamalar
ANSWER_STYLE_UNSPECIFIED Belirtilmemiş yanıt stili.
ABSTRACTIVE Özlü 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

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

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ş engellenir ve hiçbir aday döndürülmez. Girdiğiniz ifadeyi 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ılmamaktadır.
SAFETY Giriş, güvenlik nedeniyle engellendi. Hangi güvenlik kategorisinin engellediğini anlamak için safetyRatings öğesini inceleyin.
OTHER Giriş başka nedenlerle engellendi.