项目介绍:Bench
什么是Bench?
Bench是一款用于评估大语言模型(LLM)在实际生产环境中表现的工具。无论是比较不同的大语言模型、考量不同的提示词(prompts),还是测试生成参数如温度(temperature)和生成令牌(tokens)数,Bench都提供一个统一的平台来帮助用户评估LLM的性能。
Bench能帮你做什么?
如果您在使用大语言模型的过程中有以下需求,那么Bench将是您的理想选择:
- 标准化评估流程:Bench提供统一的界面,适用于各种任务和使用场景,帮助您标准化LLM的评估流程。
- 开源LLM测试:您可以利用Bench测试开源的LLM是否能够和顶级的闭源大语言模型API供应商在您的特定数据上表现相当。
- 转换排行榜结果:Bench可以将LLM排行榜和基准测试结果转换为适合您实际使用场景的评分。
如何参与Bench社区?
Bench社区欢迎任何对大语言模型评估感兴趣的人士加入。可通过Discord参与社区讨论。如果发现了Bug或者有新功能的建议,也可以通过Github提交问题。
软件包安装
要将Bench安装到您的Python环境中,可以选择以下方法:
-
推荐安装方法(已含本地服务结果展示的可选依赖):
pip install 'arthur-bench[server]'
-
最小依赖安装方法:
pip install arthur-bench
详细的安装指南可访问安装指南。
使用Bench
想了解如何深入使用Bench,请参考我们提供的快速入门教程和测试套件创建指南。
以下是一个使用Bench创建测试套件并对候选输出进行评分的示例代码:
from arthur_bench.run.testsuite import TestSuite
suite = TestSuite(
"bench_quickstart",
"exact_match",
input_text_list=["What year was FDR elected?", "What is the opposite of down?"],
reference_output_list=["1932", "up"]
)
suite.run("quickstart_run", candidate_output_list=["1932", "up is the opposite of down"])
保存的测试套件可以在以后加载,以便在不重新准备参考数据的情况下检验测试性能:
existing_suite = TestSuite("bench_quickstart", "exact_match")
existing_suite.run("quickstart_new_run", candidate_output_list=["1936", "up"])
要在本地用户界面中查看这些运行结果,可以在命令行中运行bench
(这需要安装bench的可选服务器依赖):
bench
在Bench用户界面中查看样例结果大致如下图所示:
从源码运行Bench
要从源码启动Bench,请遵循以下步骤:
-
安装依赖:
pip install -e '.[server]'
-
构建前端:
cd arthur_bench/server/js npm i npm run build
-
启动服务器:
bench
由于使用pip -e
安装,任何本地更改都会被捕捉到,但在更改之间需要重启服务器以使更改生效。