Semantic Retrieval API は、Google のインフラストラクチャを使用して検索拡張生成(RAG)システムを構築するためのホスト型質問応答サービスを提供します。詳細なチュートリアルについては、セマンティック検索ガイドをご覧ください。
メソッド: models.generateAnswer
- エンドポイント
- パスパラメータ
- リクエストの本文
- レスポンスの本文
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
- 認可スコープ
- GroundingPassages
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
- GroundingPassage
- SemanticRetrieverConfig
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
- AnswerStyle
- InputFeedback
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
- BlockReason
入力 GenerateAnswerRequest
が与えられたときに、モデルから根拠のある回答を生成します。
エンドポイント
投稿
https://generativelanguage.googleapis.com/v1beta/{model=models/*}:generateAnswer
パスパラメータ
model
string
必須。グラウンディングされたレスポンスの生成に使用する Model
の名前。
形式: model=models/{model}
。これは models/{model}
の形式になります。
リクエスト本文
リクエストの本文には、次の構造のデータが含まれます。
contents[]
object (Content
)
必須。Model
との現在の会話の内容。シングルターンのクエリの場合、これは回答する 1 つの質問です。マルチターン クエリの場合、これは会話履歴と、質問を含むリストの最後の Content
を含む繰り返しフィールドです。
注: models.generateAnswer
は英語のクエリのみをサポートします。
answerStyle
enum (AnswerStyle
)
必須。回答を返すスタイル。
safetySettings[]
object (SafetySetting
)
省略可。安全でないコンテンツをブロックするための一意の SafetySetting
インスタンスのリスト。
これは GenerateAnswerRequest.contents
と GenerateAnswerResponse.candidate
に適用されます。SafetyCategory
タイプごとに設定が複数あることはできません。API は、これらの設定で設定されたしきい値を満たさないコンテンツとレスポンスをブロックします。このリストは、safetySettings で指定された各 SafetyCategory
のデフォルト設定をオーバーライドします。指定された SafetyCategory
の SafetySetting
がリストで指定された場合、API はそのカテゴリのデフォルトの安全性設定を使用します。有害カテゴリ HARM_CATEGORY_HATE_SPEECH、HARM_CATEGORY_SEXUALLY_EXPLICIT、HARM_CATEGORY_DANGEROUS_CONTENT、HARM_CATEGORY_HARASSMENT をサポートしています。利用可能な安全性設定について詳しくは、ガイドをご覧ください。また、安全に関するガイダンスで、AI アプリケーションに安全上の考慮事項を組み込む方法を確認してください。
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
)
出力専用。質問に対してモデルが生成したレスポンスではなく、質問に回答するために使用される入力データに関するフィードバック。
入力データは次のいずれか 1 つ以上になります。
GenerateAnswerRequest.content
の最後のエントリで指定された質問GenerateAnswerRequest.content
の他のエントリで指定された会話履歴- 根拠づけのソース(
GenerateAnswerRequest.semantic_retriever
またはGenerateAnswerRequest.inline_passages
)
JSON 表現 |
---|
{ "answer": { object ( |
GroundingPassages
パッセージの繰り返しリスト。
passages[]
object (GroundingPassage
)
節のリスト。
JSON 表現 |
---|
{
"passages": [
{
object ( |
GroundingPassage
SemanticRetrieverConfig
Semantic Retriever API を使用して作成された Corpus
または Document
からグラウンディング コンテンツを取得するための構成。
source
string
必須。取得するリソースの名前。例: corpora/123
または corpora/123/documents/abc
。
query
object (Content
)
必須。指定されたリソース内の Chunk
を類似度で照合するために使用するクエリ。
metadataFilters[]
object (MetadataFilter
)
省略可。リソースから Document
または Chunk
を選択するためのフィルタ。
maxChunksCount
integer
省略可。取得する関連する Chunk
の最大数。
minimumRelevanceScore
number
省略可。取得した関連 Chunk
の最小関連性スコア。
JSON 表現 |
---|
{ "source": string, "query": { object ( |
AnswerStyle
根拠のある回答のスタイル。
列挙型 | |
---|---|
ANSWER_STYLE_UNSPECIFIED |
回答スタイルが指定されていません。 |
ABSTRACTIVE |
簡潔で抽象的なスタイル。 |
EXTRACTIVE |
非常に簡潔で抽出的なスタイル。 |
VERBOSE |
詳細を含む詳細なスタイル。レスポンスは、文、段落、複数の段落、箇条書きなどの形式で返されます。 |
InputFeedback
質問に対してモデルが生成したレスポンスではなく、質問に回答するために使用される入力データに関するフィードバック。
safetyRatings[]
object (SafetyRating
)
入力の安全性に関する評価。カテゴリごとに最大 1 つの評価があります。
blockReason
enum (BlockReason
)
省略可。設定されている場合、入力はブロックされ、候補は返されません。入力を言い換えてください。
JSON 表現 |
---|
{ "safetyRatings": [ { object ( |
BlockReason
入力がブロックされた理由を指定します。
列挙型 | |
---|---|
BLOCK_REASON_UNSPECIFIED |
デフォルト値。この値は使用されません。 |
SAFETY |
安全上の理由により、入力がブロックされました。safetyRatings を調べて、どの安全性カテゴリによってブロックされたかを確認します。 |
OTHER |
他の理由により入力がブロックされました。 |