
openevals
几行代码给 LLM 应用打分,快速比出哪个版本更好
openevals 是 LangChain 生态下的一套开箱即用的 LLM 应用评测器集合,面向需要评估大模型应用输出质量的开发者。它解决的核心问题是:团队在构建 RAG、Agent、对话机器人等 LLM 应用时,往往缺少统一、可复用的评测标准,自己从零写评测逻辑既费时又难保证一致性。openevals 提供预置的评测器,覆盖正确性、相关性、幻觉检测、结构化输出校验等常见维度,并支持 LLM-as-judge 模式,让模型自己充当评分员。它可以与 LangSmith 等实验追踪平台集成,把评测结果直接写入实验记录,方便对比不同提示词、模型或检索策略的效果。整体定位轻量,安装后即可在现有 Python 流程中调用,适合快速搭建评测基线。
项目数据
使用教程
环境要求
- Python 环境(使用 Python 版 openevals)
- pip 包管理器
- OpenAI API Key(LLM-as-judge 评测器需要)
- Node.js/npm(仅 TypeScript 用户需要)
- E2B API Key(仅使用代码执行/类型检查评测器时需要)
安装与启动步骤
-
1安装 openevals
按 README 的安装说明用 pip 安装 Python 版 openevals 包,安装完成后即可在项目中导入使用。
pip install openevals -
2设置 OpenAI 密钥
Quickstart 使用 OpenAI 模型充当裁判,需要把 API Key 写入环境变量 OPENAI_API_KEY,示例值请替换为真实密钥。
export OPENAI_API_KEY="your_openai_api_key" -
3编写首个评测脚本
用 create_llm_as_judge 配合 CONCISENESS_PROMPT 构造简洁性评测器,model 指定为 openai:gpt-5.6-sol;README 示例到 outputs 定义处被截断。
from openevals.llm import create_llm_as_judge from openevals.prompts import CONCISENESS_PROMPT conciseness_evaluator = create_llm_as_judge( # CONCISENESS_PROMPT is just an f-string prompt=CONCISENESS_PROMPT, model="openai:gpt-5.6-sol", ) inputs = "How is the weather in San Francisco?" # These are fake outputs, in reality you would run your LLM-based system to get real outputs outputs = "Thanks for asking! The current weather in San Francisco is sunny and 90 degrees." -
4可选:安装 OpenAI 客户端
默认使用 LangChain chat model integrations 并自带 langchain_openai;如果偏好直接用官方 OpenAI 客户端,README 给出该安装命令。
pip install openai -
5可选:E2B 代码评测
使用 E2B 沙箱做代码执行/类型检查评测时,TypeScript 需装对等依赖 @e2b/code-interpreter,并设置 E2B_API_KEY 环境变量。
npm install @e2b/code-interpreter process.env.E2B_API_KEY="YOUR_KEY_HERE"
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
OPENAI_API_KEY | 是 | LLM-as-judge 评测器调用 OpenAI 模型所需的环境变量 | your_openai_api_key |
E2B_API_KEY | 否 | 使用 E2B 沙箱执行代码评测时所需的环境变量 | YOUR_KEY_HERE |
model | 否 | create_llm_as_judge 的模型参数,决定由哪个模型担任裁判 | openai:gpt-5.6-sol |
如何确认成功
运行评测器无报错,并打印出形如 {'key': ..., 'score': ..., 'comment': ...} 的评测结果字典。
常见问题
Q:必须使用 OpenAI 模型吗?
A:不一定。默认走 LangChain chat model integrations,且已自带 langchain_openai;也可直接使用 openai 客户端。模型通过 model 参数指定,如 openai:gpt-5.6-sol。
Q:评测结果是什么格式?
A:README 示例中是包含 key、score、comment 三个字段的字典或对象,例如 {'key': 'pyright_succeeded', 'score': false, 'comment': ...}。
Q:想评测 LLM Agent 怎么办?
A:README 明确建议改用同组织的 agentevals 项目,它专注 Agent 评测,地址为 https://github.com/langchain-ai/agentevals。
Q:TypeScript 项目怎么安装?
A:执行 npm install openevals @langchain/core;如需直连 OpenAI 客户端再执行 npm install openai。
注意事项
- openevals 定位是评测起点,可在其预置评测器基础上编写更贴合自身应用的定制评测。
- 向 E2B 评测器传入 environment_variables/environmentVariables 后,模型生成的代码可在沙箱内读取这些变量,存在安全风险,需谨慎使用。
- README 建议先了解 LangSmith 的 evaluation concepts 文档,便于理解评测概念。
- 评测结果可与 LangSmith 等实验追踪平台集成,方便对比不同提示词、模型或检索策略。
核心亮点
- 提供多种预置评测器,覆盖正确性、相关性、幻觉等常见维度,无需从零实现
- 支持 LLM-as-judge,可直接用大模型对输出打分,降低人工标注成本
- 与 LangSmith 等实验平台集成,评测结果可追踪、可对比不同版本
不足之处
- 评测质量高度依赖所选 judge 模型,弱模型可能给出不稳定评分
- 生态与 LangChain/LangSmith 绑定较紧,脱离该体系使用便利性下降
适用场景
- 对比同一 RAG 应用在不同提示词下的回答质量
- 为 Agent 工具调用结果做自动化正确性校验
- 在 CI 流程中回归测试 LLM 应用,防止模型或提示词改动导致效果退化
替代项目
DeepEval、Ragas
项目介绍
上一篇:safelabs-eval
同类项目推荐
akto
开源
给 AI 应用做安全体检,防提示注入和数据泄露
Akto is the fastest growing AI Security platform for your teams to secure AI agents,···
XSafeClaw
开源
给 AI 智能体装上安全盾,自动红队测试找漏洞
Introducing XSafeClaw: The Open-Source Agent Safety Platform from Fudan University
Tracely-ai
开源
把生产事故变成回归测试,合并前自动拦截 AI 故障
Trace-native CI/CD for AI agents — production failures become regression tests that···
fast-llm-security-guardrails
开源
给 AI Agent 加一道快速安全闸门,防提示注入和隐私泄露
The fastest Trust Layer for AI Agents