7.1 KiB
Note
本文档由 WeHub 基于上游 README 翻译整理,属于社区翻译,非官方中文文档。
English · 原始项目 · 上游 README
原作者、版权与许可证归属以原始项目及本仓库 LICENSE 文件为准。
为 LLM 应用评测全面提速 🚀
文档 | 快速开始 | 加入 Discord | 博客 | 通讯 | 招聘
面向 LLM 应用的客观指标、智能测试生成与数据驱动洞察
Ragas 是用于评估和优化大语言模型(Large Language Model,LLM)应用的终极工具包。告别耗时且主观性强的评估方式,迎接数据驱动、高效的评测工作流。 还没有准备好测试数据集?我们也提供与生产环境对齐的测试集生成能力。
核心特性
- 🎯 客观指标(Objective Metrics):使用基于 LLM 的传统指标与新型指标,精准评估你的 LLM 应用。
- 🧪 测试数据生成(Test Data Generation):自动创建覆盖广泛场景的完整测试数据集。
- 🔗 无缝集成(Seamless Integrations):与 LangChain 等主流 LLM 框架及主要可观测性工具完美协作。
- 📊 构建反馈闭环:利用生产数据持续改进你的 LLM 应用。
🛡️ 安装
Pypi:
pip install ragas
或者从源码安装:
pip install git+https://github.com/vibrantlabsai/ragas
🔥 快速开始
克隆完整示例项目
最快的上手方式是使用 ragas quickstart 命令:
# List available templates
ragas quickstart
# Create a RAG evaluation project
ragas quickstart rag_eval
# Specify where you want to create it.
ragas quickstart rag_eval -o ./my-project
可用模板:
rag_eval- 评估 RAG 系统
即将推出:
agent_evals- 评估 AI 智能体benchmark_llm- 基准测试与对比 LLMprompt_evals- 评估提示词变体workflow_eval- 评估复杂工作流
评估你的 LLM 应用
ragas 内置了常见评估任务的预置指标。例如,Aspect Critique 可使用 DiscreteMetric 评估输出的任意方面:
import asyncio
from openai import AsyncOpenAI
from ragas.metrics import DiscreteMetric
from ragas.llms import llm_factory
# Setup your LLM
client = AsyncOpenAI()
llm = llm_factory("gpt-4o", client=client)
# Create a custom aspect evaluator
metric = DiscreteMetric(
name="summary_accuracy",
allowed_values=["accurate", "inaccurate"],
prompt="""Evaluate if the summary is accurate and captures key information.
Response: {response}
Answer with only 'accurate' or 'inaccurate'."""
)
# Score your application's output
async def main():
score = await metric.ascore(
llm=llm,
response="The summary of the text is..."
)
print(f"Score: {score.value}") # 'accurate' or 'inaccurate'
print(f"Reason: {score.reason}")
if __name__ == "__main__":
asyncio.run(main())
注意:请确保已设置
OPENAI_API_KEY环境变量。
查看完整的快速开始指南
想借助评测改进你的 AI 应用?
过去两年里,我们见证并帮助了许多 AI 应用通过评测实现改进。如果你希望借助评测来改进并扩展你的 AI 应用。
🔗 预约一个时段,或给我们写信:founders@vibrantlabs.com。
🫂 社区
如果你想更深入地参与 Ragas,欢迎查看我们的 Discord 服务器.。这是一个有趣的社区,我们一起探讨 LLM、检索(Retrieval)、生产环境相关问题等话题。
贡献者
+----------------------------------------------------------------------------+
| +----------------------------------------------------------------+ |
| | Developers: Those who built with `ragas`. | |
| | (You have `import ragas` somewhere in your project) | |
| | +----------------------------------------------------+ | |
| | | Contributors: Those who make `ragas` better. | | |
| | | (You make PR to this repo) | | |
| | +----------------------------------------------------+ | |
| +----------------------------------------------------------------+ |
+----------------------------------------------------------------------------+
我们欢迎社区贡献!无论是修复 bug、添加功能还是改进文档,你的参与都弥足珍贵。
- Fork 该仓库
- 创建你的功能分支(git checkout -b feature/AmazingFeature)
- 提交你的更改(git commit -m 'Add some AmazingFeature')
- 推送到该分支(git push origin feature/AmazingFeature)
- 发起 Pull Request
🔍 开放分析(Open Analytics)
在 Ragas,我们信奉透明。我们会收集最少量的匿名使用数据,以改进产品并指导开发工作。
✅ 不收集个人或公司可识别信息
✅ 开源数据采集代码
✅ 公开可用的聚合数据
如需退出,请将 RAGAS_DO_NOT_TRACK 环境变量设置为 true。
引用我们
@misc{ragas2024,
author = {VibrantLabs},
title = {Ragas: Supercharge Your LLM Application Evaluations},
year = {2024},
howpublished = {\url{https://github.com/vibrantlabsai/ragas}},
}
