Skip to content

CrDym/agent-test-runner

Repository files navigation

AI Agent Test Runner

一个简单易用的自动化测试工具,用于测试 AI Agent 的回答质量。

项目简介

AI Agent Test Runner 可以批量读取测试用例,自动调用 AI Agent 接口,通过关键词匹配和大模型(LLM)语义评测来判断回答是否符合预期,并提供实时进度显示、历史记录管理及美观的 Web 界面。

核心功能

  • 自动化测试: 批量执行测试用例,支持分类管理。
  • 多维度评测:
    • 关键词匹配: 检查回答中是否包含预期的关键词。
    • LLM 语义评测: 利用大模型评估回答的意图准确性和内容质量(支持评分)。
  • Web 交互界面 (GitHub 风格):
    • 实时进度: 测试执行时显示进度条。
    • 对话详情: 支持查看每个测试用例的问题、Agent 回答及评测细节。
    • 分页管理: 用例列表、历史记录均支持分页显示。
    • 勾选测试: 在用例管理中可勾选特定用例进行针对性测试。
  • 配置管理: 支持多套 Agent API 配置的增删改查与快速切换。
  • 历史回溯: 自动保存每次测试结果,支持删除和查看详情。

项目结构

agent-test-runner/
├── core/                # 核心业务逻辑
│   ├── agent_client.py  # AI Agent 客户端通信
│   ├── evaluator.py     # 综合评测逻辑(关键词 + LLM)
│   └── llm_evaluator.py # 大模型语义评测模块
├── testcases/           # 测试用例存储
│   └── testcases.json   # 采用全局唯一 ID (UUID) 标识的用例
├── config/              # 配置文件
│   └── api_configs.json # 多套 API 地址配置
├── templates/           # Web 前端模板
│   └── index.html       # GitHub 风格单页应用
├── web_app.py           # Flask Web 后端
├── history.py           # 测试历史持久化管理 (SQLite)
├── runner.py            # 命令行测试运行器(可选)
├── report.py            # HTML 报告生成模块
├── mock_agent.py        # 本地 Mock 服务器(用于开发调试)
└── requirements.txt     # 项目依赖

安装与启动

  1. 安装依赖:
pip install -r requirements.txt
  1. 启动 Mock Agent (可选):
python mock_agent.py
  1. 启动 Web 平台:
python web_app.py

访问地址: http://localhost:8080

测试用例管理

用例存储在 testcases/testcases.json 中,建议通过 Web 界面进行增删改查。系统已引入 UUID 机制,确保跨分类的用例 ID 绝对唯一,避免勾选冲突。

技术栈

  • 后端: Python, Flask, SQLite
  • 前端: HTML5, CSS3 (GitHub Primer Style), Vanilla JS
  • 评测: LLM (OpenAI 兼容接口), Regex

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors