开源 LLM 与智能体应用测试平台,支持 AI 驱动的测试生成、对抗性红队测试及 60+ 评估指标,适用于 RAG 幻觉检测与对话一致性验证。
项目概述#
Rhesis 是由 Rhesis AI GmbH(德国波茨坦)开发的开源 LLM 与智能体应用测试平台,旨在解决大语言模型应用和 Agentic 系统在开发与部署中的行为不确定性、安全漏洞(如提示注入、PII 泄露)以及缺乏系统性测试手段的痛点。
核心能力#
测试生成(Test Generation)#
- AI-Powered Synthesis:基于自然语言描述的需求自动生成数百个测试场景,覆盖边缘情况和对抗性提示
- Knowledge-Aware:通过文件上传或 MCP 连接上下文源(Notion、GitHub、Jira、Confluence)优化测试生成
- 支持单轮测试与复杂对话流模拟
对抗性测试(Red-Teaming)#
Polyphemus Agent 主动发现安全漏洞:
- 越狱尝试和提示注入检测
- PII 泄露和数据提取测试
- 有害内容生成检测
- 角色违规和指令绕过测试
- 内置 Garak LLM 漏洞扫描器集成
对话模拟#
Penelope Agent 模拟真实用户对话,测试:
- 上下文保持能力
- 角色一致性
- 对话连贯性
评估指标体系(60+ 预置指标)#
- RAGAS:上下文相关性、忠实度、答案准确性
- DeepEval:偏见、毒性、PII 泄露、角色违规、轮次相关性、知识保持
- Garak:越狱检测、提示注入、XSS、恶意软件生成、数据泄露
- 自定义:NumericJudge、CategoricalJudge 用于领域特定评估
- 所有指标包含 LLM-as-Judge 推理解释
可观测性与追踪#
- 基于 OpenTelemetry 的追踪系统
- 监控 LLM 调用、延迟、Token 使用量
- 将追踪与测试结果关联以进行调试
架构设计#
- 前端:TypeScript/React 应用(位于
apps/目录) - 后端:Python 服务(位于
apps/和sdk/目录) - 数据层:支持 Docker 本地部署数据库
- 基础设施:提供 Terraform 配置,支持 Kubernetes 部署
核心组件#
- Polyphemus Agent:对抗性测试智能体
- Penelope Agent:对话模拟智能体
- Synthesizers:测试场景生成器(如 PromptSynthesizer)
- Metrics Framework:评估指标执行引擎
- Tracing Module:OpenTelemetry 追踪模块
测试生命周期#
- Projects:配置 AI 应用、上传上下文源、设置 SDK 连接器
- Requirements:定义期望行为(应做和不应做)
- Metrics:选择预置指标或创建自定义评估
- Tests:生成单轮和对话模拟测试场景
- Execution:通过 UI/SDK/API 运行测试,集成 CI/CD
- Collaboration:通过评论、任务、工作流进行团队协作
安装部署#
云平台(最快)#
访问 https://app.rhesis.ai 创建免费账户
Python SDK#
pip install rhesis-sdk
Docker 本地部署(零配置)#
git clone https://github.com/rhesis-ai/rhesis.git
cd rhesis
./rh start
- 访问地址:http://localhost:3000(自动登录)
- API 文档:http://localhost:8080/docs
- 管理命令:
./rh logs/./rh stop/./rh restart
SDK 使用示例#
端点装饰器#
from rhesis.sdk.decorators import endpoint
@endpoint(name="my-chatbot")
def chat(message: str) -> str:
# Your LLM logic here
return response
可观测性追踪#
from rhesis.sdk.decorators import observe
@observe.llm(model="gpt-4")
def generate_response(prompt: str) -> str:
# Your LLM call here
return response
测试生成器#
from rhesis.sdk.synthesizers import PromptSynthesizer
synthesizer = PromptSynthesizer(
prompt="Generate tests for a medical chatbot that must never provide diagnosis"
)
test_set = synthesizer.generate(num_tests=10)
适用场景#
- 对话式 AI:对话模拟、角色一致性和知识保持测试
- RAG 系统:上下文相关性、忠实度和幻觉检测
- NL-to-SQL / NL-to-Code:查询准确性、语法验证和边缘情况处理
- 智能体系统:工具选择、目标达成和多智能体协调
目标用户#
- 开发工程师:代码优先的 SDK 集成
- 产品经理:定义需求和期望行为
- 领域专家:审查测试结果
- 法务和合规团队:确保符合合规要求
模型与框架集成#
云服务支持:OpenAI, Anthropic, Google Gemini, Mistral, Cohere, Groq, Together AI
本地/自托管:Ollama, vLLM, LiteLLM
框架集成:LangChain, LangGraph, AutoGen, LiteLLM, Google Gemini, Ollama, OpenRouter, Vertex AI, HuggingFace, REST API
项目活跃度#
- 3,805 commits
- 86 releases
- 18+ contributors
- 主要语言:Python (67.7%), TypeScript (27.6%)
- MIT License(核心功能)