共用方式為


記錄 LLM API 的權杖使用、提示和完成

在本文中,您將瞭解如何在 Azure API 管理 中設定 LLM API 要求和回應的 Azure 監視器記錄。

API 管理 系統管理員可以針對下列案例使用 LLM API 要求和回應記錄,以及 API 管理 閘道記錄:

  • 計算計費用量 - 根據每個應用程式或 API 取用者所耗用的權杖數量 (例如,依訂閱 ID 或 IP 地址區隔) 來計算計費用量指標。

  • 檢查訊息 - 檢查和分析提示和完成,以協助偵錯、稽核和模型評估。

深入瞭解:

先決條件

  • Azure API 管理 執行個體。
  • 與 Azure API 管理 整合的受控 LLM 聊天完成 API。 例如, 匯入 Microsoft Foundry API
  • 存取 Azure Log Analytics 工作區。
  • 在 API 管理 中設定診斷設定和存取記錄的適當許可權。

啟用 LLM API 記錄的診斷設定

啟用診斷設定,以記錄閘道針對大型語言模型 REST API 處理的要求。 針對每個要求,Azure 監視器會接收權杖使用量 (提示權杖、完成權杖和權杖總計)、所用模型名稱,以及選擇性的要求和回應訊息 (提示和完成) 的相關資料。 大型請求和響應被拆分為多個帶有序號的日誌條目,以便以後在需要時重建。

以下是啟用診斷設定的簡短步驟,以將 LLM API 記錄導向至 Log Analytics 工作區。 如需詳細資訊,請參閱 啟用 Azure 監視器記錄的診斷設定

  1. Azure 入口網站中,流覽至您的 Azure API 管理 執行個體。
  2. 在左側功能表的 [監視] 底下,選取 [診斷設定>] + [新增診斷設定]。
  3. 設定設定以將 AI 閘道記錄傳送至 Log Analytics 工作區:
    • [記錄] 底下,選取 [與生成式 AI 閘道相關的記錄]。
    • [目的地詳細資料] 底下,選取 [傳送至 Log Analytics 工作區]。
  4. 檢閱或設定其他設定,並視需要進行變更。
  5. 選取 [儲存]。

入口網站中 AI 閘道記錄的診斷設定螢幕擷取畫面。

啟用 LLM API 的請求或回應記錄

您可以啟用所有 API 的診斷設定,或自訂特定 API 的記錄。 以下是記錄 API 的 LLM 請求和回應訊息的簡短步驟。 如需詳細資訊,請參閱 修改 API 記錄設定

  1. 在 API 管理 執行個體的左側功能表中,選取 [API] [API]>,然後選取 API 的名稱。
  2. 從頂端列選取 [設定 ] 索引標籤。
  3. 向下捲動至 [診斷記錄 ] 區段,然後選取 [ Azure 監視器] 索引標籤。
  4. 記錄 LLM 訊息中,選取 已啟用
  5. 選取 [記錄提示] ,然後輸入大小(以位元組為單位),例如 32768
  6. 選取 [記錄完成] ,然後輸入大小(以位元組為單位),例如 32768
  7. 檢查其他設定並視需要進行變更。 選取 [儲存]。

在入口網站中啟用 API 的 LLM 記錄的螢幕擷取畫面。

備註

如果您啟用收集,則會在單一項目中傳送大小不超過 32 KB 的 LLM 要求或回應訊息。 大於 32 KB 的訊息會分割並記錄在 32 KB 區塊中,並附有序號,以便稍後重建。 要求訊息和回應訊息各不能超過 2 MB。

檢閱 LLM API 的分析活頁簿

Azure 監視器型 分析 儀錶板會使用彙總在 Log Analytics 工作區中彙總的資料,深入瞭解 LLM API 使用量和權杖耗用量。 深入瞭解 API 管理中的分析。

  1. 在 API 管理 實例的左側功能表中,選取 [監視>分析]。
  2. 選取 [語言模型] 索引標籤。
  3. 檢閱所選 時間範圍內 LLM API 權杖使用量和請求的指標和視覺效果。

入口網站中語言模型 API 分析的螢幕擷取畫面。

檢閱 Azure 監視器記錄以取得要求和回應

檢閱 ApiManagementGatewayLlmLog 記錄,以取得 LLM 要求和回應的詳細資訊,包括權杖耗用量、使用的模型部署,以及特定時間範圍內的其他詳細資料。

要求和回應 (包括大型要求和回應的區塊訊息) 會顯示在個別的記錄項目中,您可以使用欄位來 CorrelationId 建立關聯。

基於稽核目的,請使用類似下列查詢的 Kusto 查詢,將每個要求和回應聯結在單一記錄中。 調整查詢以包含您要追蹤的欄位。

ApiManagementGatewayLlmLog
| extend RequestArray = parse_json(RequestMessages)
| extend ResponseArray = parse_json(ResponseMessages)
| mv-expand RequestArray
| mv-expand ResponseArray
| project
    CorrelationId,
    RequestContent = tostring(RequestArray.content),
    ResponseContent = tostring(ResponseArray.content)
| summarize
    Input = strcat_array(make_list(RequestContent), " . "),
    Output = strcat_array(make_list(ResponseContent), " . ")
    by CorrelationId
| where isnotempty(Input) and isnotempty(Output)

入口網站中 LLM 記錄的查詢結果螢幕擷取畫面。

上傳資料至 Microsoft Foundry 進行模型評估

你可以將 LLM 日誌資料匯出為 Microsoft Foundry 模型 評估 的資料集。 透過模型評估,您可以使用內建或自訂評估指標,根據測試模型或資料集評估生成式 AI 模型和應用程式的效能。

若要使用 LLM 日誌作為模型評估的資料集:

  1. 將 LLM 請求和回應訊息聯結到每個互動的單一記錄中,如 上一節所示。 包括您要用於模型評估的欄位。
  2. 將資料匯出為 CSV 格式,該格式與 Microsoft Foundry 相容。
  3. 在 Microsoft Foundry 入口網站中,進行新評估以便上傳和評估資料集。

欲了解如何在 Microsoft Foundry 中建立並執行模型評估,請參見 「使用 Microsoft Foundry 評估生成式 AI 模型與應用」。