313 lines
6.0 KiB
Markdown
313 lines
6.0 KiB
Markdown
# 测试指南
|
||
|
||
## 前置条件
|
||
|
||
### 1. 安装依赖
|
||
|
||
```bash
|
||
pip install -r requirements.txt
|
||
```
|
||
|
||
### 2. 配置环境变量
|
||
|
||
创建或更新 `.env` 文件:
|
||
|
||
```env
|
||
# AI服务配置
|
||
SILICONFLOW_API_KEY=your_api_key_here
|
||
SILICONFLOW_MODEL=deepseek-ai/DeepSeek-V3.2-Exp
|
||
|
||
# 数据库配置
|
||
DB_HOST=152.136.177.240
|
||
DB_PORT=5012
|
||
DB_USER=finyx
|
||
DB_PASSWORD=6QsGK6MpePZDE57Z
|
||
DB_NAME=finyx
|
||
|
||
# MinIO配置(文档生成需要)
|
||
MINIO_ENDPOINT=minio.datacubeworld.com:9000
|
||
MINIO_ACCESS_KEY=JOLXFXny3avFSzB0uRA5
|
||
MINIO_SECRET_KEY=G1BR8jStNfovkfH5ou39EmPl34E4l7dGrnd3Cz0I
|
||
MINIO_BUCKET=finyx
|
||
MINIO_SECURE=true
|
||
|
||
# 服务配置
|
||
PORT=7500
|
||
DEBUG=False
|
||
```
|
||
|
||
### 3. 初始化数据库
|
||
|
||
```bash
|
||
# 初始化所有字段和配置(基于Excel解析结果)
|
||
python init_all_fields_from_excel.py
|
||
|
||
# 更新现有配置的template_code字段(如果有现有数据)
|
||
python update_template_code_field.py
|
||
```
|
||
|
||
---
|
||
|
||
## 启动服务
|
||
|
||
```bash
|
||
python app.py
|
||
```
|
||
|
||
服务启动后:
|
||
- 主服务:http://localhost:7500
|
||
- API文档:http://localhost:7500/api-docs
|
||
- 测试页面:http://localhost:7500/
|
||
|
||
---
|
||
|
||
## 测试步骤
|
||
|
||
### 1. 测试解析接口
|
||
|
||
#### 使用curl命令
|
||
|
||
```bash
|
||
curl -X POST http://localhost:7500/ai/extract \
|
||
-H "Content-Type: application/json" \
|
||
-d '{
|
||
"inputData": [
|
||
{
|
||
"fieldCode": "clue_info",
|
||
"fieldValue": "被举报用户名称是张三,年龄30岁,某公司总经理,男性,1980年5月出生,中共党员"
|
||
}
|
||
],
|
||
"outputData": [
|
||
{"fieldCode": "target_name"},
|
||
{"fieldCode": "target_gender"},
|
||
{"fieldCode": "target_organization_and_position"}
|
||
]
|
||
}'
|
||
```
|
||
|
||
#### 使用测试脚本
|
||
|
||
```bash
|
||
python test_api.py
|
||
```
|
||
|
||
#### 预期结果
|
||
|
||
```json
|
||
{
|
||
"code": 0,
|
||
"data": {
|
||
"outData": [
|
||
{
|
||
"fieldCode": "target_name",
|
||
"fieldValue": "张三"
|
||
},
|
||
{
|
||
"fieldCode": "target_gender",
|
||
"fieldValue": "男"
|
||
},
|
||
{
|
||
"fieldCode": "target_organization_and_position",
|
||
"fieldValue": "某公司总经理"
|
||
}
|
||
]
|
||
},
|
||
"msg": "ok",
|
||
"isSuccess": true
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 2. 测试文档生成接口
|
||
|
||
**注意:** 此接口需要MinIO配置和模板文件在MinIO中存在。
|
||
|
||
#### 使用curl命令
|
||
|
||
```bash
|
||
curl -X POST http://localhost:7500/ai/generate-document \
|
||
-H "Content-Type: application/json" \
|
||
-d '{
|
||
"inputData": [
|
||
{
|
||
"fieldCode": "target_name",
|
||
"fieldValue": "张三"
|
||
},
|
||
{
|
||
"fieldCode": "target_gender",
|
||
"fieldValue": "男"
|
||
}
|
||
],
|
||
"fpolicFieldParamFileList": [
|
||
{
|
||
"fileId": 1,
|
||
"fileName": "初步核实审批表.doc",
|
||
"templateCode": "PRELIMINARY_VERIFICATION_APPROVAL"
|
||
}
|
||
]
|
||
}'
|
||
```
|
||
|
||
#### 预期结果
|
||
|
||
```json
|
||
{
|
||
"code": 0,
|
||
"data": {
|
||
"documentId": "DOC202411260001",
|
||
"documentName": "初步核实审批表_张三.docx",
|
||
"inputData": [...],
|
||
"fpolicFieldParamFileList": [
|
||
{
|
||
"fileId": 1,
|
||
"fileName": "初步核实审批表.doc",
|
||
"filePath": "/202511261123/初步核实审批表.doc"
|
||
}
|
||
]
|
||
},
|
||
"msg": "ok",
|
||
"isSuccess": true
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
## 常见问题排查
|
||
|
||
### 1. 数据库连接失败
|
||
|
||
- 检查数据库配置是否正确
|
||
- 检查网络连接
|
||
- 验证数据库服务是否运行
|
||
|
||
### 2. AI解析失败
|
||
|
||
- 检查 `SILICONFLOW_API_KEY` 是否配置
|
||
- 检查API密钥是否有效
|
||
- 查看错误信息中的详细提示
|
||
|
||
### 3. 文档生成失败
|
||
|
||
- 检查MinIO配置是否正确
|
||
- 检查模板文件是否存在于MinIO
|
||
- 检查 `template_code` 是否正确
|
||
- 验证数据库中的文件配置是否存在
|
||
|
||
### 4. 字段查询失败
|
||
|
||
- 运行 `init_all_fields_from_excel.py` 初始化字段
|
||
- 检查字段编码是否与数据库一致
|
||
- 验证字段类型是否正确(输入字段=1,输出字段=2)
|
||
|
||
---
|
||
|
||
## 验证清单
|
||
|
||
### 数据库验证
|
||
|
||
- [ ] 所有字段已初始化
|
||
- [ ] 文件配置存在且包含 `template_code`
|
||
- [ ] 文件和字段关联关系正确
|
||
|
||
### 接口验证
|
||
|
||
- [ ] 解析接口可以正常调用
|
||
- [ ] 可以正确提取字段值
|
||
- [ ] 文档生成接口可以正常调用
|
||
- [ ] 生成的文档路径格式正确(相对路径)
|
||
|
||
### 功能验证
|
||
|
||
- [ ] Word模板可以正确填充
|
||
- [ ] 文件可以上传到MinIO
|
||
- [ ] 返回的路径可以访问文件
|
||
|
||
---
|
||
|
||
## 测试数据示例
|
||
|
||
### 解析接口测试数据
|
||
|
||
```json
|
||
{
|
||
"inputData": [
|
||
{
|
||
"fieldCode": "clue_info",
|
||
"fieldValue": "被举报用户名称是张三,年龄30岁,某公司总经理,男性,1980年5月出生,中共党员,正处级"
|
||
},
|
||
{
|
||
"fieldCode": "target_basic_info_clue",
|
||
"fieldValue": "张三,男,汉族,1980年5月出生,山西太原人,本科学历,2000年参加工作,2005年加入中国共产党。"
|
||
}
|
||
],
|
||
"outputData": [
|
||
{"fieldCode": "target_name"},
|
||
{"fieldCode": "target_gender"},
|
||
{"fieldCode": "target_date_of_birth"},
|
||
{"fieldCode": "target_political_status"},
|
||
{"fieldCode": "target_professional_rank"},
|
||
{"fieldCode": "target_organization_and_position"}
|
||
]
|
||
}
|
||
```
|
||
|
||
### 文档生成接口测试数据
|
||
|
||
```json
|
||
{
|
||
"inputData": [
|
||
{"fieldCode": "target_name", "fieldValue": "张三"},
|
||
{"fieldCode": "target_gender", "fieldValue": "男"},
|
||
{"fieldCode": "target_organization_and_position", "fieldValue": "某公司总经理"},
|
||
{"fieldCode": "target_date_of_birth", "fieldValue": "198005"},
|
||
{"fieldCode": "target_political_status", "fieldValue": "中共党员"}
|
||
],
|
||
"fpolicFieldParamFileList": [
|
||
{
|
||
"fileId": 1,
|
||
"fileName": "初步核实审批表.doc",
|
||
"templateCode": "PRELIMINARY_VERIFICATION_APPROVAL"
|
||
}
|
||
]
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
## 性能测试
|
||
|
||
### 解析接口
|
||
|
||
- 平均响应时间:< 5秒
|
||
- 超时设置:30秒
|
||
|
||
### 文档生成接口
|
||
|
||
- 平均响应时间:< 10秒
|
||
- 超时设置:60秒
|
||
|
||
---
|
||
|
||
## 日志查看
|
||
|
||
服务日志会输出到控制台,包括:
|
||
- 请求信息
|
||
- 错误信息
|
||
- 数据库操作
|
||
- AI调用信息
|
||
|
||
---
|
||
|
||
## 下一步
|
||
|
||
1. 完成所有测试项目
|
||
2. 验证数据库数据完整性
|
||
3. 测试生产环境配置
|
||
4. 准备部署
|
||
|
||
---
|
||
|
||
**最后更新:** 2025-01-XX
|
||
|