Tonic Validate 项目介绍
Tonic Validate 是一个专注于大语言模型(LLM)输出评价的框架,尤其适用于检索增强生成(RAG)管道。这个工具旨在简化对 LLM 和 RAG 应用程序的评价、跟踪和监控。通过使用这个框架,用户可以利用其提供的多种指标来评估 LLM 的输出,包括回答的准确性以及 LLM 产生幻觉的可能性。此外,Tonic Validate 提供了可选的用户界面,让用户能够更直观地查看评价结果,方便跟踪和监控。
为RAG准备数据
高质量和安全的数据是高性能 RAG 系统的基础。优质数据确保了检索和生成的信息准确、相关且可靠,从而提升系统的整体性能和用户信任度。而数据安全则保证了这些珍贵的信息免受外界的破坏,确保敏感信息的机密性和不可篡改性。这两方面共同构成了一个稳健的 RAG 系统的基石,实现了高效且可信的检索和生成。
Tonic Textual 是 Tonic Validate 的强大助手,可以显著提升 RAG 系统的性能。我们设计了 Tonic Textual 来简化并增强 RAG 系统的数据预处理。用户可以通过它在几分钟内建立自动化的非结构化数据管道,从非结构化数据中提取文本,检测并去标识敏感信息,将数据转换成优化过的 RAG 系统格式。我们还通过文档元数据和上下文实体标签丰富用户的数据,以构建语义实体图,避免产生幻觉,从而提高生成输出的整体质量。
快速开始
以下是关于如何在本地设置项目的简单步骤:
-
安装 Tonic Validate
pip install tonic-validate
-
使用以下代码片段开始操作:
from tonic_validate import ValidateScorer, Benchmark import os os.environ["OPENAI_API_KEY"] = "your-openai-key" def get_llm_response(question): return { "llm_answer": "Paris", "llm_context_list": ["Paris is the capital of France."] } benchmark = Benchmark(questions=["What is the capital of France?"], answers=["Paris"]) scorer = ValidateScorer() run = scorer.score(benchmark, get_llm_response)
以上代码创建了一个包含一个问题及对应参考答案的基准,并对答案进行评估。大部分指标不需要提供参考答案。
CI/CD 集成
许多用户发现,在代码审查或拉取请求过程期间进行评估非常有价值。用户可以根据上面的代码片段和文档知识创建自己的自动化,或者使用我们提供的免费的 GitHub Action。可以在 GitHub Marketplace 找到相关的列表。
使用示例
Tonic Validate Metrics
Tonic Validate 提供了多种用于评价 LLM 性能的指标,适用于大多数 RAG 系统。用户还可以通过提供自定义的 metric.py 实现创建自己的指标。为了计算一个指标,必须从 RAG 应用程序中提供相应的数据。
指标输入
Tonic Validate 的指标输入用于为指标计算性能提供所需的信息。以下是每种输入类型的解释及其在 Tonic Validate SDK 中的使用方法。
-
问题:通过
Benchmark
的questions
参数提供。 -
参考答案:通过
Benchmark
的answers
参数提供,仅答案相似度评分
指标需要。 -
LLM 答案:可以通过
ValidateScorer
提供的回调函数提供,也可以手动记录。 -
检索上下文:通过回调函数提供的第二项元素提供。
-
运行时间:用于延迟指标。
使用指标评分
多数指标需要 LLM 的协助进行评分,Validate 支持 OpenAI 和 Azure OpenAI,其他 LLM 也可以轻松集成。
查看结果
- 选项 1:通过打印输出显示结果。
- 选项 2:使用 Tonic Validate UI 查看结果,推荐且免费使用。UI 提供了结果的图形展示和其他可视化功能。
Telemetry
Tonic Validate 收集了最少的遥测信息,只为帮助我们了解用户需求及使用方式,不会追踪任何敏感信息。
常见问题
支持哪种模型作为 LLM 评估器?
目前允许使用来自 Open AI、Google、Anthropic 等的家庭聊天完成模型。我们一直在寻找添加更多模型来扩展我们的评估器功能。如果需要添加特定的模型,请针对该存储库提交一个问题。
希望这篇介绍能够帮助读者更深入地了解 Tonic Validate 项目的功能及其应用方式!