评估(通常称为 评估) 测试模型输出,以确保它们符合你指定的风格和内容标准。编写评估是构建可靠应用程序的重要组成部分。 数据集是 OpenAI 平台的一项功能,提供了一种快速入门评估和测试提示词的方法。
如果你需要高级功能,例如与外部模型进行对比评估、希望通过 API 与你的评估运行进行交互,或者希望更大规模地运行评估,请考虑使用 评估 instead.
创建数据集
首先,在控制台中创建一个数据集。
- 在 评估页面,请导航至 数据集 tab.
- 点击右上角的 创建 按钮即可开始。
- 在输入框中为你的数据集添加名称。在本指南中,我们将数据集命名为“Investment memo generation”。
- 添加数据。若要从头构建你的数据集,请点击 创建 并开始通过我们的可视化界面添加数据。如果你已有保存的提示词或包含数据的 CSV,请上传它。
我们建议将您的数据集视为一个动态空间,随着时间推移不断扩展您的评估数据集。当您发现需要监控的边缘情况或盲点时,可以通过控制台界面将其添加进来。
上传 CSV
我们有一个简单的 CSV 文件,其中包含公司名称及其过去几个季度的实际收入值。
CSV 中的列可供您的提示词和评分器访问。例如,我们的 CSV 包含输入列(company)和基准列(correct_revenue, correct_income),供评分器作为参考使用。
使用可视化数据界面
打开数据集后,您可以在 数据 选项卡中管理您的数据。点击单元格可编辑其内容。点击添加行可增加更多数据。您也可以通过每行右侧的更多操作菜单来删除或复制行。
要保存更改,请点击右上角的 保存 按钮。
构建提示词
数据集仪表板中的标签页允许多个提示词与同一数据进行交互。
-
要添加新提示词,请点击 添加提示词.
数据集旨在与您的 OpenAI 提示词配合使用。如果你已在 OpenAI 平台上保存了提示词,可以从下拉菜单中选择它并在该界面中进行修改。要保存你对提示词的更改,请点击 保存.
我们的提示词使用版本控制系统,因此您可以安全地进行更新。点击 保存 将为您创建提示词的新版本,您可以在 OpenAI 平台的任何地方引用或使用它。
-
在提示词面板中,使用提供的字段和设置来控制推理调用:
- 点击右上角的滑块图标以控制模型
temperatureandtop_p. - 添加工具可赋予您的推理调用访问网络、使用 MCP 或完成其他工具调用操作的能力。
- 添加变量。提示词和您的 评分器 都可以引用这些变量。
- 直接输入您的系统消息,或点击铅笔图标,让模型根据您提供的基本指令来辅助生成提示词。
在我们的示例中,我们将添加 网络搜索 工具,以便我们的模型调用能够从互联网获取财务数据。在变量列表中,我们将添加 company 以便我们的提示词能引用数据集中的公司列。至于提示词,我们将通过告诉模型“生成一份财务报告”来生成一个。
生成并标注输出
在数据和提示词设置好之后,你就可以生成输出了。模型的输出可以让你了解模型在你提供的提示词和工具下执行任务的表现。然后你将标注这些输出,以便模型能够随着时间的推移提高其性能。
-
在右上角,点击 生成输出.
你会看到数据集中出现一个新的特殊 输出 列并开始填充结果。此列包含在数据集的每一行上运行提示词所生成的结果。
-
生成的输出准备就绪后,请对其进行标注。通过点击 输出, 评分, or output_feedback column.
您可以按需标注任意数量的数据。数据集旨在兼容各种程度和类型的标注,但您提供的信息质量越高,最终效果就越好。
标注的作用
标注是评估和改进模型输出的关键部分。好的标注能够:
- 作为预期模型行为的真值基准,即使是针对高度特定的场景——包括风格和语气等主观要素
- 提供信息密集的上下文,从而实现自动提示词优化(通过我们的提示词优化器)
- 能够诊断提示词的缺陷,特别是在细微或不常见的情况下
- 有助于确保评分器与您的意图保持一致
您可以随心所欲地选择标注的多少。数据集旨在适应任何程度和类型的标注,但您提供的信息质量越高,最终结果就越好。此外,如果您不是数据集内容领域的专家,我们建议由主题专家来进行标注——这是将其专业知识融入您的优化流程中最有价值的方式。探索 我们的 cookbook 以了解更多关于我们在使用 evals 提升提示词鲁棒性方面发现的最有效实践。
标注起点
以下是一些可用于入门的标注类型:
- 好/坏评分,表示您对输出的评判
- 文本评价位于 output_feedback 部分
- 您在以下位置添加的自定义标注类别: 列 右上角的下拉菜单
引入专家标注
如果您不是数据集相关领域的专家,请让主题专家进行标注。这是将专业知识引入优化过程的最佳方式。探索 我们的 cookbook to learn more.
添加评分器
虽然标注是将人类反馈引入评估过程的最有效方法,但评分器可让您大规模运行评估。评分器是自动化评估工具,可根据其类型生成各种输入。
| 类型 | 详情 | 用例 |
|---|---|---|
| 字符串检查 | 使用精确字符串匹配将模型输出与参考进行比较 | 检查您的响应是否与真实情况列完全匹配 |
| 文本相似度 | 使用嵌入计算模型输出与参考之间的语义相似度 | 检查你的响应与真实参考答案的接近程度,适用于不需要精确匹配的情况 |
| 评分模型评分器 | 使用 LLM 来分配数值分数 | 以数值形式衡量友好度等主观属性 |
| 标签模型评分器 | 使用 LLM 来选择分类标签 | 根据固定标签(例如“简洁”或“冗长”)对你的响应进行分类 |
| Python 代码执行 | 运行自定义 Python 代码以编程方式计算结果 | 检查输出是否少于 50 个单词 |
- 在右上角,导航至 Grade > 新建评分器.
- 从下拉菜单中选择评分器类型,并填写表单以构建你的评分器。
- 引用数据集中的列,以便与真实值进行比对检查。
- 创建评分器。
- 添加至少一个评分器后,使用 评分 下拉菜单在你的数据集上运行特定评分器或所有评分器。运行完成后,你将在数据集中看到每个评分器专属列中的通过/未通过评级。
保存数据集后,在对数据集和提示词进行更改时,评分器会持续保留,这使其成为快速评估提示词或模型参数更改是否会带来改进,或者添加边缘情况是否会揭示提示词缺陷的绝佳方式。数据集仪表板支持多个标签页,可同时跟踪跨多个提示词变体的自动评分器结果。
后续步骤
数据集非常适合快速迭代。当你准备好长期跟踪性能或进行大规模运行时,请将数据集导出至 评估。评估以异步方式运行,支持更大数据量,并允许您跨版本监控性能。
获取更多灵感,请访问 OpenAI Cookbook, 其中包含示例代码和第三方资源链接,或了解更多关于我们的评估工具的信息:
使用评估来运作一个持续改进的飞轮。
针对外部模型进行评估、通过 API 与评估进行交互等。
使用您的数据集自动改进您的提示。
构建复杂的评分器,以提升你 eval 的有效性。