檢測生成式 AI 應用程式

本文說明生成式 AI 應用程式的檢測優勢。此外,本文也會摘要說明如何檢測使用 LangGraph 或 Agent Development Kit (ADK) 架構的應用程式。這兩個架構都可讓您收集及查看多模態提示和回覆

生成式 AI 虛擬服務專員簡介

使用生成式 AI 的應用程式會依賴代理程式完成工作或達成目標。代理程式是代表使用者完成工作或達成目標的應用程式。舉例來說,生成式 AI 代理程式可以瀏覽網站並發出 API 指令。這些 API 指令可能會擷取資訊或執行動作。

代理會自主行動,並運用推論能力將目標或工作分解為子工作,然後決定要使用哪些工具完成這些子工作。在生成式 AI 的脈絡下,工具會決定代理與環境的互動方式。舉例來說,代理可能擁有可發出 API 指令的工具。

如要進一步瞭解代理程式,請參閱下列文章:

為何要監控生成式 AI 應用程式

只有對生成式 AI 應用程式進行檢測,才能瞭解自主代理程式使用的推論方式。這項推論程序並非確定性程序。

當您為生成式 AI 應用程式進行儀表化時,遙測資料會包含代理程式的決策和動作。您可以運用這項資料驗證或改善應用程式。

如何監控生成式 AI 應用程式

為應用程式加入檢測功能時,需要產生遙測資料,並傳送至可儲存、查詢及分析資料的位置。舉例來說,當檢測機制將遙測資料傳送至專案時,您可以使用 Google Cloud Observability 查看及分析該資料。 Google Cloud

最佳做法

Google 建議您使用 OpenTelemetry 檢測應用程式。這項開放原始碼專案提供統一的應用程式檢測框架。本文列出的範例皆以 OpenTelemetry 為基礎。

Google 也建議您將提示和回覆儲存在 Cloud Storage bucket 中,而不是記錄項目:

  • 您可以精細控管 Cloud Storage 值區中的內容。舉例來說,您可以刪除儲存在值區中的個別對話,但無法刪除個別記錄檔項目。

  • Cloud Storage 儲存空間可儲存的物件遠大於記錄檔項目的最大大小 (256 KiB)。如果收到的資料超出記錄檔項目的最大大小,Cloud Logging 會傳回 INVALID_ARGUMENT 錯誤並捨棄資料。如果指令完成時沒有錯誤,但個別欄位超出大小限制,Cloud Logging 會截斷該資料。

檢測設備範例

如需插碼資訊,請參閱下列文件:

  • 收集及查看多模態提示和回覆:說明如何設定 LangGraph ReAct 代理或使用 ADK 建構的生成式 AI 代理,以收集多模態提示和回覆。此外,本文也會說明如何執行下列操作:

    • 將提示和回覆儲存在 Cloud Storage bucket 中。
    • 使用「Trace 探索工具」頁面查看提示詞和回覆。
    • 使用 BigQuery 分析提示和回覆。
    • 使用 Python 適用的 Vertex AI SDK 評估提示和回覆。
  • 使用 OpenTelemetry 檢測 LangGraph ReAct 代理一文說明如何使用 OpenTelemetry 檢測採用 LangChain 或 LangGraph 架構的生成式 AI 應用程式。文中也提供範例應用程式的連結,方便您下載及執行。範例應用程式會收集文字提示和回覆。

  • 使用 OpenTelemetry 檢測 ADK 應用程式:說明如何啟用內建檢測功能,從代理的主要動作收集遙測資料。遙測資料包括文字提示和代理回覆。此外,這篇文章也提供範例應用程式的連結,方便您下載及執行。範例應用程式會收集文字提示和回覆。

  • 使用 Trace 檢查 MCP 呼叫:說明如何設定應用程式,將追蹤內容傳遞至遠端 Google Cloud MCP 伺服器,讓這些伺服器將範圍附加至追蹤。

如何查看提示和回覆

Cloud Trace 會擷取生成式 AI 應用程式寫入的時距事件,前提是時距符合 OpenTelemetry 生成式 AI 時距的語意慣例,並包含符合生成式 AI 事件語意慣例的屬性或事件。

Cloud Trace 也會顯示多模態提示和回覆。在這種情況下,系統不會將提示和回覆附加至追蹤資料。而是儲存在 Cloud Storage bucket 中。如要進一步瞭解這項設定,請參閱「收集及查看多模態提示和回覆」。