未提供项目描述
项目描述
OpenAI Evals
Evals提供了一个框架,用于评估大型语言模型(LLM)或使用LLM构建的系统。我们提供现有的evals注册表来测试OpenAI模型的不同维度,以及为您关心的用例编写自定义evals的能力。您还可以使用自己的数据构建私有的evals,这些evals代表您工作流程中的常见LLM模式,而不会公开任何数据。
如果您正在使用LLM进行构建,创建高质量的evals是您可以做的最有影响的事情之一。没有evals,了解不同模型版本可能如何影响您的用例可能会非常困难且耗时。用OpenAI总裁Greg Brockman的话说:
设置
要运行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_ACCOUNT
、SNOWFLAKE_DATABASE
、SNOWFLAKE_USERNAME
和SNOWFLAKE_PASSWORD
。
编写评估
我们建议从以下开始
- 查看构建评估的过程:
build-eval.md
- 探索实现自定义评估逻辑的示例:
custom-eval.md
- 编写您自己的完成函数:
completion-fns.md
- 查看我们编写评估的入门指南:开始使用OpenAI评估
请注意,我们目前不接受包含自定义代码的评估!虽然我们要求您目前不要提交此类评估,但您仍然可以提交带有自定义模型评分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 的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 0ffd9bed75c273a4a9f0b10ccf11a5e1e1c63c89926f12958375551429a4dc21 |
|
MD5 | ff5259c3d291c969acb690dc89dc662c |
|
BLAKE2b-256 | b1c7deae74cdbc70ce92a23d3708851770257c487a4d0a668d5aed69916d532e |
evals-3.0.1.post1-py3-none-any.whl 的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 0abcb2051303500784b1641a6e4f6b813ed43ad64f879a37d344a6774eb8eb78 |
|
MD5 | f939836dde842bb5d0394c824f7866ec |
|
BLAKE2b-256 | 7fe4b54a8285cd6bece2722fb2091570b70df061a9c7821aa460f48717bb6bda |