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