Question answering

Semantic Retrieval API, Google'ın altyapısını kullanarak Retrieval Augmented Generation (RAG) sistemleri oluşturmak için barındırılan bir soru yanıtlama hizmeti sağlar. Adım adım açıklamalı ayrıntılı kılavuz için Anlamsal alma kılavuzuna göz atın.

Yöntem: modeller.generateAnswer

GenerateAnswerRequest girişi verilen modelden kesin bir yanıt oluşturur.

Uç nokta

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

Yol parametreleri

model string

Zorunlu. Temelli 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 dönüşlü sorgular için bu yanıtlanacak tek bir sorudur. Çok dönüşlü sorgularda bu, sohbet geçmişini ve soruyu içeren listedeki son Content bölümünü içeren tekrarlanan 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 benzersiz SafetySetting örneklerinin listesi.

Bu değişiklik GenerateAnswerRequest.contents ve GenerateAnswerResponse.candidate 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 içinde belirtilen her 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. Kullanılabilir güvenlik ayarlarıyla ilgili ayrıntılı bilgi için kılavuza bakın. Yapay zeka uygulamalarınızda güvenlikle ilgili dikkat edilmesi gereken noktaları nasıl dahil edeceğinizi öğrenmek için güvenlik rehberini de inceleyin.

Birlik alanı grounding_source. Yanıtı temel alacak 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 ile 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] dahil olmak üzere bu değerler 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 basit yanıtlar alınmasına neden olur. İlişkilendirilmiş Soru-Cevap özelliğinin kullanım alanlarında genellikle düşük bir sıcaklığın (~0,2) olması önerilir.

Yanıt gövdesi

Geçerli bir yanıt için modelin yanıtı.

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

Alanlar
answer object (Candidate)

Modelden alınan olası 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ış. Soruya model tarafından oluşturulan yanıtın aksine, soruyu cevaplamak için kullanılan giriş verileriyle ilgili geri bildirim.

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

  • Soru, GenerateAnswerRequest.content alanındaki son girişte belirtildi
  • GenerateAnswerRequest.content içindeki diğer girişler tarafından belirtilen görüşme 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

Pasaj, topraklama yapılandırmasına satır içi olarak dahil edildi.

Alanlar
id string

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

content object (Content)

Pasajın içeriği.

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

SemanticRetrieverConfig

Semantic Retriever API kullanılarak oluşturulmuş bir Corpus veya Document cihazından topraklama içeriği 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. Belirli bir kaynaktaki Chunk öğelerini 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çimi için filtreler.

maxChunksCount integer

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

minimumRelevanceScore number

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

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

AnswerStyle

Dayalı yanıtlar için stil.

Sıralamalar
ANSWER_STYLE_UNSPECIFIED Belirtilmemiş yanıt stili.
ABSTRACTIVE Özlü ancak soyut bir stil.
EXTRACTIVE Çok kısa ve özetleyici bir stil.
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. şeklinde biçimlendirilebilir.

InputFeedback

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

Alanlar
safetyRatings[] object (SafetyRating)

Girişin güvenliğiyle ilgili 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. Girişi farklı sözcüklerle yaz.

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

BlockReason

Girişin engellenmesinin nedenini belirtir.

Sıralamalar
BLOCK_REASON_UNSPECIFIED Varsayılan değer. Bu değer kullanılmamaktadır.
SAFETY Güvenlik nedeniyle giriş engellendi. Hangi güvenlik kategorisinin engellediğini anlamak için safetyRatings öğesini inceleyin.
OTHER Giriş başka nedenlerle engellendi.