使用 Application Insights 追蹤
判斷代理程式執行背後的原因對於疑難解答和偵錯很重要。 不過,由於許多原因,複雜代理程式可能會很困難:
- 在產生回應時,可能會有大量的步驟,因此很難追蹤所有回應。
- 步驟順序可能會根據使用者輸入而有所不同。
- 每個階段的輸入/輸出可能很長,值得更詳細的檢查。
- 代理程式運行時間的每個步驟也可能牽涉到巢狀結構。 例如,代理程式可能會叫用使用另一個進程的工具,然後叫用另一個工具。 如果您注意到最上層代理程序執行的奇怪或不正確輸出,可能很難確切判斷在執行中導入問題的位置。
追蹤可藉由讓您清楚查看特定代理程式執行中涉及之每個基本類型的輸入和輸出,以及叫用它們的順序來解決此問題。
建立 Application Insights 資源
追蹤可讓您使用 OpenTelemetry 分析代理程式的效能和行為,並將 Application Insights 資源新增至 Azure AI Foundry 專案。
若要新增 Application Insights 資源,請流覽至 Azure AI Foundry 入口網站中的 [追蹤] 索引卷標,如果您還沒有資源,請建立新的資源。
建立之後,您可以取得ApplicationInsights 連接字串、設定代理程式,並透過 Azure 監視器觀察代理程式的完整執行路徑。 一般而言,您想要在建立代理程式之前啟用追蹤。
追蹤代理程式
首先,使用 pip install
來安裝 OpenTelemetry 和 Azure SDK 追蹤外掛程式。
pip install opentelemetry
pip install azure-core-tracing-opentelemetry
您也需要匯出工具,才能將結果傳送至可觀察性後端。 您可以將追蹤印到主控台,或使用 Aspire 儀錶板等本機查看器。 若要連線到 Aspire 儀錶板或其他與 OpenTelemetry 相容的後端,請安裝 OpenTelemetry 通訊協定 (OTLP) 導出工具。
pip install opentelemetry-exporter-otlp
安裝套件之後,您可以使用下列其中一個 Python 範例來實作代理程序的追蹤。 使用主控台追蹤的範例會在控制台本機顯示結果。 使用 Azure 監視器的範例會將追蹤傳送至 Azure AI Foundry 入口網站中的 Azure 監視器,在入口網站的左側導覽功能表中的 [追蹤] 索引卷標中。
注意
代理程序追蹤功能中有已知的 Bug。 即使未啟用內容錄製,Bug 會導致代理程式的函式工具呼叫相關信息(函式名稱和參數值,可能包含敏感性資訊)包含在追蹤中。
使用 Azure 監視器
使用主控台追蹤