您现在可以直接在 OpenAI Dashboard 中配置和运行 Evals。立即开始 →
Evals 提供了一个评估大型语言模型 (LLM) 或基于 LLM 构建的系统的框架。我们提供了一个现成的评估注册表,用于测试 OpenAI 模型的不同维度,并且您可以根据自己的用例编写自定义评估。您还可以使用自己的数据构建私有评估,以代表工作流中常见的 LLM 模式,同时无需公开任何数据。
如果您正在使用 LLM 构建应用,创建高质量的评估是关键任务之一。没有评估,了解不同模型版本如何影响您的用例将非常困难且耗时。引用 OpenAI 总裁 Greg Brockman 的话:
要运行评估,您需要设置并指定 OpenAI API 密钥。获取密钥后,请通过 OPENAI_API_KEY 环境变量指定。请注意运行评估时使用 API 产生的成本。您也可以使用 Weights & Biases 运行和创建评估。
最低要求版本:Python 3.9
我们的评估注册表使用 Git-LFS 存储。下载并安装 LFS 后,您可以从本地复制中获取评估(请确保在 evals 仓库目录内运行):
cd evals
git lfs fetch --all
git lfs pull
这将填充 evals/registry/data 下所有指针文件。
如果您只想获取特定评估的数据,可以执行:
git lfs fetch --include=evals/registry/data/${your eval}
git lfs pull
如果您打算创建评估,建议直接从 GitHub 克隆此仓库,并使用以下命令安装所需依赖:
pip install -e .
使用 -e 参数,您对评估的更改将立即生效,无需重新安装。
可选地,您可以安装用于预提交的格式化工具:
pip install -e .[formatters]
然后运行 pre-commit install 将 pre-commit 安装到您的 git hooks 中。pre-commit 将在每次提交时运行。
如果您想手动在仓库上运行所有 pre-commit hooks,请执行 pre-commit run --all-files。要运行单个 hook,请使用 pre-commit run <hook_id>。
如果您不想贡献新的评估,而只是想在本地运行它们,可以通过 pip 安装 evals 包:
pip install evals
您可以在 run-evals.md 中找到运行现有评估的完整说明,在 eval-templates.md 中找到现有评估模板。对于提示链或工具使用代理等更高级的用例,您可以使用我们的 Completion Function Protocol。
我们提供将评估结果记录到 Snowflake 数据库的选项(如果您有或希望设置一个)。如果使用此选项,您需要进一步指定 SNOWFLAKE_ACCOUNT、SNOWFLAKE_DATABASE、SNOWFLAKE_USERNAME 和 SNOWFLAKE_PASSWORD 环境变量。
我们建议从以下步骤开始:
build-eval.mdcustom-eval.mdcompletion-fns.md请注意,我们目前不接受带有自定义代码的评估!虽然我们要求您暂时不要提交此类评估,但您仍然可以提交带有自定义模型评分 YAML 文件的模型评分评估。
如果您认为有一个有趣的评估,请通过拉取请求提交您的贡献。OpenAI 员工在考虑改进未来模型时,会积极审查这些评估。
有没有从零开始构建评估的示例?
examples 文件夹中。我们还建议您阅读 build-eval.md,以便深入了解这些示例中的具体过程。有没有以多种不同方式实现的评估示例?
evals/registry/evals/coqa.yaml。我们为各种评估模板实现了 CoQA 数据集的小子集,以帮助说明不同之处。当我运行评估时,有时会在最后(最终报告之后)卡住。发生了什么?
代码太多了,我只想快速启动一个评估。帮帮忙?或者,
我是世界级的提示工程师。我选择不写代码。我该如何贡献我的智慧?
examples 文件夹中的 Jupyter 笔记本进行指导,以便快速入门。但请记住,一个好的评估不可避免地需要仔细思考和严格的实验!通过贡献评估,您同意根据与此仓库相同的 MIT 许可授权您的评估逻辑和数据。您必须拥有足够权限上传评估中使用的任何数据。OpenAI 保留在未来的产品改进中使用这些数据的权利。对 OpenAI Evals 的贡献将受我们的使用政策约束:https://platform.openai.com/docs/usage-policies。