您可以使用 Looker 的 ConversationalAnalytics API 端點,在嵌入式應用程式中建構自訂的對話式數據分析體驗。這些 API 會對應至 Looker 對話式數據分析功能的端點,並在 Looker API 中提供相同功能。包括代理、對話和訊息的建立、更新、讀取和刪除 (CRUD) 作業,以及用於與對話代理互動的 Chat API。為確保開發過程順利進行並獲得最佳效能,使用這些 API 時,請務必瞭解特定限制並遵循建議的最佳做法。
一般作業流程
多輪對話的一般工作流程,是同時使用代理程式、對話、訊息和 Chat API。
- 建立代理程式:如果沒有代理程式,請使用
POST /agents建立。代理程式已設定為使用特定 Looker 模型和探索。 - 建立對話:使用
POST /conversations啟動與代理相關聯的新對話。系統會傳回對話 ID。 - 傳送訊息:在對話的每個回合中,使用
conversation_id和使用者的訊息呼叫POST /conversational_analytics/chat。這個端點會傳回代理程式的一或多則系統訊息。 - 保留訊息:
/conversational_analytics/chat端點「不會」保留使用者訊息或傳回的系統訊息。如要保留後續對話的對話記錄,您必須在呼叫 Chat API 後呼叫POST /conversations/:conversation_id/messages,持續保留使用者訊息和系統訊息。
建議
如要獲得最佳成效,請採取以下建議做法:
- 保留所有訊息:每次呼叫
/conversational_analytics/chat後,請務必呼叫POST /conversations/:conversation_id/messages,儲存該回合的使用者訊息和聊天 API 傳回的所有系統訊息。這對多輪對話至關重要。 - 處理串流:盡可能使用 Chat API 的串流功能,在專員處理期間向使用者提供意見回饋。串流期間收到的訊息可用來表示代理程式「正在思考」。
限制和注意事項
使用 ConversationalAnalytics API 端點時,請注意下列限制:
- 訊息保留:您有責任使用
POST /conversations/:conversation_id/messages端點保留訊息。如果每次呼叫/conversational_analytics/chat後都無法保留訊息,系統就無法維護對話記錄,代理程式也無法在多輪對話中掌握後續問題的脈絡。 - 支援串流:Chat API 是串流 API,可讓您在代理程式生成訊息時接收訊息,進而提升長時間查詢的使用者體驗。不過,並非所有 Looker SDK 語言都支援串流。如果您使用的 SDK 不支援串流,API 會在生成所有訊息後,同步傳回完整的回覆。如果串流功能不可或缺,但 SDK 語言不支援,您可能需要直接發出 HTTP 呼叫來使用串流功能。