步骤 2. 部署 POC 以收集利益干系人的反馈

在此步骤结束时,你将完成代理评估评审应用的部署,该应用程序允许利益干系人测试 POC 并提供反馈。 利益干系人的使用情况及其反馈的详细日志将流向 Lakehouse 中的 Delta 表。

RAG 应用程序概念证明

要求

有关本部分中的示例代码,请参阅 GitHub 存储库

RAG 应用程序的概念证明

在由评估推动的开发工作中,第一步是构建概念证明 (POC)。 POC 具备以下优势:

  • 对于使用 RAG 的用例的可行性,给出大致的评估观点
  • 允许收集利益干系人的初步反馈,从而让你能够创建评估集的第一个版本
  • 建立质量基准度量,以便开始迭代

Databricks 建议使用最简单的 RAG 体系结构和 Databricks 为每个参数推荐的默认值来生成 POC。

我们之所以给出这条建议,是因为你可以在 RAG 应用程序中调整数百种可能的参数组合。 你可以轻松地花费数周时间来优化这些设置,但如果这样做,在系统地评估 RAG 之前,最终会陷入所谓的 POC 厄运循环,即迭代设置,但无法客观地知道是否做出了改进——而利益干系人则不耐烦地坐在那里等待审阅。

本教程中的 POC 模板设计为考虑到质量迭代。 我们根据 Databricks 研究团队所表明的对提高 RAG 质量至关重要的调整内容对这些模板展开了参数化操作。 这些模板不是“神奇地生成 RAG 的 3 行代码”,而是一个结构良好的 RAG 应用程序,对于由评估推动的开发工作流程,可以在后续步骤中进行质量调整。

这使你能够快速部署 POC,并在无需重写代码的情况下快速过渡到质量迭代。

下面是 POC 应用程序的技术体系结构:

POC 应用程序体系结构

注意

默认情况下,POC 使用 Mosaic AI Foundation Model Serving 上提供的开源模型。 但是,由于 POC 使用支持任何基础模型的 Mosaic AI Model Serving,因此使用不同的模型很容易 - 只需在 Model Serving 中配置该模型,然后在 00_config 笔记本中替换 embedding_endpoint_namellm_endpoint_name 即可。

部署 POC 以收集反馈的步骤

以下步骤演示如何运行和部署 POC 生成式 AI 应用程序。 部署后,你将获得评审应用的 URL,可以与利益干系人共享以收集反馈。

  1. 根据数据类型,打开 A_POC_app 内的 POC 代码文件夹:

    如果你的数据不满足上述任一要求,则可以在上述 POC 目录的 02_poc_data_pipeline 中自定义解析函数 (parser_udf) 以处理你的文件类型。

    在 POC 文件夹中,可以看到以下笔记本:

    笔记本文件

    注意

    这些笔记本与所选的特定 POC 相关。 例如,如果你看到对 00_config 的引用并且选择了 pdf_uc_volume,则可以在 A_POC_app/pdf_uc_volume/00_config 找到相关的 00_config 笔记本。

  2. (可选)查看默认参数。

    打开上面选择的 POC 目录中的 00_config 笔记本,以查看 POC 应用程序的数据管道和 RAG 链的默认参数。

    重要

    Databricks 建议的默认参数并不完美,你可以在此基础上进行优化。 此工作流的后续步骤将指导你迭代这些参数。

  3. 验证配置。

    运行 01_validate_config,检查配置是否有效并且所有资源是否可用。 rag_chain_config.yaml 文件将显示在目录中,用于部署应用程序。

  4. 运行数据管道。

    POC 数据管道是基于 Apache Spark 的 Databricks 笔记本。 打开 02_poc_data_pipeline 笔记本,然后按“全部运行”以运行管道。 管道会执行以下操作:

    • 从 UC 卷加载原始文档
    • 分析每个文档,将结果保存到 Delta 表
    • 将每个文档分块,将结果保存到 Delta 表
    • 嵌入文档并使用 Mosaic AI 矢量搜索创建矢量索引

    系统会将有关数据管道的元数据(例如输出表和配置)记录到 MLflow:

    显示数据管道的 GIF

    可以通过查找笔记本底部附近的 Delta 表或向量索引输出的链接来检查输出:

    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
    
  5. 将 POC 链部署到审阅应用。

    默认 POC 链是使用 LangChain 构建的多轮对话 RAG 链。

    注意

    POC 链使用基于 MLflow 代码的日志记录。 若要详细了解基于代码的日志记录,请参阅日志和注册 AI 代理

    1. 打开 03_deploy_poc_to_review_app 笔记本

    2. 运行笔记本的每个单元。

    3. MLflow 跟踪显示 POC 应用程序的工作原理。 将输入问题调整为与用例相关的问题,然后重新运行该单元以“检查”应用程序。

      显示 MLflow 跟踪的 GIF

    4. 修改与用例相关的默认说明。 这些内容会显示在“审阅应用”中。

         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)
      
    5. 运行部署单元以获取审阅应用的链接。

      Review App URL: https://<your-workspace-url>.databricks.com/ml/review/<uc-catalog>.<uc-schema>.<uc-model-name>/<uc-model-version>
      
  6. 向单个用户授予访问审阅应用的权限。

    可以按照“设置权限”中的 步骤来授予对非 Databricks 用户的访问权限,以使用评审应用

  7. 通过自行提问并提供反馈来测试审阅应用程序。

    注意

    MLflow 跟踪和来自审阅应用的反馈会显示在已配置的目录架构中的 Delta 表中。 日志最多可能需要 2 小时才能显示在这些 Delta 表中。

  8. 与利益干系人共享审阅应用

    现在可以与利益干系人共享 POC RAG 应用程序以获取他们的反馈。

    重要

    Databricks 建议将 POC 分发给至少三个利益干系人,并让他们分别提出 10 - 20 个问题。 必须让多个利益干系人测试 POC,这样你就可以在评估集中纳入多样化的观点。

下一步

继续执行“步骤 3:根据利益干系人的反馈制定评估集”。

< 上一步:步骤 1。克隆存储库并创建计算

下一步:步骤 3。策展评估集 >