Method: models.generateAnswer

按輸入 GenerateAnswerRequest,從模型產生基準答案。

HTTP 要求

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

這個網址使用 gRPC 轉碼語法。

路徑參數

參數
model

string

必要欄位。要用來產生依據回應的 Model 名稱。

格式:model=models/{model}

要求主體

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

JSON 表示法
{
  "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
}
欄位
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) 用於歸因回答用途。

回應主體

模型給予的依據答案。

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

JSON 表示法
{
  "answer": {
    object (Candidate)
  },
  "answerableProbability": number,
  "inputFeedback": {
    object (InputFeedback)
  }
}
欄位
answer

object (Candidate)

模型中的候選答案。

注意:即使特定段落不太可能獲得答案,模型一律會嘗試提供基準答案。在這種情況下,可能會提供品質不佳或缺乏依據的答案,以及 answerableProbability 偏低的答案。

answerableProbability

number

僅供輸出。模型估算出答案正確且以輸入段落的機率。

可回答率偏低表示答案可能不會基於來源。

answerableProbability 低時,部分用戶端可能會希望:

  • 向使用者顯示「我們無法回答這個問題」的訊息。
  • 改回使用一般用途的 LLM,讓大家從世界知識獲得問題的解答。這些備用項的門檻和性質取決於個別用戶端的用途。0.5 是很好的起始門檻。
inputFeedback

object (InputFeedback)

僅供輸出。與用來回答問題的輸入資料相關的意見回饋,而不是模型為問題產生的回覆。

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

  • GenerateAnswerRequest.content 中最後一個項目指定的問題
  • GenerateAnswerRequest.content」中其他項目指定的對話記錄
  • 依據來源 (GenerateAnswerRequest.semantic_retrieverGenerateAnswerRequest.inline_passages)

授權範圍

需要下列其中一種 OAuth 範圍:

  • 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

詳情請參閱驗證總覽

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 輸入來源因其他原因而遭到封鎖。