您可以查看生成式知識輔助 (GKA) 和主動式生成式知識輔助 (PGKA) 的詳細資訊,包括失敗次數、功能使用行為和延遲時間。啟用 enable_response_debug_info,即可在 knowledge_assist_debug_info 物件中查看這些疑難排解詳細資料。
設定對話設定檔以進行疑難排解
如要存取 GKA 和 PGKA 的疑難排解資訊,您必須在對話設定檔中開啟 enable_response_debug_info 欄位。如果這個欄位處於關閉狀態,當查詢沒有結果時,知識搜尋會傳回 NotFound 錯誤,knowledge assist 則會傳回空白訊息。開啟 enable_response_debug_info 即可提供 OK 回應,說明沒有結果的原因。這項修改會影響 API 和現有整合。
生成式知識輔助 (GKA)
如要取得 GKA 查詢的詳細疑難排解資訊,必須在對話設定檔中啟用這項功能。建立或更新對話設定檔時,請將 human_agent_assistant_config 中的 enable_response_debug_info 欄位設為 true,如下所示。
parent:"projects/PROJECT_ID/locations/LOCATION-ID"
conversation_profile {
display_name: "DISPLAY-NAME"
human_agent_assistant_config {
human_agent_suggestion_config {
feature_configs {
suggestion_feature {
type: KNOWLEDGE_SEARCH
}
query_config {
dialogflow_query_source {
human_agent_side_config {
agent: "projects/PROJECT_ID/locations/LOCATION-NAME/agents/AGENT-ID"
}
}
}
enable_response_debug_info: true
}
}
}
}
啟用 enable_response_debug_info 欄位後,生成器會傳回 knowledge_search_debug_info 物件,做為 SearchKnowledgeResponse 的一部分,以及生成的答案。這項資訊可提供知識搜尋的效能和行為相關深入分析。
排解 PGKA V2 問題
啟用 enable_response_debug_info field 後,KnowledgeAssistDebugInfo 物件會包含多個專為 PGKA V2 設計的新欄位。如要存取這些欄位,請將 baseline_model_version 和 enable_response_debug_info 設為 2.0。
以下是設定範例,說明如何存取 PGKA V2 中的疑難排解資訊:
"name": "projects/PROJECT_ID/locations/LOCATION/conversationProfiles/PROFILE_ID",
"human_agent_assistant_config": {
"human_agent_suggestion_config": {
"feature_configs": [
{
"suggestion_feature": {
"type": "KNOWLEDGE_ASSIST"
},
"query_config": {
"dialogflow_query_source": {
"agent": "projects/PROJECT_ID/locations/LOCATION/agents/AGENT_ID"
}
},
"conversation_model_config": {
"baseline_model_version": "2.0"
},
"disable_query_search_context": true,
"enable_response_debug_info": true,
"suggestion_trigger_event": "END_OF_UTTERANCE",
}
]
}
}
疑難排解詳細資料
search_knowledge_debug_info 物件包含多項重要資訊,有助於排解問題,並瞭解 GKA 的搜尋程序。
搜尋失敗或回答內容沒有幫助
datastore_response_reason 欄位會提供資料服務或答案品質的高階狀態,協助您快速找出搜尋失敗或答案品質下降的原因。
可能的值包括:
NONE:要求已處理完畢,沒有任何特定問題需要回報。SEARCH_OUT_OF_QUOTA:由於超出用量配額,搜尋作業遭到封鎖。SEARCH_EMPTY_RESULTS:搜尋結果未顯示 Datastore 中的任何文件。ANSWER_GENERATION_GEN_AI_DISABLED:專案已停用生成式 AI 功能。ANSWER_GENERATION_OUT_OF_QUOTA:由於超過用量配額,系統已封鎖答案生成功能。ANSWER_GENERATION_ERROR:生成答案時發生內部錯誤。ANSWER_GENERATION_NOT_ENOUGH_INFO:系統擷取的文件資訊不足,無法生成回覆。ANSWER_GENERATION_RAI_FAILED:生成答案遭到負責任的 AI 技術 (RAI) 篩選器封鎖。ANSWER_GENERATION_NOT_GROUNDED:建立基準的驗證步驟判定生成的答案與來源文件不符,因此已捨棄。
主動行為
search_knowledge_behavior 物件會指出 GKA 要求期間啟用的特定行為。
answer_generation_rewriter_on:true值表示系統已重新編寫使用者查詢,以便更有效地搜尋 Datastore。false值表示產生器未重新編寫查詢。end_user_metadata_included:true值表示end_user_metadata已在呼叫資料儲存庫代理程式時一併傳遞。false值表示end_user_metadata未傳遞至資料儲存庫代理程式。
從擷取的內容排解問題
ingested_context_reference_debug_info 欄位提供與擷取內容相關的疑難排解資訊,有助於搜尋。
project_not_allowlisted:true值表示專案不在許可清單中,因此無法使用擷取的內容參照功能。false值表示專案在許可清單中。context_reference_retrieved:指出是否已從資料庫成功擷取情境參照。ingested_parameters_debug_info:從內容參照擷取的參數清單及其狀態。每個參數都會顯示參數名稱和下列其中一種擷取狀態。INGESTION_STATUS_SUCCEEDED:參數已成功擷取。INGESTION_STATUS_CONTEXT_NOT_AVAILABLE:無法擷取參數。INGESTION_STATUS_PARSE_FAILED:系統無法剖析參數內容。INGESTION_STATUS_INVALID_ENTRY:內容項目數量超出預期 (應只有一個)。INGESTION_STATUS_INVALID_FORMAT:內容格式不符預期 (例如 JSON)。INGESTION_STATUS_LANGUAGE_MISMATCH:情境參照的語言與對話語言不符。
延遲時間
service_latency物件會細分各種內部服務所花費的時間,協助您找出效能瓶頸。internal_service_latencies:清單,內含程序每個內部步驟的延遲詳細資料。每個項目都包含名稱 (step)、所需時間 (以毫秒為單位) (latency_ms),以及開始 (start_time) 和結束 (complete_time) 時間。內部程序步驟的可能名稱如下:total_data_store_agent:測量處理整個 GKA 要求的總時間,從接收查詢到傳回最終答案。做為代理程式所有資料儲存區搜尋步驟的總計時器。query_rewrite:重新撰寫使用者初始查詢所花費的時間,以便更有效地搜尋知識文件。search_query:資料儲存庫代理程式使用 (可能經過重寫的) 查詢,針對您設定的資料儲存庫執行搜尋所花費的時間。summarization:從 Datastore 擷取搜尋結果,並生成簡潔的自然語言答案所花費的時間 (ReAct 輪次)。grounding:驗證基準程序所花費的時間。這項重要步驟會在傳回生成的答案前,檢查來源文件是否確實支援該答案。query_generation:分析進行中對話並主動生成相關搜尋查詢所花費的時間。generated_query_rai:對主動生成的查詢執行負責任的 AI 技術 (RAI) 安全檢查所花的時間,檢查完畢後才會將查詢用於搜尋。query_categorization:使用 Agent Search 將生成的查詢分類所花費的時間 (如果已設定這項功能)。
疑難排解資訊回應範例
以下是 JSON 回應中 search_knowledge_debug_info 物件的完整範例。
{
"search_knowledge_debug_info": {
"datastore_response_reason": "ANSWER_GENERATION_NOT_ENOUGH_INFO",
"search_knowledge_behavior": {
"answer_generation_rewriter_on": true,
"end_user_metadata_included": true
},
"ingested_context_reference_debug_info": {
"project_not_allowlisted": false,
"context_reference_retrieved": true,
"ingested_parameters_debug_info": [
{
"parameter": "order_id",
"ingestion_status": "INGESTION_STATUS_SUCCEEDED"
},
{
"parameter": "user_profile",
"ingestion_status": "INGESTION_STATUS_INVALID_FORMAT"
},
{
"parameter": "product_sku",
"ingestion_status": "INGESTION_STATUS_CONTEXT_NOT_AVAILABLE"
}
]
},
"service_latency": {
"internal_service_latencies": [
{
"step": "total_data_store_agent",
"latency_ms": 4125.781,
"start_time": {
"seconds": 1750969252,
"nanos": 550649603
},
"complete_time": {
"seconds": 1750969256,
"nanos": 676430603
}
},
{
"step": "query_rewrite",
"latency_ms": 412.0,
"start_time": {
"seconds": 1750969252,
"nanos": 780119421
},
"complete_time": {
"seconds": 1750969253,
"nanos": 192119421
}
},
{
"step": "search_query",
"latency_ms": 950.0,
"start_time": {
"seconds": 1750969253,
"nanos": 192119421
},
"complete_time": {
"seconds": 1750969254,
"nanos": 142119421
}
},
{
"step": "summarization",
"latency_ms": 721.0,
"start_time": {
"seconds": 1750969254,
"nanos": 142119421
},
"complete_time": {
"seconds": 1750969254,
"nanos": 863119421
}
},
{
"step": "grounding",
"latency_ms": 155.0,
"start_time": {
"seconds": 1750969254,
"nanos": 863119421
},
"complete_time": {
"seconds": 1750969255,
"nanos": 18119421
}
}
]
}
}
}
主動式生成知識輔助 (PGKA)
疑難排解功能可深入瞭解查詢產生、分類和答案擷取程序。knowledge_assist_debug_info 物件是建議結果中 knowledge_assist_answer 的一部分。
建立或更新對話設定檔時,請為 KNOWLEDGE_ASSIST 功能將 enable_response_debug_info 欄位設為 true,如下所示。
parent: "projects/PROJECT_ID/locations/LOCATION-ID"
conversation_profile {
display_name: "DISPLAY-NAME"
human_agent_assistant_config {
human_agent_suggestion_config {
feature_configs {
suggestion_feature {
type: KNOWLEDGE_ASSIST
}
query_config {
dialogflow_query_source {
agent: "projects/PROJECT_ID/locations/LOCATION-ID/agents/DATASTORE-AGENT-ID"
}
}
enable_response_debug_info: true
}
}
}
}
疑難排解詳細資料
knowledge_assist_debug_info 物件包含下列欄位,可協助您瞭解主動建議的端對端生命週期。
無法產生查詢
query_generation_failure_reason 欄位會說明對話可能未生成主動搜尋查詢的原因。
QUERY_GENERATION_FAILED:產生查詢時發生內部錯誤。QUERY_GENERATION_NO_QUERY_GENERATED:生成器決定不產生查詢。如果對話主題沒有改變,或是最近建議了類似的查詢,通常就會發生這種情況。QUERY_GENERATION_RAI_FAILED:負責任的 AI 技術 (RAI) 篩選器基於安全考量,封鎖了可能的查詢。NOT_IN_ALLOWLIST:對話設定檔或代理程式層級的篩選規則封鎖了查詢生成作業。QUERY_GENERATION_QUERY_REDACTED:由於生成的查詢含有遭遮蓋的私密資訊,因此生成器已封鎖該查詢。QUERY_GENERATION_AGENT_LANGUAGE_MISMATCH:查詢生成失敗,因為服務專員的語言與顧客的語言不符。QUERY_GENERATION_TRANSLATION_LANGUAGE_MISMATCH:翻譯後的訊息語言與對話設定檔的語言不符,因此無法生成查詢。QUERY_GENERATION_TRANSLATED_MESSAGE_NOT_FOUND:生成器預期會找到用於生成查詢的翻譯訊息,但未找到。QUERY_GENERATION_EMPTY_CONVERSATION:對話沒有訊息。這項功能僅適用於 PGKA V2。QUERY_GENERATION_EMPTY_LAST_MESSAGE:最後一則訊息為空白或空白字元。這項功能僅適用於 PGKA V2。QUERY_GENERATION_TRIGGERING_EVENT_CONDITION_NOT_MET:觸發事件設定 (例如AGENT_MESSAGE) 與最後一則訊息的傳送者角色不符。這項功能僅適用於 PGKA V2。QUERY_GENERATION_LLM_RESPONSE_PARSE_FAILED:系統無法剖析模型輸出的結構化 JSON 內容。這項功能僅適用於 PGKA V2。
無法將查詢分類
query_categorization_failure_reason 欄位會說明查詢分類可能失敗的原因。
QUERY_CATEGORIZATION_INVALID_CONFIG:用於分類的 Agent Search 設定無效,例如搜尋引擎為空白。QUERY_CATEGORIZATION_RESULT_NOT_FOUND:Agent Search 的結果未包含分類結果。QUERY_CATEGORIZATION_FAILED:呼叫 Agent Search 進行分類失敗。
Datastore 搜尋狀態
查詢產生後,datastore_response_reason 欄位會提供針對 Datastore 執行的搜尋狀態。
NONE:Datastore 已處理要求,沒有任何特定問題需要回報。SEARCH_OUT_OF_QUOTA:由於超出使用配額,Agent Assist 封鎖了搜尋作業。SEARCH_EMPTY_RESULTS:搜尋結果未顯示 Datastore 中的任何文件。ANSWER_GENERATION_GEN_AI_DISABLED:專案已停用生成式 AI 功能。ANSWER_GENERATION_OUT_OF_QUOTA:Agent Assist 因超出用量配額而封鎖答案生成功能。ANSWER_GENERATION_ERROR:生成答案時發生內部錯誤。ANSWER_GENERATION_NOT_ENOUGH_INFO:系統擷取的文件資訊不足,無法生成回覆。ANSWER_GENERATION_RAI_FAILED:RAI 篩選器封鎖了生成的答案。ANSWER_GENERATION_NOT_GROUNDED:基準驗證步驟判斷來源文件並未如實佐證生成的答案,因此系統捨棄了該答案。
有效設定
knowledge_assist_behavior 物件會顯示要求啟用的特定設定。
answer_generation_rewriter_on:true表示生成器已改寫查詢內容,以提供更優質的搜尋結果;false則表示生成器未改寫查詢內容。end_user_metadata_included:如果產生器將end_user_metadata傳遞至 Datastore,則為true;如果沒有,則為false。return_query_only:true如果設定檔只會傳回產生的搜尋查詢,false如果設定檔會傳回完整答案。use_pubsub_delivery:如果產生器已設定透過 Pub/Sub 傳送結果,請選取true,否則請選取false。disable_sync_delivery:如果停用回應的同步傳送功能,則為true;如果啟用回應的同步傳送功能,則為false。previous_queries_included:如果生成器在生成查詢的過程中考慮了先前建議的查詢,則為true;如果沒有,則為false。use_translated_message:true(如果系統使用翻譯後的訊息生成查詢) 和false(如果沒有)。use_custom_safety_filter_level:true如果套用了自訂安全篩選層級。false(如果生成器只使用預設安全篩選器等級)。multiple_queries_generated:true值表示模型產生多個查詢。這項功能適用於 PGKA V2。query_contained_search_context:true值表示產生的查詢包含搜尋情境。這項功能適用於 PGKA V2。appended_search_context_count:這表示搜尋中成功使用的脈絡項目數量 (例如「產品」、「作業系統」)。這項功能適用於 PGKA V2。
從擷取的背景資訊取得的資訊
ingested_context_reference_debug_info 欄位提供與擷取內容相關的偵錯資訊,有助於搜尋。
project_not_allowlisted:true值表示專案不在許可清單中,因此無法使用擷取的內容參照功能。false值表示專案在許可清單中。context_reference_retrieved:指出是否已從資料庫成功擷取情境參照。ingested_parameters_debug_info:從背景資訊參照擷取的參數清單及其狀態。每個參數都會顯示參數名稱和下列其中一個可能的擷取狀態。INGESTION_STATUS_SUCCEEDED:參數已成功擷取。INGESTION_STATUS_CONTEXT_NOT_AVAILABLE:無法擷取參數。INGESTION_STATUS_PARSE_FAILED:系統無法剖析參數內容。INGESTION_STATUS_INVALID_ENTRY:內容項目數量超出預期 (應只有一個)。INGESTION_STATUS_INVALID_FORMAT:情境內容的格式不符預期。INGESTION_STATUS_LANGUAGE_MISMATCH:情境參照的語言與對話語言不符。
PGKA V1 的疑難排解回應範例
以下是回應中 knowledge_assist_debug_info 物件的完整範例。
{
"knowledge_assist_debug_info": {
"query_generation_failure_reason": "QUERY_GENERATION_NO_QUERY_GENERATED",
"query_categorization_failure_reason": "QUERY_CATEGORIZATION_FAILURE_REASON_UNSPECIFIED",
"datastore_response_reason": "SEARCH_EMPTY_RESULTS",
"knowledge_assist_behavior": {
"answer_generation_rewriter_on": true,
"end_user_metadata_included": false,
"return_query_only": false,
"use_pubsub_delivery": true,
"disable_sync_delivery": true,
"previous_queries_included": true,
"use_translated_message": false,
"use_custom_safety_filter_level": false
},
"ingested_context_reference_debug_info": {
"project_not_allowlisted": false,
"context_reference_retrieved": true,
"ingested_parameters_debug_info": [
{
"parameter": "session_id",
"ingestion_status": "INGESTION_STATUS_SUCCEEDED"
}
]
},
"service_latency": {
"internal_service_latencies": [
{
"step": "query_generation",
"latency_ms": 680.5,
"start_time": {
"seconds": 1753123456,
"nanos": 110220330
},
"complete_time": {
"seconds": 1753123456,
"nanos": 790720330
}
},
{
"step": "search_query",
"latency_ms": 1050.1,
"start_time": {
"seconds": 1753123456,
"nanos": 790720330
},
"complete_time": {
"seconds": 1753123457,
"nanos": 840820330
}
}
]
}
}
}
PGKA V2 的疑難排解回覆範例
以下是兩種情境的完整範例。
範例 1:成功提供建議,並附上行為標記
這個情境說明模型成功產生多個查詢,並使用搜尋脈絡擴充主要查詢。以下是欄位說明:
multiple_queries_generated:表示模型產生多個相關主題。query_contained_search_context:確認主要查詢已透過結構化資料擴充。appended_search_context_count:用於縮小搜尋範圍的鍵/值組合確切數量 (例如應用程式名稱、作業系統)。
{
"message": {
"name": "projects/PROJECT_ID/locations/LOCATION/conversations/CONVERSATION_ID/messages/MESSAGE_ID",
"content": "My DesignApp is crashing on Mac. Also, how do I resolve the storage limit error?",
"participant_role": "END_USER"
},
"human_agent_suggestion_results": [
{
"suggest_knowledge_assist_response": {
"knowledge_assist_answer": {
"suggested_query": {
"query_text": "Troubleshoot application crashing",
"search_contexts": [
{ "key": "application name", "value": "DesignApp" },
{ "key": "operating system", "value": "Mac" }
]
},
"suggested_query_answer": {
"answer_text": "To troubleshoot the crash on Mac, ensure..."
},
"answer_record": "projects/PROJECT_ID/locations/LOCATION/answerRecords/ANSWER_RECORD_ID",
"knowledge_assist_debug_info": {
"knowledge_assist_behavior": {
"multiple_queries_generated": true,
"query_contained_search_context": true,
"appended_search_context_count": 2
}
}
},
"latest_message": "projects/PROJECT_ID/locations/LOCATION/conversations/CONVERSATION_ID/messages/MESSAGE_ID",
"context_size": 20,
"additional_suggested_query_results": [
{
"suggested_query": {
"query_text": "Resolve storage limit exceeded error",
"search_contexts": [
{ "key": "storage plan", "value": "1TB" }
]
}
}
]
}
}
]
}
範例 2:略過建議,並提供失敗原因
在這種情況下,系統會判斷不應觸發建議,因為事件條件未達成 (例如,觸發條件設為 AGENT_MESSAGE,但最後一則訊息來自 END_USER)。系統不會傳回錯誤,而是傳回成功狀態和具體原因。
{
"message": {
"name": "projects/PROJECT_ID/locations/LOCATION/conversations/CONVERSATION_ID/messages/MESSAGE_ID",
"content": "I am having trouble with my account.",
"participant_role": "END_USER"
},
"human_agent_suggestion_results": [
{
"suggest_knowledge_assist_response": {
"knowledge_assist_answer": {
"knowledge_assist_debug_info": {
"query_generation_failure_reason": "QUERY_GENERATION_TRIGGERING_EVENT_CONDITION_NOT_MET"
}
},
"latest_message": "projects/PROJECT_ID/locations/LOCATION/conversations/CONVERSATION_ID/messages/MESSAGE_ID",
"context_size": 20
}
}
]
}
其他常見的失敗原因包括:
QUERY_GENERATION_EMPTY_CONVERSATION:對話中沒有任何訊息。QUERY_GENERATION_EMPTY_LAST_MESSAGE:最後一則訊息為空白或僅含空白字元。QUERY_GENERATION_LLM_RESPONSE_PARSE_FAILED:系統無法剖析大型語言模型的結構化輸出內容。