共用方式為


語意核心中的可檢視性

可觀察性的簡介

當您建置 AI 解決方案時,您想要能夠觀察服務的行為。 可檢視性是監視和分析分散式系統中元件內部狀態的能力。 這是建置企業就緒 AI 解決方案的重要需求。

可檢視性通常是透過記錄、計量和追蹤來達成。 它們通常被稱為可觀察性的三大支柱。 您也會聽到用來描述這三個要素所收集的數據的「遙測」一詞。 與偵錯不同,可觀察性提供系統健康情況和效能的持續概觀。

用於進一步閱讀的實用資料:

語意核心中的可檢視性

語意核心的設計目的是要可觀察。 它會發出與 OpenTelemetry 標準相容的記錄、計量和追蹤。 您可以使用您慣用的可觀察性工具來監視和分析以語意核心為基礎的服務行為。

具體而言,語意核心提供下列可觀察性功能:

  • 記錄:語意核心會記錄核心、核心外掛程式和函式以及 AI 連接器中有意義的事件和錯誤。 記錄和事件

    重要

    Application Insights 中的追蹤代表傳統的記錄專案和 OpenTelemetry 範圍事件。 它們與分散式追蹤不同。

  • 計量:語意核心會從核心函式和 AI 連接器發出計量。 您將能夠監視計量,例如核心函式運行時間、AI 連接器的令牌耗用量等。 計量
  • 追蹤:語意核心支持分散式追蹤。 您可以在不同的服務和語意核心內追蹤活動。 完成要求的端對端交易
遙測 描述
記錄 記錄會記錄整個核心。 如需有關在 .Net 中記錄的詳細資訊,請參閱本 。 敏感數據,例如核心函式自變數和結果,都會記錄在追蹤層級。 如需記錄層級的詳細資訊,請參閱此 表格
活動 每個核心函式執行和對 AI 模型的每個呼叫都會記錄為活動。 所有活動都是由名為 「Microsoft.SemanticKernel」 的活動來源所產生。
計量 語意核心會從核心函式擷取下列計量:
  • semantic_kernel.function.invocation.duration (直方圖) - 函式執行時間(以秒為單位)
  • semantic_kernel.function.streaming.duration (直方圖) - 函式串流運行時間 (以秒為單位)
  • semantic_kernel.function.invocation.token_usage.prompt (直方圖) - 提示令牌使用次數(僅適用於 KernelFunctionFromPrompt
  • semantic_kernel.function.invocation.token_usage.completion (直方圖) - 完成權杖使用次數(僅適用於 KernelFunctionFromPrompt
遙測 描述
記錄 記錄會記錄整個核心。 如需有關在 Python 中登入的詳細資訊,請參閱本 。 敏感數據,例如核心函式自變數和結果,都會記錄在偵錯層級。
Span 每個自動函式調用迴圈、每個核心函式執行,以及 AI 模型的每個呼叫都會記錄為範圍。
計量 語意核心會從核心函式擷取下列計量:
  • semantic_kernel.function.invocation.duration (直方圖) - 函式執行時間(以秒為單位)
  • semantic_kernel.function.streaming.duration (直方圖) - 函式串流運行時間 (以秒為單位)

注意

Java 尚未提供語意核心可觀察性。

OpenTelemetry 語意慣例

語意核心遵循 OpenTelemetry Semantic Convention for Observability。 這表示語意核心發出的記錄、計量和追蹤都是結構化的,並遵循一般架構。 這可確保您可以更有效地分析 Semantic Kernel 所發出的遙測數據。

注意

目前, Generative AI 的語意慣例處於實驗狀態。 語意核心努力盡可能遵循 OpenTelemetry 語意慣例,並為 AI 解決方案提供一致且有意義的可觀察性體驗。

下一步

既然您已基本瞭解 Semantic Kernel 中的可檢視性,您可以深入瞭解如何將遙測數據輸出至控制台,或使用 APM 工具來可視化和分析遙測數據。