NEW暗黑模式现已上线 🌓 Label Studio 1.18.0 版本发布

如何使用Label Studio、OpenAI和Ragas构建与评估RAG应用

指南

在本教程中,我们将指导您完成结合使用Label Studio与Ragas(检索增强生成答案评分)和GPT-4来构建优化问答应用程序的全过程。如果您想了解更多关于RAG和RAG评估的内容,请查看我们的文章Key Considerations in Evaluating RAG-Based Systems

为了让您快速上手,我们实现了一个使用RAG与Label Studio的示例,您可以在我们的label-studio-ml-backend代码库中找到它。

让我们来看看!

先决条件

在开始之前,请确保您已具备以下条件:

  • Label Studio: 已安装并准备就绪。
  • GPT-4 API访问权限: 可访问OpenAI的GPT-4 API。
  • Python 3.8+:确保已安装Python以运行Label Studio。

安装说明

如果尚未安装,请使用以下命令安装Label Studio:

pip install label-studio

确保您已准备好GPT-4的API密钥——在接下来的步骤中您将需要它。

第一步:准备您的语料库

要构建一个RAG应用,你需要准备一个文档语料库,系统将利用这些文档来回答问题。这可以是与你领域相关的任何文档集合。

以下是入门指南:

  • 收集文档或其他知识库资源:汇总所有您想用作知识库的文档。这些可以是Markdown文件、PDF或其他任何格式。
  • Load documents to be labeled into Label Studio:
    • 在Label Studio中创建一个新项目。
    • 将需要标注的文档上传至项目。如果文档是markdown格式,可以通过.md筛选以专注于相关文件。
  • Set up your labeling interface:
    • 设置您的项目标注界面。我们提供了一个用于Ragas评估的示例此处,但您可以根据具体需求自由定制。
  • Configure ML backend: Set up Label Studio to use an ML backend for processing. This backend will use GPT-4 to generate answers based on the context provided by your documents. We recommend starting with our example ml-backend integration, linked before the prerequisite steps.
    • 在项目设置中,转到模型标签页。
    • 通过提供您的API密钥并设置模型参数(包括GPT-4的端点),将您的GPT-4模型附加到项目中。
    • 启用交互式预标注功能。该特性允许您在系统生成答案时动态优化提示词,从而确保更精准的响应。

步骤2:创建并配置您的RAG应用

首先,您需要设置一个RAG工作流程。在Label Studio中,配置您的项目以启用交互式预标注功能。这对于在LLM生成答案时实时优化提示词至关重要。

定义一个工作流程,将问题连同语料库中的上下文传递给GPT-4。上下文通过从语料库中选择相关文档生成,这些文档将被嵌入并作为输入传递给GPT-4。

接下来,使用嵌入模型(例如OpenAI的嵌入API)将您的文档和问题转换为向量。利用向量数据库实现相似性搜索,基于余弦相似度查找最相关的文档。将这些相关文档作为上下文与问题一起传递给GPT-4。

GPT-4将根据提供的上下文生成答案。请在Label Studio中审核该答案。您可以通过添加具体指令(例如"包含macOS的示例")来优化提示词,以提高输出质量。

在我们的示例仓库中,我们在model.py文件的第32行iife_rag函数中实现了RAG系统。在那里,我们加载知识库文档,创建一个向量存储作为知识库的检索器,并将来自知识库的知识注入提示中以提示我们的LLM。当进行预测时,我们的系统会在_predict_single_task函数的第256行使用这个功能。请注意,我们的示例还设置为自动用返回的响应填充您的Label Studio任务页面,包括来自LLM的响应和下面提到的评估,这些评估都是基于文本和Ragas指标的。

步骤3:使用Ragas和文本证据评估答案。

确保您的设置已配置为使用Ragas指标,该指标将根据源文档使用忠实度和答案相关性等指标评估答案。如果您使用的是链接仓库中ReadMe.md提供的示例标注配置,那么您已经准备就绪!我们在model.py第93行的get_ragas_evaluation函数中实现了Ragas评估。我们在model.py第110行的get_textual_evaluation函数中实现了文本评估。

以下是具体操作步骤:

运行评估

