313 lines
6.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 测试指南
## 前置条件
### 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