共用方式為


取得代理應用程式品質的意見反應

重要

這項功能處於公開預覽狀態

本文說明如何使用 Databricks 檢閱應用程式,收集人類檢閱者關於代理應用程式品質的意見反應。 本文涵蓋下列領域:

  • 如何部署檢閱應用程式。
  • 檢閱者如何使用應用程式來提供代理應用程式回應的意見反應。
  • 專家如何檢閱記錄的聊天,以提供使用應用程式改善和其他意見反應的建議。

人類評估中會發生什麼事?

Databricks 檢閱應用程式會在專家項目關係人可以與其互動的環境中分階段 LLM,換句話說,有交談、詢問問題、提供意見反應等等。 檢閱應用程式會將所有問題、答案和意見反應記錄在推斷表中,以便您進一步分析 LLM 的表現。 如此一來,檢閱應用程式有助於確保應用程式所提供的答案的品質和安全性。

利害關係人可以與應用程式 Bot 聊天,並提供這些交談的意見反應,或提供有關歷程記錄、策展追蹤或代理程式輸出的意見反應。

需求

  • 推斷資料表必須在為代理程式提供服務的端點上啟用。

  • 每個人類檢閱者都必須具有檢閱應用程式工作區的存取權,或是使用 SCIM 同步處理至您的 Databricks 帳戶。 請參閱下一節: 設定許可權以使用檢閱應用程式

  • 開發人員必須安裝 databricks-agents SDK 以設定權限並設定檢閱應用程式。

    %pip install databricks-agents
    dbutils.library.restartPython()
    

設定許可權以使用檢閱應用程式

注意

人工檢閱者不需要存取工作區,才能使用檢閱應用程式。

您可以將檢閱應用程式的存取權授與 Databricks 帳戶中的任何使用者,即使他們沒有包含檢閱應用程式的工作區存取權也一樣。

  • 對於沒有工作區存取權的使用者,帳戶管理員會使用帳戶層級 SCIM 布建,自動將使用者和群組從身分識別提供者同步至 Azure Databricks 帳戶。 您也可以手動註冊這些使用者和群組,以在 Databricks 中設定身分識別時授與他們存取權。 請參閱從 Microsoft Entra ID 同步使用者和群組
  • 對於已經擁有檢閱應用程式工作區存取權的使用者,不需要額外的設定。

下列程式代碼範例示範如何為使用者授與代理程式檢閱應用程式的許可權。 參數 users 會採用電子郵件地址清單。

from databricks import agents

# Note that <user_list> can specify individual users or groups.
agents.set_permissions(model_name=<model_name>, users=[<user_list>], permission_level=agents.PermissionLevel.CAN_QUERY)

若要檢閱聊天記錄檔,用戶必須具有 CAN_REVIEW 許可權。

部署檢閱應用程式

當您使用 agents.deploy() 部署代理程式時,會自動啟用和部署檢閱應用程式。 命令的輸出會顯示前端應用程式的網址。 如需部署代理程式的相關資訊,請參閱部署生成式 AI 應用程式的代理程式

從筆記本命令輸出檢閱應用程式的連結

如果您遺失部署的連結,您可以使用 list_deployments() 來找到連結。

from databricks import agents

deployments = agents.list_deployments()
deployments

檢閱應用程式 UI

若要開啟檢閱應用程式,請按一下提供的網址。 檢閱應用程式 UI 在左側側邊欄中有三個索引標籤:

當您開啟檢閱應用程式時,指示頁面隨即出現。

檢閱應用程式開啟畫面

提供給檢閱者的指示

若要為顯示給檢閱者的說明提供自訂文字,請使用下列程式碼:

from databricks import agents

agents.set_review_instructions(uc_model_name, "Thank you for testing the bot. Use your domain expertise to evaluate and give feedback on the bot's responses, ensuring it aligns with the needs and expectations of users like yourself.")
agents.get_review_instructions(uc_model_name)

指定 Python 範例之檢閱應用程式指示的螢幕擷取畫面。

與應用程式聊天並提交評論