对于每个问题,Ragas将自动评估答案,检查:

  • 忠实度:与提供文档的一致性。
  • 回答相关性:与所提问题的相关程度。

解读Ragas指标

Ragas提供0到1之间的评分(如果按比例缩放则为0-100)。利用这些评分来识别生成的答案可能需要改进的地方。Ragas还提供文本评估,帮助精确定位问题,例如未经证实的事实或不相关的细节。

使用文本证据

文本证据使我们能够通过让另一个LLM指向原始答案中的主张在提供的知识库中的位置,来“事实核查”我们的LLM输出。虽然审查这个过程是手动的,但对于那些可能获得较低Ragas分数或你想知道LLM为何如此回答的答案来说,这是一个很好的后续步骤。

在Label Studio中处理任务评估

在生成答案后,Label Studio允许您查看嵌入模型使用的来源——这对验证准确性至关重要。如果您需要处理多个问题,建议在批量处理期间禁用Ragas指标以加快评估速度。

步骤4:迭代改进

根据Ragas评估结果,接下来您将在Label Studio中优化提示词。例如,如果低可信度分数是由于语料库中信息缺失导致的,请更新文档或相应调整提示词。

当您对提示词和回答感到满意后,可以切换到批量处理模式以提高效率。Label Studio支持批量上传问题,同时仍保留Ragas指标以确保质量。

利用Ragas的反馈来更新您的语料库,优化嵌入模型,并持续改进提示词。这个迭代过程将帮助您逐步构建一个更强大的问答系统。

步骤5:优化性能

为了优化性能,请考虑您所使用的硬件。对于较长或更复杂的回答,使用强大的本地机器或升级到GPT-4 API专业版可以显著提升速度和整体性能。但请注意,较长的回答可能会降低Ragas评估的速度。关键在于在回答的复杂性和评估所需时间之间取得平衡。

在优化应用程序时,使用Ragas指标检测文档中的不一致之处,例如相互冲突的软件需求。发现这些差异后,请更新语料库或调整提示词,以保持生成答案的一致性和准确性。

在优化提示词时,要力求具体明确。例如,如果您正在编写安装说明,可以指导模型特别包含针对macOS系统的步骤。进行此类调整后,请检查它们对"忠实度"和"相关性"评分的影响,以确保这些改动能提高输出的准确性和相关度。

步骤6:部署与监控

在开发和全面测试您的RAG应用程序后,是时候将其部署到组织内部了。确保所有组件——Label Studio、GPT-4和Ragas——都能无缝集成到您的生产环境中。

部署完成后,请使用Ragas指标密切监控应用程序的性能。定期更新语料库并优化提示词,以确保系统与新信息和不断变化的用户需求保持一致。

鼓励用户对生成的答案提供反馈,并利用这些反馈持续优化和完善您的RAG应用,以实现最佳性能。

想了解更多?如果您想深入了解Label Studio(包括微调聊天机器人和大型语言模型的能力),我们专业的人工团队很乐意与您交流。立即联系我们

相关内容

  • 每个人都在(无意中)作弊

    AI基准测试正在悄然失效。研究表明,数据泄露、排行榜操纵和激励错配正在夸大模型性能。本文探讨了改革的四大支柱:治理、透明度、广谱指标和监督,并概述了企业如何通过集中式基准管理平台建立信任。

    尼古拉·柳比莫夫

    2025年5月13日

  • 提升标注质量和速度的3种标注团队操作手册

    每个机器学习团队都不尽相同,您的标注工作流程也应如此。本指南将解析三种常见的标注团队配置方案,以及如何定制您的工具和流程来提升质量、速度和规模。

    Alec Harris

    2025年5月7日

  • 您的RAG系统可能失败的七种情况及解决方法

    RAG系统承诺提供更准确的人工智能响应,但由于检索错误、幻觉和不完整答案等问题,它们往往表现不佳。本文探讨了七种常见的RAG系统故障——从遗漏排名靠前的文档到格式错误——并提供了实用解决方案来提高检索准确性、排序质量和响应质量。了解如何优化您的RAG系统,确保其提供可靠、具备上下文感知能力的人工智能响应

    米凯拉·卡普兰

    2025年3月19日