跳转到主要内容

未提供项目描述

项目描述

OpenAI Evals

Evals提供了一个框架,用于评估大型语言模型(LLM)或使用LLM构建的系统。我们提供现有的evals注册表来测试OpenAI模型的不同维度,以及为您关心的用例编写自定义evals的能力。您还可以使用自己的数据构建私有的evals,这些evals代表您工作流程中的常见LLM模式,而不会公开任何数据。

如果您正在使用LLM进行构建,创建高质量的evals是您可以做的最有影响的事情之一。没有evals,了解不同模型版本可能如何影响您的用例可能会非常困难且耗时。用OpenAI总裁Greg Brockman的话说:

https://x.com/gdb/status/1733553161884127435?s=20

设置

要运行evals,您需要设置并指定您的OpenAI API密钥。获取API密钥后,使用OPENAI_API_KEY环境变量指定它。请注意,在运行evals时使用API的相关费用。您还可以使用Weights & Biases运行和创建evals。

最低要求版本:Python 3.9

下载evals

我们的评估注册表使用Git-LFS存储。一旦您下载并安装了LFS,您就可以使用以下命令从本地评估库中获取评估(

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钩子中。现在,pre-commit将在每次提交时运行。

如果您想要手动在存储库上运行所有pre-commit钩子,请运行pre-commit run --all-files。要运行单个钩子,请使用pre-commit run <hook_id>

运行评估

如果您不想贡献新的评估,但只想在本地运行它们,您可以通过pip安装评估包

pip install evals

您可以在run-evals.md中找到运行现有评估的完整说明,并在我们现有的评估模板中找到eval-templates.md。对于像提示链或使用工具的代理等更高级的使用案例,您可以使用我们的完成函数协议

如果我们提供您将评估结果记录到Snowflake数据库的选项,如果您有一个或希望设置一个。为此选项,您还必须指定环境变量SNOWFLAKE_ACCOUNTSNOWFLAKE_DATABASESNOWFLAKE_USERNAMESNOWFLAKE_PASSWORD

编写评估

我们建议从以下开始

请注意,我们目前不接受包含自定义代码的评估!虽然我们要求您目前不要提交此类评估,但您仍然可以提交带有自定义模型评分YAML文件的模型评分评估。

如果您认为您有一个有趣的评估,请提交一个带有您的贡献的拉取请求。OpenAI员工在考虑改进即将推出的模型时积极审查这些评估。

常见问题解答

您有任何从头到尾构建评估的示例吗?

  • 是的!这些在examples文件夹中。我们建议您阅读build-eval.md以深入了解这些示例中发生的事情。

您有以多种不同方式实现的评估示例吗?

  • 是的!特别是查看evals/registry/evals/coqa.yaml。我们已为各种评估模板实现CoQA数据集的小子集,以帮助说明差异。

当我运行评估时,它有时在最后(在最终报告后)挂起。发生了什么?

  • 这是一个已知问题,但您应该可以安全地中断它,并且评估将立即完成。

有很多代码,我只是想快速启动一个评估。帮助?或者,

我是一个世界级的提示工程师。我选择不编码。我如何贡献我的智慧?

  • 如果您遵循现有的 评估模板 来构建基本或等级模型的评估,您根本不需要编写任何评估代码!只需提供您的 JSON 格式数据,并在 YAML 中指定评估参数。build-eval.md 将引导您完成这些步骤,您还可以通过 examples 文件夹中的 Jupyter 笔记本来补充这些说明,以帮助您快速开始。但是,请记住,一个好的评估不可避免地需要仔细思考和严格的实验!

免责声明

通过向评估做出贡献,您同意将您的评估逻辑和数据按照与该存储库相同的 MIT 许可发布。您必须拥有上传评估中使用的数据的充分权利。OpenAI 保留在将来的产品服务改进中使用这些数据的权利。对 OpenAI 评估的贡献将受我们通常的《使用政策》约束:https://platform.openai.com/docs/usage-policies

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源代码分发

evals-3.0.1.post1.tar.gz (44.2 MB 查看散列值)

上传时间 源代码

构建分发

evals-3.0.1.post1-py3-none-any.whl (46.3 MB 查看散列值)

上传时间 Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面