Method: models.generateAnswer

入力された GenerateAnswerRequest に基づいて、モデルから根拠のある回答を生成します。

HTTP リクエスト

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

この URL は gRPC Transcoding 構文を使用します。

パスパラメータ

パラメータ
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 のデフォルト設定をオーバーライドします。リストで指定された 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)をおすすめします。

レスポンスの本文

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

成功すると、レスポンスの本文に次の構造のデータが含まれます。

JSON 表現
{
  "answer": {
    object (Candidate)
  },
  "answerableProbability": number,
  "inputFeedback": {
    object (InputFeedback)
  }
}
フィールド
answer

object (Candidate)

モデルによる候補回答。

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

answerableProbability

number

出力のみ。回答が正しく、入力文に根拠づけられている確率について、モデルによって推定される値です。

回答可能性が低いということは、回答が情報源に基づいていない可能性があることを示します。

answerableProbability が低い場合、クライアントによっては以下が必要になる場合があります。

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

object (InputFeedback)

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

「Input data」は次のいずれかです。

  • GenerateAnswerRequest.content の最後のエントリで指定された質問
  • GenerateAnswerRequest.content の他のエントリで指定された会話履歴
  • 根拠づけのソース(GenerateAnswerRequest.semantic_retriever または GenerateAnswerRequest.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

根拠のある回答でこのパッセージに帰属するパッセージの識別子。

content

object (Content)

文章のコンテンツ。

SemanticRetrieverConfig

Semantic Retriever API を使用して作成された Corpus または Document から根拠づけのコンテンツを取得するための構成。

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)

入力の安全性に関する評価。1 つのカテゴリにつき最大 1 つの評価があります。

blockReason

enum (BlockReason)

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

BlockReason

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

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