这是一个基于 Flask 的会话数据评估服务,前端收集模型调用信息,后端拼接 Prompt 并调用 OpenAI 兼容接口(OpenAI / 豆包 / 智谱 / 千问 / MiniMax),将模型返回结果展示在页面上。
- 模型调用:使用用户提供的 Base URL / API Key / Model 调用 OpenAI 兼容接口
- Prompt 组装:基于评估指令与会话内容拼接 Prompt
- 统一展示:展示模型输出与原始响应
- Python 3.7 或更高版本
# Windows
python -m venv venv
venv\Scripts\activate
# Linux/Mac
python3 -m venv venv
source venv/bin/activatepip install -r requirements.txt依赖包包含 Flask 和 requests,用于提供 Web 服务与后端模型调用。
在项目根目录下执行:
python app.py说明:项目入口文件为 app.py。
服务启动后,将在 http://127.0.0.1:5000 运行。
- Web 界面:打开浏览器访问
http://127.0.0.1:5000,使用图形界面进行评估 - API 接口:通过 POST 请求访问
http://127.0.0.1:5000/api/evaluate进行模型评估
- 启动服务后,在浏览器中打开
http://127.0.0.1:5000 - 填写 Base URL / API Key / Model
- 在文本框中输入 JSON 格式的会话数据
- 点击"评估"按钮查看结果
- 点击"清空"按钮重置输入
{
"messages": [
"这个模型太棒了,回答得非常准确!",
"我要分享给我的朋友们!",
"感谢开发者的辛苦工作,太赞了"
]
}预期结果:
- 总分较高
- 分类为"积极"
- 检测到分享行为
- 检测到多个积极情感词汇
{
"messages": [
"你好",
"我想了解一下这个功能",
"好的,明白了",
"谢谢"
]
}预期结果:
- 总分接近 0
- 分类为"中性"
- 无特殊行为检测
{
"messages": [
"这个回答太差了",
"完全不对",
"糟糕透了,浪费时间",
"一点都不满意"
]
}预期结果:
- 总分较低(负数)
- 分类为"消极"
- 检测到多个消极情感词汇
# 调用接口,由后端拼接 Prompt 并请求模型
curl -X POST http://127.0.0.1:5000/api/evaluate \
-H "Content-Type: application/json" \
-d '{
"base_url": "https://api.openai.com",
"api_key": "sk-xxxxx",
"model": "gpt-4o-mini",
"request_mode": "chat",
"prompt_template": "请根据以下对话内容进行评估,输出 JSON,字段包含 total_score, category, reasons。",
"session_data": {"messages": ["这个太棒了,我要分享给大家!"]}
}'
# 注意:base_url 需要是 http:// 或 https://evaluate_model/
├── app.py # 入口文件(创建并启动 Flask 应用)
├── requirements.txt # Python 依赖包列表
├── src/
│ ├── __init__.py # 模块初始化文件
│ ├── app_factory.py # 应用工厂(create_app)
│ ├── routes.py # 路由与错误处理
│ ├── services.py # 模型调用与 Prompt 组装
│ ├── validators.py # 请求校验
│ └── evaluator.py # 历史评估逻辑(当前模式未使用)
├── templates/
│ └── index.html # Web 界面 HTML 模板
└── static/
├── style.css # 样式文件
└── script.js # 前端交互脚本
- app.py:应用入口,创建并启动 Flask
- src/app_factory.py:应用工厂,负责初始化 app
- src/routes.py:路由与错误处理
- src/services.py:模型调用与 Prompt 组装
- src/validators.py:请求参数校验
- src/evaluator.py:历史评估逻辑(当前模式未使用)
- templates/index.html:Web 界面
- static/:前端样式与脚本
向本服务 /api/evaluate 发送 JSON:
{
"base_url": "https://api.openai.com",
"api_key": "sk-xxxxx",
"model": "gpt-4o-mini",
"request_mode": "chat",
"prompt_template": "请根据以下对话内容进行评估,输出 JSON,字段包含 total_score, category, reasons。",
"session_data": {
"messages": ["文本1", "文本2"]
}
}base_url:OpenAI 兼容接口的根地址api_key:调用密钥model:模型名称request_mode:chat或promptprompt_template:评估指令session_data:会话内容(对象 / 数组 / 字符串)
返回 JSON,包含:
model_output:从模型响应中提取出的文本内容parsed_output:若模型输出为 JSON 字符串,会解析为结构化对象provider_response:模型原始响应
现在您可以按照以上说明开始使用这个评估服务了!