語意檢索 API 提供代管的問答服務,可讓您使用 Google 的基礎架構建構檢索增強生成 (RAG) 系統。
方法:models.generateAnswer
- 端點
- 路徑參數
- 要求主體
- 回應主體
- 授權範圍
- GroundingPassages
- GroundingPassage
- SemanticRetrieverConfig
- AnswerStyle
- InputFeedback
- BlockReason
根據輸入內容 GenerateAnswerRequest
生成有憑有據的答案。
端點
貼文https: / /generativelanguage.googleapis.com /v1beta /{model=models /*}:generateAnswer
路徑參數
model
string
必要欄位。用來生成有依據回覆的 Model
名稱。
格式:model=models/{model}
。格式為 models/{model}
。
要求主體
要求主體的資料會採用以下結構:
contents[]
object (Content
)
必要欄位。與 Model
的當前對話內容。如果是單輪查詢,這就是需要回答的單一問題。如果是多輪查詢,這個重複欄位會包含對話記錄,以及清單中最後一個包含問題的 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
Union type
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_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
)
輸入內容安全評分。每個類別最多只能有一個分級。
blockReason
enum (BlockReason
)
(選用步驟) 如果設定了這項屬性,系統會封鎖輸入內容,且不會傳回任何候選字。重新措辭。
JSON 表示法 |
---|
{ "safetyRatings": [ { object ( |
BlockReason
說明輸入內容遭到封鎖的原因。
列舉 | |
---|---|
BLOCK_REASON_UNSPECIFIED |
預設值。這個值不會使用。 |
SAFETY |
輸入內容基於安全原因而遭到封鎖。檢查 safetyRatings ,瞭解是哪個安全類別封鎖了該內容。 |
OTHER |
輸入內容因其他原因遭到封鎖。 |