Question answering

方法:models.generateAnswer

在给定输入 GenerateAnswerRequest 的情况下,根据模型生成以事实为依据的答案。

端点

<ph type="x-smartling-placeholder"></ph> 帖子 https://generativelanguage.googleapis.com/v1beta/{model=models/*}:generateAnswer

路径参数

model string

必需。用于生成以事实为依据的回答的 Model 的名称。

格式:model=models/{model}。其格式为 models/{model}

请求正文

请求正文中包含结构如下的数据:

<ph type="x-smartling-placeholder">
</ph> 田野
contents[] object (Content)

必需。当前与模型对话的内容。对于单轮查询,只需回答一个问题即可。对于多轮查询,此字段是重复字段,其中包含对话记录和包含问题的列表的最后一个 Content

注意:models.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 较低表示答案可能不是以信息来源为依据。

answerableProbability 较低时,某些客户端可能希望:

  • 显示提示“我们无法回答该问题”的消息。
  • 回退到通用 LLM,根据世界知识回答此问题。此类后备行为的阈值和性质取决于各个客户的具体用例。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

用于根据有事实依据的答案归因于此段落的段落的标识符。

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 由于其他原因,输入已被屏蔽。