Semantic Retrieval API 提供託管問題回答服務,用於使用 Google 的基礎架構建構檢索增強生成 (RAG) 系統。如需詳細操作說明,請參閱語意擷取指南。
方法:models.generateAnswer
- 端點
- 路徑參數
- 要求主體
- 回應主體
- 授權範圍
- GroundingPassages
- GroundingPassage
- SemanticRetrieverConfig
- AnswerStyle
- InputFeedback
- BlockReason
在輸入 GenerateAnswerRequest
的情況下,從模型產生有依據的答案。
端點
post
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
。提供答案的來源。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
偏低時,建議您採取下列做法:
- 顯示「我們無法回答這個問題」的影響訊息以便傳達給使用者
- 改回使用一般用途的大型語言模型,從世界知識回答問題。這類備用方案的門檻和性質會因個別用途而異。「
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 |
輸入內容因其他原因而遭到封鎖。 |