Question answering

メソッド: models.generateAnswer

入力 GenerateAnswerRequest が与えられたときに、モデルから根拠のある回答を生成します。

エンドポイント

<ph type="x-smartling-placeholder"></ph> <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)

必須。モデルとの現在の会話の内容。シングルターンのクエリでは、1 つの問題で答えます。マルチターン クエリの場合、これは会話履歴と、質問を含むリストの最後の Content を含む繰り返しフィールドです。

注: models.generateAnswer は現在、英語のクエリのみをサポートしています。

answerStyle enum (AnswerStyle)

必須。回答を返すスタイル。

safetySettings[] object (SafetySetting)

省略可。安全でないコンテンツをブロックするための一意の SafetySetting インスタンスのリスト。

これは GenerateAnswerRequest.contentsGenerateAnswerResponse.candidate に適用されます。SafetyCategory タイプごとに複数の設定を指定することはできません。API は、これらの設定で設定されたしきい値を満たしていないコンテンツとレスポンスをブロックします。このリストは、safetySettings で指定された各 SafetyCategory のデフォルト設定をオーバーライドします。指定された SafetyCategorySafetySetting がリストで指定された場合、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 程度)をおすすめします。

レスポンスの本文

根拠のある回答に対するモデルからのレスポンス。

成功した場合、レスポンスの本文には次の構造のデータが含まれます。

<ph type="x-smartling-placeholder">
</ph> フィールド
answer object (Candidate)

モデルからの回答候補。

注: モデルは常に、与えられた文章から回答が得られる可能性が低くても、常に根拠のある回答を出そうとします。その場合、質の低い回答や根拠のない回答が、低い answerableProbability とともに提示されることがあります。

answerableProbability number

出力専用。回答が正確で、入力文章に根拠づけられている確率のモデルの推定値。

answerableProbability が低い場合、回答がソースに根拠づけられていない可能性があることを示しています。

answerableProbability が低い場合、一部のクライアントは次のことを要求する可能性があります。

  • 「その質問に回答できませんでした」というメッセージを表示する提供します。
  • 世界中の知識からの質問に答える汎用 LLM に話を戻します。このようなフォールバックのしきい値と性質は、個々のクライアントのユースケースによって異なります。開始時のしきい値は 0.5 が最適です。
inputFeedback object (InputFeedback)

出力専用。質問に対してモデルが生成したレスポンスではなく、質問に回答するために使用される入力データに関するフィードバック。

"入力データ"次のいずれか 1 つ以上を指定できます。

  • GenerateAnswerRequest.content の最後のエントリで指定された質問
  • GenerateAnswerRequest.content の他のエントリで指定された会話履歴
  • 根拠づけのソース(GenerateAnswerRequest.semantic_retriever または GenerateAnswerRequest.inline_passages
JSON 表現
{
  "answer": {
    object (Candidate)
  },
  "answerableProbability": number,
  "inputFeedback": {
    object (InputFeedback)
  }
}

GroundingPassages

パッセージの繰り返しリスト。

JSON 表現
{
  "passages": [
    {
      object (GroundingPassage)
    }
  ]
}
<ph type="x-smartling-placeholder">
</ph> フィールド
passages[] object (GroundingPassage)

文章のリスト。

GroundingPassage

グラウンディング構成にインラインで記述されている文章。

JSON 表現
{
  "id": string,
  "content": {
    object (Content)
  }
}
<ph type="x-smartling-placeholder">
</ph> フィールド
id string

根拠のある回答でこのパッセージをアトリビューションするためのパッセージの識別子。

content object (Content)

文章の内容。

SemanticRetrieverConfig

Semantic Retriever API を使用して作成された Corpus または Document からグラウンディング コンテンツを取得するための構成。

JSON 表現
{
  "source": string,
  "query": {
    object (Content)
  },
  "metadataFilters": [
    {
      object (MetadataFilter)
    }
  ],
  "maxChunksCount": integer,
  "minimumRelevanceScore": number
}
<ph type="x-smartling-placeholder">
</ph> フィールド
source string

必須。取得対象のリソースの名前。例:corpora/123 または corpora/123/documents/abc です。

query object (Content)

必須。指定されたリソースで Chunk の類似性の一致に使用するクエリ。

metadataFilters[] object (MetadataFilter)

省略可。リソースから DocumentChunk を選択するためのフィルタ。

maxChunksCount integer

省略可。取得する関連 Chunk の最大数。

minimumRelevanceScore number

省略可。取得した関連 Chunk の最小関連性スコア。

AnswerStyle

根拠のある回答のスタイル。

列挙型
ANSWER_STYLE_UNSPECIFIED 回答スタイルが指定されていません。
ABSTRACTIVE 簡潔だが抽象的なスタイル。
EXTRACTIVE 非常に簡潔で抜粋的なスタイル。
VERBOSE 詳細情報を含む冗長なスタイル。回答は、文章、段落、複数の段落、箇条書きなどの形式にします。

InputFeedback

質問に対してモデルが生成したレスポンスではなく、質問に回答するために使用される入力データに関するフィードバック。

JSON 表現
{
  "safetyRatings": [
    {
      object (SafetyRating)
    }
  ],
  "blockReason": enum (BlockReason)
}
<ph type="x-smartling-placeholder">
</ph> フィールド
safetyRatings[] object (SafetyRating)

入力の安全性に関する評価。カテゴリごとに最大 1 つの評価を指定できます。

blockReason enum (BlockReason)

省略可。設定されている場合、入力はブロックされ、候補は返されません。入力を言い換えてください。

BlockReason

入力がブロックされた理由を指定します。

列挙型
BLOCK_REASON_UNSPECIFIED デフォルト値。この値は使用されません。
SAFETY 安全上の理由により、入力がブロックされました。safetyRatings を調べると、どの安全性カテゴリでブロックされたかがわかります。
OTHER 他の理由により入力がブロックされました。