在本文中,您將瞭解如何在 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 監視器記錄的診斷設定。
- 在 Azure 入口網站中,流覽至您的 Azure API 管理 執行個體。
- 在左側功能表的 [監視] 底下,選取 [診斷設定>] + [新增診斷設定]。
- 設定設定以將 AI 閘道記錄傳送至 Log Analytics 工作區:
- 在 [記錄] 底下,選取 [與生成式 AI 閘道相關的記錄]。
- 在 [目的地詳細資料] 底下,選取 [傳送至 Log Analytics 工作區]。
- 檢閱或設定其他設定,並視需要進行變更。
- 選取 [儲存]。
啟用 LLM API 的請求或回應記錄
您可以啟用所有 API 的診斷設定,或自訂特定 API 的記錄。 以下是記錄 API 的 LLM 請求和回應訊息的簡短步驟。 如需詳細資訊,請參閱 修改 API 記錄設定。
- 在 API 管理 執行個體的左側功能表中,選取 [API] [API]>,然後選取 API 的名稱。
- 從頂端列選取 [設定 ] 索引標籤。
- 向下捲動至 [診斷記錄 ] 區段,然後選取 [ Azure 監視器] 索引標籤。
- 在 記錄 LLM 訊息中,選取 已啟用。
- 選取 [記錄提示] ,然後輸入大小(以位元組為單位),例如 32768。
- 選取 [記錄完成] ,然後輸入大小(以位元組為單位),例如 32768。
- 檢查其他設定並視需要進行變更。 選取 [儲存]。
備註
如果您啟用收集,則會在單一項目中傳送大小不超過 32 KB 的 LLM 要求或回應訊息。 大於 32 KB 的訊息會分割並記錄在 32 KB 區塊中,並附有序號,以便稍後重建。 要求訊息和回應訊息各不能超過 2 MB。
檢閱 LLM API 的分析活頁簿
Azure 監視器型 分析 儀錶板會使用彙總在 Log Analytics 工作區中彙總的資料,深入瞭解 LLM API 使用量和權杖耗用量。 深入瞭解 API 管理中的分析。
- 在 API 管理 實例的左側功能表中,選取 [監視>分析]。
- 選取 [語言模型] 索引標籤。
- 檢閱所選 時間範圍內 LLM 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)
上傳資料至 Microsoft Foundry 進行模型評估
你可以將 LLM 日誌資料匯出為 Microsoft Foundry 模型 評估 的資料集。 透過模型評估,您可以使用內建或自訂評估指標,根據測試模型或資料集評估生成式 AI 模型和應用程式的效能。
若要使用 LLM 日誌作為模型評估的資料集:
- 將 LLM 請求和回應訊息聯結到每個互動的單一記錄中,如 上一節所示。 包括您要用於模型評估的欄位。
- 將資料匯出為 CSV 格式,該格式與 Microsoft Foundry 相容。
- 在 Microsoft Foundry 入口網站中,進行新評估以便上傳和評估資料集。
欲了解如何在 Microsoft Foundry 中建立並執行模型評估,請參見 「使用 Microsoft Foundry 評估生成式 AI 模型與應用」。