- 資源:Evaluation
- EvaluationSpec
- ImageQuery
- FacetSpec
- FacetKey
- 間隔
- QueryExpansionSpec
- 條件
- SpellCorrectionSpec
- 眾數
- EmbeddingSpec
- EmbeddingVector
- RankingExpressionBackend
- NaturalLanguageQueryUnderstandingSpec
- FilterExtractionCondition
- ExtractedFilterBehavior
- SearchAsYouTypeSpec
- 條件
- DisplaySpec
- MatchHighlightingCondition
- SessionSpec
- RelevanceThreshold
- RelevanceScoreSpec
- SearchAddonSpec
- QuerySetSpec
- QualityMetrics
- TopkMetrics
- 狀態
- 方法
資源:Evaluation
評估是指評估程序的單次執行作業。會封裝評估狀態和產生的資料。
| JSON 表示法 | 
|---|
| { "name": string, "evaluationSpec": { object ( | 
| 欄位 | |
|---|---|
| name | 
 ID。 這個欄位必須是 UTF-8 編碼的字串,長度上限為 1024 個字元。 | 
| evaluationSpec | 
 這是必要旗標,評估規格。 | 
| qualityMetrics | 
 僅供輸出。評估作業產生的指標,在  只有在評估狀態為「SUCCEEDED」時才會填入資料。 | 
| state | 
 僅供輸出。評估狀態。 | 
| error | 
 僅供輸出。評估期間發生的錯誤。只有在評估狀態為 FAILED 時才會填入。 | 
| createTime | 
 僅供輸出。 使用 RFC 3339,產生的輸出內容一律會經過 Z 標準化,並使用 0、3、6 或 9 個小數點後位數。系統也接受「Z」以外的偏移量。例如: | 
| endTime | 
 僅供輸出。完成  使用 RFC 3339,產生的輸出內容一律會經過 Z 標準化,並使用 0、3、6 或 9 個小數點後位數。系統也接受「Z」以外的偏移量。例如: | 
| errorSamples[] | 
 僅供輸出。處理要求時發生的錯誤範例。 | 
EvaluationSpec
說明評估規格。
| JSON 表示法 | 
|---|
| { "querySetSpec": { object ( | 
| 欄位 | |
|---|---|
| querySetSpec | 
 (選用步驟) 查詢集的規格。 | 
| 聯集欄位 search_spec。搜尋規格。search_spec只能是下列其中一項: | |
| searchRequest | 
 這是必要旗標,用於執行評估的搜尋要求。 系統僅支援 SearchRequest 中的下列欄位;如果提供任何其他欄位,系統會傳回 UNSUPPORTED 錯誤: | 
ImageQuery
指定圖片查詢輸入內容。
| JSON 表示法 | 
|---|
| { // Union field | 
| 欄位 | |
|---|---|
| 聯集欄位  
 | |
| imageBytes | 
 Base64 編碼的圖片位元組。支援的圖片格式:JPEG、PNG 和 BMP。 | 
FacetSpec
執行多面向搜尋的 facet 規格。
| JSON 表示法 | 
|---|
| {
  "facetKey": {
    object ( | 
| 欄位 | |
|---|---|
| facetKey | 
 這是必要旗標,構面鍵規格。 | 
| limit | 
 這個 Facet 傳回的 Facet 值數量上限。如未指定,則預設值為 20。允許的最大值為 300。如果值超過 300,系統會強制設為 300。在醫療照護搜尋中進行匯總時,如果 [FacetKey.key] 是「healthcare_aggregation_key」,系統會將限制內部覆寫為 10,000,無論您在此設定的值為何。 如果這個欄位為負數,系統會傳回  | 
| excludedFilterKeys[] | 
 分層檢索時要排除的金鑰清單。 根據預設,除非  在這個欄位中列出 Facet 鍵,即使 Facet 值已從搜尋結果中篩除,仍會顯示為 Facet 結果。使用這個欄位不會影響傳回的搜尋結果。 舉例來說,假設有 100 份文件的顏色 Facet 為「紅色」,200 份文件的顏色 Facet 為「藍色」。如果查詢包含「color:ANY("Red")」篩選器,且「color」為  如果「color」列在「excludedFilterKeys」中,查詢會傳回 Facet 值「Red」(計數為 100) 和「Blue」(計數為 200),因為「color」鍵現在已從篩選器中排除。由於這個欄位不會影響搜尋結果,因此搜尋結果仍會正確篩選,只傳回「紅色」文件。 最多可輸入 100 個值。否則,系統會傳回  | 
| enableDynamicPosition | 
 啟用這個 facet 的動態位置。如設為 true,系統會自動決定這個側面的位置,以及回應中的所有側面。如果啟用動態 facet,系統會一併排序。如果設為 false,回應中這個 facet 的位置會與要求中的位置相同,且會排在啟用動態位置的 facet 和所有動態 facet 之前。 舉例來說,您可能希望一律在回應中傳回評分層面,但不一定會一律在頂端顯示評分層面。在這種情況下,您可以將 enableDynamicPosition 設為 true,讓系統自動決定回應中評分構面的位置。 再舉一例,假設要求中包含下列構面: 
 此外,您也啟用了動態 facet,這會產生 facet  | 
FacetKey
指定如何計算側邊。
| JSON 表示法 | 
|---|
| {
  "key": string,
  "intervals": [
    {
      object ( | 
| 欄位 | |
|---|---|
| key | 
 這是必要旗標, | 
| intervals[] | 
 只有在值應分組到間隔時才設定。必須為具有數值的 facet 設定。不得為含有文字值的 facet 設定。間隔數上限為 30。 | 
| restrictedValues[] | 
 只取得指定受限值的 facet。僅支援文字欄位。舉例來說,假設「類別」有三個值:「動作 > 2022」、「動作 > 2021」和「科幻 > 2022」。如果將「restrictedValues」設為「Action > 2022」,則「category」層面只會包含「Action > 2022」。僅支援文字欄位。最多 10 個。 | 
| prefixes[] | 
 只取得以指定字串前置字元開頭的側欄值。舉例來說,假設「類別」有三個值:「動作 > 2022」、「動作 > 2021」和「科幻 > 2022」。如果將「前置字元」設為「動作」,則「類別」層面只會包含「動作 > 2022」和「動作 > 2021」。僅支援文字欄位。最多 10 個。 | 
| contains[] | 
 只取得包含指定字串的側滑選單值。舉例來說,假設「類別」有三個值:「動作 > 2022」、「動作 > 2021」和「科幻 > 2022」。如果將「包含」設為「2022」,則「類別」層面只會包含「動作 > 2022」和「科幻 > 2022」。僅支援文字欄位。最多 10 個。 | 
| caseInsensitive | 
 如果使用前置字元或包含字元取得分面值時,分面鍵不區分大小寫,則為 True;否則為 False。 | 
| orderBy | 
 傳回文件的順序。 允許的值包括: 
 如未設定,文字值會以自然順序排序;數值間隔則會以  | 
時間間隔
浮點間隔。
| JSON 表示法 | 
|---|
| { // Union field | 
| 欄位 | |
|---|---|
| 聯集欄位  這個欄位不得大於最大值。否則,系統會傳回  | |
| minimum | 
 包含下限。 | 
| exclusiveMinimum | 
 不含下限。 | 
| 聯集欄位  這個欄位不得小於最小值。否則,系統會傳回  | |
| maximum | 
 包含上限。 | 
| exclusiveMaximum | 
 上限 (不含)。 | 
QueryExpansionSpec
規格,用於判斷查詢擴展的條件。
| JSON 表示法 | 
|---|
| {
  "condition": enum ( | 
| 欄位 | |
|---|---|
| condition | 
 查詢擴充的條件。預設值為  | 
| pinUnexpandedResults | 
 是否要固定未展開的結果。如果將這個欄位設為 true,搜尋結果一律會先顯示未使用擴充功能的產品,再顯示擴充結果。 | 
條件
列舉,說明查詢擴展應在何種條件下發生。
| 列舉 | |
|---|---|
| CONDITION_UNSPECIFIED | 未指定查詢擴充條件。在此情況下,伺服器行為預設為 Condition.DISABLED。 | 
| DISABLED | 已停用查詢擴充功能。即使 SearchResponse.total_size為零,系統還是只會使用完全相符的搜尋查詢。 | 
| AUTO | 由 Search API 建立的自動查詢擴充。 | 
SpellCorrectionSpec
查詢拼字校正的規格。
| JSON 表示法 | 
|---|
| {
  "mode": enum ( | 
| 欄位 | |
|---|---|
| mode | 
 拼字修正取代原始搜尋查詢的模式。預設值為  | 
模式
列舉,說明應以哪種模式進行拼字修正。
| 列舉 | |
|---|---|
| MODE_UNSPECIFIED | 未指定拼字校正模式。在此情況下,伺服器行為預設為 Mode.AUTO。 | 
| SUGGESTION_ONLY | 搜尋 API 會嘗試提供拼字建議。如果找到建議,就會放在 SearchResponse.corrected_query中。系統不會將拼字建議做為搜尋查詢。 | 
| AUTO | 由 Search API 提供的自動拼寫校正功能。如果系統找到修正後的查詢,就會根據該查詢進行搜尋。 | 
EmbeddingSpec
這項規格會使用自訂查詢嵌入向量,執行語意文件擷取作業。
| JSON 表示法 | 
|---|
| {
  "embeddingVectors": [
    {
      object ( | 
| 欄位 | |
|---|---|
| embeddingVectors[] | 
 用於檢索的嵌入向量。最多只能有 1 個。 | 
EmbeddingVector
嵌入向量。
| JSON 表示法 | 
|---|
| { "fieldPath": string, "vector": [ number ] } | 
| 欄位 | |
|---|---|
| fieldPath | 
 在結構定義中嵌入欄位路徑。 | 
| vector[] | 
 查詢嵌入向量。 | 
RankingExpressionBackend
用於排名運算式評估的後端。
| 列舉 | |
|---|---|
| RANKING_EXPRESSION_BACKEND_UNSPECIFIED | 未指定/不明值的預設選項。 | 
| BYOE | 已淘汰:請改用  | 
| CLEARBOX | 已淘汰:請改用  | 
| RANK_BY_EMBEDDING | 使用自訂嵌入模型排序,這是評估排序運算式的預設方式。 | 
| RANK_BY_FORMULA | 依自訂公式排名。 | 
NaturalLanguageQueryUnderstandingSpec
規格:為搜尋要求啟用自然語言理解功能。
| JSON 表示法 | 
|---|
| { "filterExtractionCondition": enum ( | 
| 欄位 | |
|---|---|
| filterExtractionCondition | 
 篩選器擷取作業的發生條件。伺服器行為預設為  | 
| geoSearchQueryDetectionFieldNames[] | 
 用於位置篩選的欄位名稱,系統會在自然語言搜尋查詢中偵測到地理位置篩選條件。只有在 FilterExtractionCondition 設為  如果設定此欄位,系統會覆寫  | 
| extractedFilterBehavior | 
 (選用步驟) 控制如何將擷取的篩選器套用至搜尋。預設行為取決於要求。如果是單一資料儲存庫結構化搜尋,預設值為  | 
| allowedFieldNames[] | 
 (選用步驟) 可用於擷取自然語言篩選條件的欄位許可清單。如果未指定,所有可建立索引的欄位預設都會符合自然語言篩選器擷取條件 (但不保證會使用)。如果 allowedFieldNames 中指定了任何欄位,只有在結構定義中標示為可建立索引,且位於允許清單中的欄位,才能擷取自然語言篩選器。注意:目前不支援多資料存放區搜尋,系統會忽略這項設定。 | 
FilterExtractionCondition
列舉,說明應在何種條件下擷取篩選器。
| 列舉 | |
|---|---|
| CONDITION_UNSPECIFIED | 伺服器行為預設為 DISABLED。 | 
| DISABLED | 停用 NL 篩選器擷取作業。 | 
| ENABLED | 啟用 NL 篩選器擷取功能。 | 
ExtractedFilterBehavior
列舉說明如何將擷取的篩選器套用至搜尋。
| 列舉 | |
|---|---|
| EXTRACTED_FILTER_BEHAVIOR_UNSPECIFIED | EXTRACTED_FILTER_BEHAVIOR_UNSPECIFIED會使用預設行為擷取篩選器。如果是單一資料儲存區搜尋,預設會套用硬性篩選器。如果是多資料儲存庫搜尋,預設會套用為軟性加成。 | 
| HARD_FILTER | 將所有擷取的篩選條件套用至結果,做為硬性篩選條件。如果結果未通過擷取的篩選條件,就不會傳回結果集。 | 
| SOFT_BOOST | 將所有擷取的篩選條件套用為軟性加成。通過篩選條件的結果會在結果集中獲得較高的排名。 | 
SearchAsYouTypeSpec
在搜尋要求中輸入搜尋內容時的規格。
| JSON 表示法 | 
|---|
| {
  "condition": enum ( | 
| 欄位 | |
|---|---|
| condition | 
 即時搜尋功能應執行的條件。預設值為  | 
條件
列舉,說明應在何種條件下進行輸入時搜尋。
| 列舉 | |
|---|---|
| CONDITION_UNSPECIFIED | 伺服器行為預設為 Condition.DISABLED。 | 
| DISABLED | 停用即時搜尋功能。 | 
| ENABLED | 啟用即時搜尋功能。 | 
| AUTO | 自動在「邊打邊搜尋」和標準搜尋模式之間切換,非常適合單一 API 實作 (例如去抖動)。 | 
DisplaySpec
指定顯示功能,例如相符項目醒目顯示。
| JSON 表示法 | 
|---|
| {
  "matchHighlightingCondition": enum ( | 
| 欄位 | |
|---|---|
| matchHighlightingCondition | 
 應醒目顯示相符項目的條件。 | 
MatchHighlightingCondition
列舉項目,說明在何種條件下應醒目顯示相符項目。
| 列舉 | |
|---|---|
| MATCH_HIGHLIGHTING_CONDITION_UNSPECIFIED | 伺服器行為與 MATCH_HIGHLIGHTING_DISABLED相同。 | 
| MATCH_HIGHLIGHTING_DISABLED | 停用所有文件的相符內容醒目顯示功能。 | 
| MATCH_HIGHLIGHTING_ENABLED | 在所有文件中醒目顯示相符內容。 | 
SessionSpec
工作階段規格。
多輪搜尋功能目前處於不公開正式發布階段。在公開發布這項功能前,請改用 v1alpha 或 v1beta 版。您也可以透過 Google 支援團隊申請加入允許清單。
| JSON 表示法 | 
|---|
| { "queryId": string, "searchResultPersistenceCount": integer } | 
| 欄位 | |
|---|---|
| queryId | 
 如果已設定,搜尋結果會儲存在這個查詢 ID 指定的「回合」。 示例:假設工作階段如下: session { name: ".../sessions/xxx" turns { query { text: "What is foo?" queryId: ".../questions/yyy" } answer: "Foo is ..." } turns { query { text: "How about bar then?" queryId: ".../questions/zzz" } } } 使用者可以透過類似下列要求的形式呼叫 /search API: session: ".../sessions/xxx" sessionSpec { queryId: ".../questions/zzz" } 接著,API 會儲存搜尋結果,並與最後一輪對話建立關聯。後續的 /answer API 呼叫 (指定工作階段 ID 和查詢 ID) 可以使用儲存的搜尋結果。此外,您也可以使用相同的會期 ID 和查詢 ID,平行呼叫 /search 和 /answer。 | 
| searchResultPersistenceCount | 
 要保留的最相關搜尋結果數量。後續的 /answer API 呼叫可使用保存的搜尋結果。 這個欄位與  文件模式最多 10 個結果,區塊模式最多 50 個結果。 | 
RelevanceThreshold
搜尋結果的關聯性門檻。關聯性門檻越高,顯示的相關結果就越多,但傳回的結果數會減少。
| 列舉 | |
|---|---|
| RELEVANCE_THRESHOLD_UNSPECIFIED | 預設值。在這種情況下,伺服器行為會預設為 Google 定義的門檻。 | 
| LOWEST | 最低關聯性門檻。 | 
| LOW | 關聯性門檻較低。 | 
| MEDIUM | 中等關聯性門檻。 | 
| HIGH | 高關聯性門檻。 | 
RelevanceScoreSpec
傳回文件關聯分數的規格。
| JSON 表示法 | 
|---|
| { "returnRelevanceScore": boolean } | 
| 欄位 | |
|---|---|
| returnRelevanceScore | 
 (選用步驟) 是否要傳回搜尋結果的關聯性分數。分數越高,表示文件與查詢的關聯性越高。 | 
SearchAddonSpec
根據新的重新定價模式,SearchAddonSpec 用於停用搜尋的外掛程式。如果未指定 SearchAddonSpec,系統預設會視為客戶要在適用的位置啟用這些項目。
| JSON 表示法 | 
|---|
| { "disableSemanticAddOn": boolean, "disableKpiPersonalizationAddOn": boolean, "disableGenerativeAnswerAddOn": boolean } | 
| 欄位 | |
|---|---|
| disableSemanticAddOn | 
 (選用步驟) 如為 true,語意外掛程式會停用。語意外掛程式包含嵌入和 Jetstream。 | 
| disableKpiPersonalizationAddOn | 
 (選用步驟) 如為 true,系統會停用事件重新排序和個人化功能,以盡量提升 KPI 和個人化結果。 | 
| disableGenerativeAnswerAddOn | 
 (選用步驟) 如為 true,系統會停用生成式答案外掛程式。生成式答案外掛程式包含自然語言篩選器和簡單答案。 | 
QuerySetSpec
說明查詢集的規格。
| JSON 表示法 | 
|---|
| { "sampleQuerySet": string } | 
| 欄位 | |
|---|---|
| sampleQuerySet | 
 (選用步驟) 用於評估的  | 
QualityMetrics
說明評估作業產生的指標。
| JSON 表示法 | 
|---|
| { "docRecall": { object ( | 
| 欄位 | |
|---|---|
| docRecall | 
 各文件的召回率,以及各種 top-k 截斷層級。 召回率是指從所有相關文件中擷取的相關文件比例。 範例 (前 5 項):  * 如果在前 5 項中擷取了 5 份相關文件中的 3 份,則單一  | 
| docPrecision | 
 各個前 k 個截斷層級的文件精確度。 精確度是指擷取的相關文件比例。 範例 (前 5 名):  * 如果單一  | 
| docNdcg | 
 每份文件的正規化折減累計增益 (NDCG),適用於各種前 k 個截斷層級。 NDCG 會評估排名品質,並為排名較高的結果提供較高的關聯性。 範例 (前 3 名):假設  擷取結果:[D3 (0)、D1 (1)、D2 (1)] 理想結果:[D1 (1)、D2 (1)、D3 (0)] 計算每個  | 
| pageRecall | 
 每個網頁的召回率,以及各種 top-k 截斷層級。 召回率是指系統從所有相關網頁中,擷取的相關網頁比例。 範例 (前 5 名):* 如果有 3 個相關網頁在前 5 名中擷取,則單一  | 
| pageNdcg | 
 每個網頁的正規化折減累計增益 (NDCG),以及各種前 k 個截斷層級。 NDCG 會評估排名品質,並為排名較高的結果提供較高的關聯性。 範例 (前 3 名):假設  已擷取:[P3 (0)、P1 (1)、P2 (1)] 理想:[P1 (1)、P2 (1)、P3 (0)] 計算  | 
TopkMetrics
在特定前 k 個層級儲存指標值。
| JSON 表示法 | 
|---|
| { "top1": number, "top3": number, "top5": number, "top10": number } | 
| 欄位 | |
|---|---|
| top1 | 
 最高值。 | 
| top3 | 
 前 3 名的值。 | 
| top5 | 
 前 5 個值。 | 
| top10 | 
 前 10 名的值。 | 
狀態
說明評估的狀態。
| 列舉 | |
|---|---|
| STATE_UNSPECIFIED | 未指定評估。 | 
| PENDING | 服務正在準備執行評估。 | 
| RUNNING | 評估作業正在進行中。 | 
| SUCCEEDED | 評估作業已順利完成。 | 
| FAILED | 評估失敗。 | 
| 方法 | |
|---|---|
| 
 | 建立 Evaluation。 | 
| 
 | 取得 Evaluation。 | 
| 
 | 取得 Evaluation清單。 | 
| 
 | 取得指定 Evaluation的結果清單。 |