277 lines
5.8 KiB
Markdown
277 lines
5.8 KiB
Markdown
# 修订历史
|
||
|
||
## V 0.2,李季修订
|
||
|
||
### 主要调整内容
|
||
|
||
#### 1. **接口路径优化**
|
||
|
||
- `/paras`→ `/ai/extract`
|
||
- `/getDocument`→ `/ai/generate-document`
|
||
- *理由:更清晰的语义化路径*
|
||
|
||
#### 2. **字段名修正**
|
||
|
||
- `filedCode`→ `fieldCode`
|
||
- `filedVal`→ `fieldValue`
|
||
- *理由:修正拼写错误,保持专业规范*
|
||
|
||
#### 3. **关键参数补充**
|
||
|
||
**新增参数:**
|
||
|
||
- `templateCode`:文档模板标识
|
||
- `businessType`:业务类型分类
|
||
- `documentId`:文档唯一标识
|
||
- `documentName`:生成文档名称
|
||
|
||
#### 4. **返回结构增强**
|
||
|
||
- **解析接口**:保持简洁,去除置信度等复杂字段
|
||
- **生成接口**:增加`documentId`和`documentName`,完善文件信息
|
||
|
||
#### 5. **文件路径调整**
|
||
|
||
- 返回MinIO绝对路径(如`http://minio.example.com/...`)
|
||
- *理由:支持直接访问,符合用户存储方案*
|
||
|
||
#### 6. **错误码规范化**
|
||
|
||
- 明确业务相关错误码(模板不存在、占位符匹配失败等)
|
||
|
||
## V 0.1,陈涛提供
|
||
|
||
|
||
|
||
|
||
|
||
# 1. 解析接口
|
||
|
||
**地址**: `/ai/extract`
|
||
|
||
**请求方法**: POST
|
||
|
||
**请求参数**:
|
||
|
||
json
|
||
|
||
复制
|
||
|
||
```
|
||
{
|
||
"inputData": [
|
||
|
||
{
|
||
"fieldCode": "clue_info",
|
||
"fieldValue": "被举报用户名称是张三,年龄30岁,某公司总经理"
|
||
},
|
||
{
|
||
"fieldCode": "clue_info2",
|
||
"fieldValue": "被举报用户名称是张三,年龄30岁,某公司总经理"
|
||
}
|
||
],
|
||
"outputData": [
|
||
|
||
{
|
||
"fieldCode": "userName"
|
||
},
|
||
{
|
||
"fieldCode": "clue_info2"
|
||
}
|
||
]
|
||
}
|
||
```
|
||
|
||
**返回参数**:
|
||
|
||
json
|
||
|
||
复制
|
||
|
||
```
|
||
{
|
||
"code": 0,
|
||
"data": {
|
||
"outData": [
|
||
{
|
||
"fieldCode": "userName",
|
||
"fieldValue": "张三"
|
||
},
|
||
{
|
||
"fieldCode": "userAge",
|
||
"fieldValue": "30"
|
||
}
|
||
]
|
||
},
|
||
"msg": "ok",
|
||
"path": null,
|
||
"extra": null,
|
||
"timestamp": "1764204337101",
|
||
"errorMsg": "",
|
||
"isSuccess": true
|
||
}
|
||
```
|
||
|
||
# 2. 文档生成接口
|
||
|
||
**地址**: `/ai/generate-document`
|
||
|
||
**请求方法**: POST
|
||
|
||
**请求参数**:
|
||
|
||
json
|
||
|
||
复制
|
||
|
||
```
|
||
{
|
||
"inputData": [
|
||
{
|
||
"fieldCode": "userName",
|
||
"fieldValue": "张三"
|
||
},
|
||
{
|
||
"fieldCode": "userAge",
|
||
"fieldValue": "30"
|
||
}
|
||
],
|
||
"fpolicFieldParamFileList": [
|
||
{
|
||
"fileId": 1,
|
||
"fileName": "请示报告卡.doc"
|
||
"templateCode": "REPORT_CARD"
|
||
},
|
||
{
|
||
"fileId": 2,
|
||
"fileName": "初步核实审批表.doc"
|
||
"templateCode": "REPORT_CARD"
|
||
|
||
}
|
||
]
|
||
}
|
||
```
|
||
|
||
**返回参数**:
|
||
|
||
json
|
||
|
||
复制
|
||
|
||
```
|
||
{
|
||
"code": 0,
|
||
"data": {
|
||
"documentId": "DOC202411260001",
|
||
"documentName": "请示报告卡_张三.docx",
|
||
"inputData": [
|
||
{
|
||
"fieldCode": "userName",
|
||
"fieldValue": "张三"
|
||
},
|
||
{
|
||
"fieldCode": "userAge",
|
||
"fieldValue": "30"
|
||
}
|
||
],
|
||
"fpolicFieldParamFileList": [
|
||
{
|
||
"fileId": 1,
|
||
"fileName": "请示报告卡.doc",
|
||
"filePath": "/202511261123/请示报告卡.doc"
|
||
},
|
||
{
|
||
"fileId": 2,
|
||
"fileName": "初步核实审批表.doc",
|
||
"filePath": "/202511261123/初步核实审批表.doc"
|
||
}
|
||
]
|
||
},
|
||
"msg": "ok",
|
||
"path": null,
|
||
"extra": null,
|
||
"timestamp": "1764204337101",
|
||
"errorMsg": "",
|
||
"isSuccess": true
|
||
}
|
||
```
|
||
|
||
# 3. 错误码定义
|
||
|
||
| 错误码 | 说明 | 处理建议 |
|
||
| :----- | :------------- | :------------------------- |
|
||
| 0 | 成功 | - |
|
||
| 1001 | 模板不存在 | 检查templateCode是否正确 |
|
||
| 1002 | 占位符匹配失败 | 检查字段编码与模板是否匹配 |
|
||
| 2001 | AI解析超时 | 重新尝试解析 |
|
||
| 2002 | 字段识别失败 | 检查输入文本质量 |
|
||
| 3001 | 文件生成失败 | 重新尝试生成 |
|
||
| 3002 | 文件保存失败 | 检查存储服务状态 |
|
||
|
||
# 4. 字段说明
|
||
|
||
## 4.1 公共字段
|
||
|
||
- `businessType`: 业务类型(COMPLAINT-投诉举报、INVESTIGATION-调查核实等)
|
||
- `templateCode`: 文档模板编码
|
||
- `fieldCode`: 字段编码(需与Word模板中占位符一致)
|
||
- `fieldValue`: 字段值
|
||
|
||
## 4.2 文件相关字段
|
||
|
||
- `fileId`: 文件唯一标识
|
||
- `fileName`: 文件名称
|
||
- `filePath`: MinIO存储的绝对路径
|
||
|
||
## 5. 使用流程
|
||
|
||
1. **解析阶段**: 调用 `/ai/extract`接口,输入用户描述文本,AI提取结构化数据
|
||
2. **生成阶段**: 调用 `/ai/generate-document`接口,传入解析结果和模板信息,生成填充后的文档
|
||
3. **下载文档**: 通过返回的filePath直接访问MinIO获取生成的文件
|
||
|
||
## 6. 注意事项
|
||
|
||
1. 字段编码(fieldCode)需与Word模板中的占位符严格对应
|
||
2. 未识别的字段在生成文档时会自动留空
|
||
3. 文件路径返回MinIO的绝对访问地址,可直接下载
|
||
4. 生成失败时直接返回错误,用户重新操作
|
||
|
||
## 7. 示例调用顺序
|
||
|
||
json
|
||
|
||
复制
|
||
|
||
```
|
||
// 1. 解析调用
|
||
请求: POST /ai/extract
|
||
{
|
||
"inputData": [
|
||
{"fieldCode": "userNote", "fieldValue": "被举报用户名称是张三"},
|
||
{"fieldCode": "userInfo", "fieldValue": "年龄30岁"}
|
||
],
|
||
"outputData": [
|
||
{
|
||
"fieldCode": "userName"
|
||
},
|
||
{
|
||
"fieldCode": "clue_info2"
|
||
}
|
||
]
|
||
}
|
||
|
||
// 2. 生成调用
|
||
请求: POST /ai/generate-document
|
||
{
|
||
"inputData": [
|
||
{"fieldCode": "userName", "fieldValue": "张三"},
|
||
{"fieldCode": "userAge", "fieldValue": "30"}
|
||
],
|
||
"fpolicFieldParamFileList": [
|
||
"templateCode": "COMPLAINT_REPORT",
|
||
{"fileId": 1, "fileName": "请示报告卡.doc"}
|
||
]
|
||
}
|
||
```
|
||
|