步驟 2。 部署 POC 以收集利害關係人意見反應
在此步驟結束時,您將部署完代理程式評估檢閱應用程式,讓您的利害關係人能夠測試並提供有關 POC 的意見反應。 利害關係人的使用詳細記錄及他們的意見回饋將流入 Lakehouse 中的 Delta Tables。
需求
- 完成步驟 1. 複製程式碼存放庫並建立計算步驟
- 來自 必要條件的數據:收集需求 可在 Unity Catalog磁碟區內的 Lakehouse 中使用。
如需本節中的範例程式碼,請參閱 GitHub 存放庫。
概念證明 RAG 應用程式
評估驅動開發的第一個步驟是建立概念證明 (POC)。 POC 提供下列優點:
- 針對使用案例與 RAG 的可行性提供方向性檢視
- 允許您從利益相關者收集初始意見反應,進而使您能夠建立評估 Set 的第一個版本。
- 建立品質的基準測量,以開始逐一查看
Databricks 建議使用最簡單的 RAG 架構來建置 POC,並且 Databricks 建議針對每個參數建置預設值。
此建議是因為有數百種可能的 parameters 組合,您可以在RAG應用程式中微調。 您可以輕鬆地花數週時間調整這些設定,但如果您在系統地評估 RAG 之前這麼做,最終會陷入所謂的 POC 災難迴圈 - 在設定上不斷迭代,但沒有任何辦法客觀地知道您是否進行了改進,而您的利害關係人卻不耐煩地等待檢閱。
本教學課程中的POC樣本是考慮到品質反覆專案所設計。 它們會根據 Databricks 研究團隊所顯示的內容進行參數化,進行微調以提升 RAG 品質。 這些範本不是「三行程式碼就能神奇地構成一個 RAG」,而是結構完善的 RAG 應用程式,可在評估驅動開發工作流程的下列步驟中調整品質。
這可讓您快速部署 POC,但不需要重寫程式碼,即可快速轉換到品質反覆項目。
以下是 POC 應用程式的技術架構:
注意
根據預設,POC 會使用 Mosaic AI 基礎模型服務上提供的開放原始碼模型。 不過,由於 POC 使用 Mosaic AI 模型服務,該服務支援任何基礎模型,因而使用不同的模型很簡單 - 只要在模型服務中設定該模型,然後在 embedding_endpoint_name
筆記本中取代 llm_endpoint_name
和 00_config
。
- 請遵循佈建的輸送量基礎模型 API,以取得 Databricks Marketplace 中可用的其他開放原始碼模型。
- 請遵循Create_OpenAI_External_Model 筆記本或 Mosaic AI 模型服務中的外部模型,以取得支援的第三方託管模型,例如 Azure OpenAI、OpenAI、Cohere、Anthropic 和 Google Gemini。
部署 POC 以收集意見反應的步驟
下列步驟示範如何執行和部署 POC 生成式 AI 應用程式。 在您部署 get 後,您會獲得檢閱應用程式的 URL,您可以與專案關係人分享該 URL,以便收集他們的意見反饋。
根據您的資料類型,開啟 A_POC_app 內的 POC 程式碼資料夾:
- 針對 PDF 檔案,使用 pdf_uc_volume。
- 針對 Powerpoint 檔案,使用 pptx_uc_volume。
- 針對 DOCX 檔案,使用 docx_uc_volume。
- 對於具有文字、Markdown、HTML 內容和中繼資料的 JSON 檔案,使用 json_uc_volume
如果您的資料不符合上述任一項需求,可以在上述 POC 目錄中
parser_udf
內自訂剖析函式 (02_poc_data_pipeline
),以使用您的檔案類型。在 POC 資料夾內,您會看到下列筆記本:
選擇性地檢閱預設 parameters。
在上方選擇的 POC 目錄中開啟
00_config
筆記本,以檢視數據管線和 RAG 鏈結的 POC 應用程式預設 parameters。重要
Databricks 推薦的預設 parameters 並非完美無缺,而是可以用作起點。 此工作流程的後續步驟會引導您反覆改進這些 parameters。
驗證設定。
執行
01_validate_config
來檢查您的組態是否有效,且所有資源皆可供使用。rag_chain_config.yaml
檔案會出現在您的目錄中,用於部署應用程式。執行資料管線。
POC 資料管線是以 Apache Spark 為基礎的 Databricks 筆記本。 開啟
02_poc_data_pipeline
筆記本,然後按 [全部執行] 以執行管線。 該管線會執行下列動作:- 從 UC 磁碟區載入原始文件
- 解析每個文件,將結果儲存至 Delta Table
- 將每個檔區塊化,並將結果儲存至 Delta Table
- 使用 Mosaic AI 向量搜尋內嵌文件並建立向量索引
有關資料管線的中繼資料,如輸出 tables 和組態,將記錄至 MLflow。
您可以透過檢查筆記本底部附近的 Delta Tables 或向量索引的連結來查看輸出結果。
Vector index: https://<your-workspace-url>.databricks.com/explore/data/<uc-catalog>/<uc-schema>/<app-name>_poc_chunked_docs_gold_index Output tables: Bronze Delta Table w/ raw files: https://<your-workspace-url>.databricks.com/explore/data/<uc-catalog>/<uc-schema>/<app-name>__poc_raw_files_bronze Silver Delta Table w/ parsed files: https://<your-workspace-url>.databricks.com/explore/data/<uc-catalog>/<uc-schema>/<app-name>__poc_parsed_docs_silver Gold Delta Table w/ chunked files: https://<your-workspace-url>.databricks.com/explore/data/<uc-catalog>/<uc-schema>/<app-name>__poc_chunked_docs_gold
將 POC 鏈結部署至檢閱應用程式。
預設 POC 鏈結是使用 LangChain 建置的多回合交談 RAG 鏈結。
注意
POC 鏈結會使用 MLflow 程式碼型記錄。 若要深入了解程式碼型記錄,請參閱記錄和註冊 AI 代理程式。
開啟
03_deploy_poc_to_review_app
筆記本執行筆記本的每個儲存格。
MLflow 追蹤會顯示 POC 應用程式的運作方式。 將輸入問題調整為與您的使用案例相關的輸入問題,然後重新執行儲存格以「檢查」應用程式。
修改預設指示,以與您的使用案例相關聯。 這些項目會在檢閱應用程式中顯示。
instructions_to_reviewer = f"""## Instructions for Testing the {RAG_APP_NAME}'s Initial Proof of Concept (PoC) Your inputs are invaluable for the development team. By providing detailed feedback and corrections, you help us fix issues and improve the overall quality of the application. We rely on your expertise to identify any gaps or areas needing enhancement. 1. **Variety of Questions**: - Please try a wide range of questions that you anticipate the end users of the application will ask. This helps us ensure the application can handle the expected queries effectively. 2. **Feedback on Answers**: - After asking each question, use the feedback widgets provided to review the answer given by the application. - If you think the answer is incorrect or could be improved, please use "Edit Answer" to correct it. Your corrections will enable our team to refine the application's accuracy. 3. **Review of Returned Documents**: - Carefully review each document that the system returns in response to your question. - Use the thumbs up/down feature to indicate whether the document was relevant to the question asked. A thumbs up signifies relevance, while a thumbs down indicates the document was not useful. Thank you for your time and effort in testing {RAG_APP_NAME}. Your contributions are essential to delivering a high-quality product to our end users.""" print(instructions_to_reviewer)
執行部署數據格,以 get 檢閱應用程式的連結。
Review App URL: https://<your-workspace-url>.databricks.com/ml/review/<uc-catalog>.<uc-schema>.<uc-model-name>/<uc-model-version>
Grant 允許個別使用者存取檢閱應用程式的權限。
您可以遵循 Set 許可權以使用檢閱應用程式中的步驟,grant 非 Databricks 使用者的存取權。
自行詢問幾個問題,並提供意見反應,以測試檢閱應用程式。
注意
來自檢閱應用程式的 MLflow 記錄和使用者反饋意見會顯示在您配置的 catalogschema 中的 Delta Tables。 記錄最多可能需要 2 小時才會出現在這些 Delta Tables中。
與利害關係人共用檢閱應用程式
您現在可以與專案關係人共用POC RAG 應用程式,以 get 其意見反應。
重要
Databricks 建議將POC散發給至少三個項目關係人,並 having 每個項目關係人詢問 10 - 20 個問題。 請務必讓多個項目關係人測試您的POC,讓您可以有各種不同的檢視方塊 set,以納入您的評估 set。
後續步驟
持續第 步驟 3。依據利害關係人的回饋意見策劃評估 Set。