Label Studio 是一个开源数据标注平台,为 LangChain 在标注用于微调大语言模型 (LLM) 的数据时提供灵活性。它还支持准备自定义训练数据以及通过人工反馈收集和评估响应。在本指南中,您将学习如何将 LangChain 管道连接到
Label Studio 以:
- 在单个
Label Studio项目中聚合所有输入提示、对话和响应。这会将所有数据整合在一个地方,以便于标注和分析。 - 完善提示和响应,为监督微调 (SFT) 和带有人工反馈的强化学习 (RLHF) 场景创建数据集。标注的数据可用于进一步训练 LLM 以提高其性能。
- 通过人工反馈评估模型响应。
Label Studio提供了一个界面,供人类审查模型响应并提供反馈,允许评估和迭代。
安装和设置
首先安装最新版本的 Label Studio 和 Label Studio API 客户端:label-studio 以在 http://localhost:8080 启动本地 LabelStudio 实例。有关更多选项,请参阅 Label Studio 安装指南。
您需要一个令牌来进行 API 调用。
在浏览器中打开您的 LabelStudio 实例,转到 Account & Settings > Access Token 并复制密钥。
使用您的 LabelStudio URL、API 密钥和 OpenAI API 密钥设置环境变量:
收集 LLM 提示和响应
用于标注的数据存储在 Label Studio 内的项目中。每个项目都由一个 XML 配置标识,该配置详细说明了输入和输出数据的规范。 创建一个项目,该项目接受文本格式的人工输入并在文本区域中输出可编辑的 LLM 响应:- 要在 Label Studio 中创建项目,请单击”创建”按钮。
- 在”项目名称”字段中输入项目的名称,例如
My Project。 - 导航到
Labeling Setup > Custom Template并粘贴上面提供的 XML 配置。
LabelStudioCallbackHandler 连接它:
My Project。您将看到提示、响应和元数据(如模型名称)。
收集聊天模型对话
您还可以在 LabelStudio 中跟踪和显示完整的聊天对话,并能够对最后一个响应进行评分和修改:- 打开 Label Studio 并单击”创建”按钮。
- 在”项目名称”字段中输入项目的名称,例如
New Project with Chat。 - 导航到 Labeling Setup > Custom Template 并粘贴以下 XML 配置:
自定义标注配置
您可以修改 LabelStudio 中的默认标注配置,以添加更多目标标签,如响应情感、相关性以及许多其他类型的标注者反馈。 可以从 UI 添加新的标注配置:转到Settings > Labeling Interface 并使用其他标签(如用于情感的 Choices 或用于相关性的 Rating)设置自定义配置。请记住,TextArea 标签 应该出现在任何配置中以显示 LLM 响应。
或者,您可以在项目创建之前的初始调用中指定标注配置:
其他参数
LabelStudioCallbackHandler 接受几个可选参数:
- api_key - Label Studio API 密钥。覆盖环境变量
LABEL_STUDIO_API_KEY。 - url - Label Studio URL。覆盖
LABEL_STUDIO_URL,默认为http://localhost:8080。 - project_id - 现有 Label Studio 项目 ID。覆盖
LABEL_STUDIO_PROJECT_ID。将数据存储在此项目中。 - project_name - 如果未指定项目 ID,则为项目名称。创建新项目。默认是使用当前日期格式化的
"LangChain-%Y-%m-%d"。 - project_config - 自定义标注配置
- mode:使用此快捷方式从头创建目标配置:
"prompt"- 单个提示,单个响应。默认。"chat"- 多轮聊天模式。