Question answering

方法:model.generateAnswer

根據輸入 GenerateAnswerRequest,從模型產生基礎答案。

端點

則貼文 https://generativelanguage.googleapis.com/v1beta/{model=models/*}:generateAnswer

路徑參數

model string

必要欄位。用於產生基礎回應的 Model 名稱。

格式:model=models/{model}。格式為 models/{model}

要求主體

要求主體的資料會採用以下結構:

欄位
contents[] object (Content)

必要欄位。目前與模型對話的內容。如果是單輪查詢,這個問題需要回答。若是多輪查詢,這是包含對話記錄的重複欄位,以及問題清單中的最後一個 Content

注意:model.generateAnswer 目前僅支援英文查詢。

answerStyle enum (AnswerStyle)

必要欄位。應傳回答案的樣式。

safetySettings[] object (SafetySetting)

選用設定。用於封鎖不安全內容的不重複 SafetySetting 執行個體清單。

這將在 GenerateAnswerRequest.contentsGenerateAnswerResponse.candidate強制執行。每個 SafetyCategory 類型只能有一項設定。如果內容和回應未達到這些設定所設門檻,API 就會封鎖相關內容。這份清單會覆寫 safetySettings 中所指定的各項 SafetyCategory 預設設定。如果清單中的指定 SafetyCategory 沒有任何 SafetySetting,API 會使用該類別的預設安全性設定。支援有害類別 HARM_CATEGORY_HATE_SPEECH、HARM_CATEGORY_SEXUALLY_EXPLICIT、HARM_CATEGORY_DANGEROUS_CONTENT、HARM_CATEGORY_HARASSMENT。

聯集欄位 grounding_source。提供答案的來源。grounding_source 只能採用下列其中一種設定:
inlinePassages object (GroundingPassages)

內嵌在要求中提供的段落。

semanticRetriever object (SemanticRetrieverConfig)

從使用 Semantic Retriever API 建立的資源中擷取的內容。

temperature number

選用設定。控管輸出內容的隨機程度。

值的範圍介於 [0.0,1.0] (含首尾)。如果值越接近 1.0,產生的回應就越多元且具有創意;如果值越接近 0.0,模型發出的回應通常較為簡單。針對已歸因問題解答的用途,通常建議設定較低的隨機性參數 (約 0.2)。

回應主體

模型針對基準回答的回應。

如果成功,回應主體即會包含具有以下結構的資料:

欄位
answer object (Candidate)

模型中的候選答案。

注意:即使指定的段落不太可能回答答案,模型「一律」會嘗試提供基礎答案。在這種情況下,可能會提供品質低劣或毫無基礎的答案,以及 answerableProbability 偏低。

answerableProbability number

僅供輸出。模型根據輸入段落,對答案正確並採用的機率預估值。

如果「可解答機率」偏低,則表示該答案可能並非堅實採用。

answerableProbability 偏低時,部分客戶可能會想:

  • 顯示「我們無法回答這個問題」的影響訊息以便傳達給使用者
  • 改回使用一般用途的大型語言模型,從世界知識回答問題。這類備用的門檻和性質取決於個別客戶的應用實例。0.5 是很好的起始門檻。
inputFeedback object (InputFeedback)

僅供輸出。與用於回答問題的輸入資料相關的意見回饋,而非模型產生的問題回應。

「輸入資料」可以是下列一或多個項目:

  • 上次在 GenerateAnswerRequest.content 中指定的問題
  • GenerateAnswerRequest.content」中的其他項目指定的對話記錄
  • 依據來源 (GenerateAnswerRequest.semantic_retrieverGenerateAnswerRequest.inline_passages)
JSON 表示法
{
  "answer": {
    object (Candidate)
  },
  "answerableProbability": number,
  "inputFeedback": {
    object (InputFeedback)
  }
}

GroundingPassages

重複清單。

JSON 表示法
{
  "passages": [
    {
      object (GroundingPassage)
    }
  ]
}
欄位
passages[] object (GroundingPassage)

段落清單。

GroundingPassage

內嵌於接地設定中的段落。

JSON 表示法
{
  "id": string,
  "content": {
    object (Content)
  }
}
欄位
id string

用於在基礎答案中註明這個段落的段落 ID。

content object (Content)

段落內容。

SemanticRetrieverConfig

用於從使用 Semantic Retriever API 建立的 CorpusDocument 擷取依據來源內容的設定。

JSON 表示法
{
  "source": string,
  "query": {
    object (Content)
  },
  "metadataFilters": [
    {
      object (MetadataFilter)
    }
  ],
  "maxChunksCount": integer,
  "minimumRelevanceScore": number
}
欄位
source string

必要欄位。擷取的資源名稱,例如corpora/123 或 corpora/123/documents/abc。

query object (Content)

必要欄位。用於指定資源中 Chunk 相似度比對的查詢。

metadataFilters[] object (MetadataFilter)

選用設定。用於從資源中選取 Document 和/或 Chunk 的篩選器。

maxChunksCount integer

選用設定。要擷取的相關 Chunk 數量上限。

minimumRelevanceScore number

選用設定。擷取相關Chunk的最低關聯性分數。

AnswerStyle

基準答案的樣式。

列舉
ANSWER_STYLE_UNSPECIFIED 未指定的答案樣式。
ABSTRACTIVE 簡潔但抽象風格。
EXTRACTIVE 相當簡短扼要,展現特有風格。
VERBOSE 詳細樣式,包括額外細節。回覆內容可以是句子、段落、多個段落或項目符號等。

InputFeedback

與用於回答問題的輸入資料相關的意見回饋,而非模型產生的問題回應。

JSON 表示法
{
  "safetyRatings": [
    {
      object (SafetyRating)
    }
  ],
  "blockReason": enum (BlockReason)
}
欄位
safetyRatings[] object (SafetyRating)

為確保作業安全,評分。每個類別最多有一個評分。

blockReason enum (BlockReason)

選用設定。如已設定,系統會封鎖輸入值,且不會傳回任何候選鍵。請修改輸入內容。

BlockReason

說明輸入內容遭到封鎖的原因。

列舉
BLOCK_REASON_UNSPECIFIED 預設值。這個值未使用。
SAFETY 基於安全考量,輸入內容遭到封鎖。您可以查看「safetyRatings」以瞭解哪個安全性類別遭到封鎖。
OTHER 輸入內容因其他原因而遭到封鎖。