若要與應用程式聊天並提交評論:

  1. 按一下左側側邊欄中的 [測試 Bot]

  2. 在方塊中輸入您的問題,然後按鍵盤上的 ReturnEnter,或按一下方塊中的箭號。 應用程式會顯示其問題答案,以及用來尋找答案的來源。

  3. 檢閱應用程式的答案,然後選取 [是]、[否] 或 [我不知道]

  4. 應用程式會要求您提供其他資訊。 核取適當的方塊,或在提供的欄位中輸入您的註解。

  5. 您也可以直接編輯回應,以提供更好的答案。 若要編輯回應,請按一下 [編輯回應],在對話方塊中進行變更,然後按一下 [儲存],如下列影片所示。

    如何編輯回應

  6. 按一下 [完成] 以儲存您的意見反應。

  7. 繼續詢問問題以提供其他意見反應。

下圖說明此流程:

  1. 使用檢閱應用程式,檢閱者與代理應用程式聊天。
  2. 使用檢閱應用程式,檢閱者提供應用程式回應的意見反應。
  3. 系統會將所有要求、回應和意見反應記錄到推斷資料表。

執行檢閱應用程式,讓專家與代理應用程式聊天並提供意見反應。

讓聊天記錄可供專家檢閱者評估

當使用者使用 REST API 或檢閱應用程式與應用程式互動時,所有要求、回應和其他意見反應都會儲存至推斷資料表。 推斷資料表位於註冊模型的相同 Unity 目錄目錄和結構描述中,且命名為 <model_name>_payload<model_name>_payload_assessment_logs 和。<model_name>_payload_request_logs 如需這些資料表的詳細資訊,包括結構描述,請參閱代理程式增強的推斷資料表

若要將這些記錄載入檢閱應用程式以供專家檢閱者評估,您必須先找到 request_id 並啟用該 request_id 的檢閱,如下所示:

  1. 找出要從 <model_name>_payload_request_logs 推斷資料表檢閱的 request_id。 推斷資料表位於註冊模型的相同 Unity 目錄和結構描述中。

  2. 使用類似下列的程式碼,將檢閱記錄載入至檢閱應用程式:

    from databricks import agents
    
    agents.enable_trace_reviews(
      model_name=model_fqn,
      request_ids=[
          "52ee973e-0689-4db1-bd05-90d60f94e79f",
          "1b203587-7333-4721-b0d5-bba161e4643a",
          "e68451f4-8e7b-4bfc-998e-4bda66992809",
      ],
    )
    
  3. 結果資料格包含檢閱應用程式的連結,其中已載入選取的記錄以供檢閱。

檢閱應用程式並載入聊天記錄以進行專家檢閱

來自其他使用者與應用程式互動記錄的專家檢閱

若要檢閱先前聊天的記錄,必須啟用記錄以檢閱。 請參閱讓聊天記錄可供專家檢閱者評估

  1. 在檢閱應用程式的左側側邊欄中,選取 [聊天以檢閱] 。 啟用的要求隨即顯示。

    已啟用聊天以進行檢閱

  2. 按一下要求以顯示以供檢閱。

  3. 檢閱要求和回應。 應用程式也會顯示用於參考的來源。 您可以按一下這些來檢閱參考,並提供來源相關性的意見反應。

  4. 若要提供回應品質的意見反應,請選取 [是]、[否],或 [我不知道]

  5. 應用程式會要求您提供其他資訊。 核取適當的方塊,或在提供的欄位中輸入您的註解。

  6. 您也可以直接編輯回應,以提供更好的答案。 若要編輯回應,請按一下 [編輯回應],在對話方塊中進行變更,然後按一下 [儲存]。 請參閱與應用程式聊天並提交檢閱,以取得顯示該程序的影片。

  7. 按一下 [完成] 以儲存您的意見反應。

下圖說明此流程:

  1. 使用檢閱應用程式或自訂應用程式,檢閱者與代理應用程式聊天。
  2. 所有要求和回應都會記錄到推斷資料表。
  3. 應用程式開發人員會使用 enable_trace_reviews([request_id]) (其中 request_id 來自 <model_name>_payload_request_logs 推斷資料表) 來將聊天記錄張貼至檢閱應用程式。
  4. 使用檢閱應用程式,專家檢閱記錄並提供意見反應。 專家意見反應會記錄到推斷資料表。

執行追蹤檢閱,檢閱者會與檢閱應用程式或 REST API 互動以提供意見反應。

注意

如果您已啟用 Azure 儲存體防火牆,請連絡您的 Azure Databricks 帳戶小組,為您的端點啟用推斷資料表。

在要求記錄資料表上使用 mlflow.evaluate()

以下筆記本說明如何使用檢閱應用程式的日誌作為使用 mlflow.evaluate() 執行評估的輸入。

執行評估要求記錄筆記本

取得筆記本