157 lines
4.1 KiB
Markdown
157 lines
4.1 KiB
Markdown
# AI配置接口测试功能
|
|
|
|
## 功能概述
|
|
在AI配置管理页面新增了接口测试功能,允许管理员直接在页面上测试AI配置的接口连通性和正确性。
|
|
|
|
## 新增功能
|
|
|
|
### 1. 测试按钮
|
|
- 在AI配置列表的操作列中新增了"测试"按钮
|
|
- 点击后打开接口测试对话框
|
|
|
|
### 2. 测试对话框
|
|
测试对话框分为左右两个区域:
|
|
|
|
#### 左侧 - 请求配置区域
|
|
- **请求URL**: 自动根据配置的API基础URL生成,默认为 `{apiBaseUrl}/v3/chat`
|
|
- **请求头**: JSON格式的请求头,自动包含Authorization和Content-Type
|
|
- **请求体**: JSON格式的请求体,基于Coze API标准格式生成
|
|
|
|
#### 右侧 - 响应结果区域
|
|
- **状态码**: 显示HTTP响应状态码,带颜色标识
|
|
- **响应头**: 显示服务器返回的响应头信息
|
|
- **响应体**: 显示服务器返回的响应内容,自动格式化JSON
|
|
|
|
### 3. 操作按钮
|
|
- **发送测试请求**: 发送HTTP请求到配置的API端点
|
|
- **格式化请求**: 格式化请求头和请求体的JSON格式
|
|
- **格式化响应**: 格式化响应体的JSON格式
|
|
- **复制响应**: 将响应内容复制到剪贴板
|
|
- **重置**: 重置测试数据到初始状态
|
|
|
|
## 技术实现
|
|
|
|
### 1. 请求构建
|
|
基于AiChatServiceImpl中的实现,自动构建符合Coze API标准的请求:
|
|
|
|
```json
|
|
{
|
|
"bot_id": "配置的Bot ID",
|
|
"workflow_id": "配置的Workflow ID (可选)",
|
|
"user_id": "test_user_时间戳",
|
|
"stream": false,
|
|
"additional_messages": [
|
|
{
|
|
"role": "user",
|
|
"content": "你好,这是一个测试消息,请回复确认接口正常工作。",
|
|
"content_type": "text",
|
|
"type": "question"
|
|
}
|
|
]
|
|
}
|
|
```
|
|
|
|
### 2. 请求头处理
|
|
- 自动添加Authorization Bearer Token
|
|
- 自动添加Content-Type: application/json
|
|
- 支持合并自定义请求头
|
|
|
|
### 3. 响应处理
|
|
- 显示完整的HTTP状态码
|
|
- 显示所有响应头信息
|
|
- 自动格式化JSON响应体
|
|
- 支持非JSON响应的显示
|
|
|
|
### 4. 错误处理
|
|
- 网络错误处理
|
|
- JSON格式错误提示
|
|
- HTTP错误状态码提示
|
|
|
|
## 使用方法
|
|
|
|
### 1. 打开测试对话框
|
|
1. 在AI配置列表中找到要测试的配置
|
|
2. 点击操作列中的"测试"按钮
|
|
3. 测试对话框自动打开并填充默认数据
|
|
|
|
### 2. 自定义测试参数
|
|
- 可以修改请求头添加额外的头信息
|
|
- 可以修改请求体中的消息内容
|
|
- 可以调整其他API参数
|
|
|
|
### 3. 发送测试请求
|
|
1. 点击"发送测试请求"按钮
|
|
2. 等待请求完成(显示加载状态)
|
|
3. 查看右侧的响应结果
|
|
|
|
### 4. 分析测试结果
|
|
- **状态码 200**: 请求成功,配置正常
|
|
- **状态码 401**: 认证失败,检查API Token
|
|
- **状态码 400**: 请求参数错误,检查Bot ID等配置
|
|
- **状态码 500**: 服务器错误,联系API提供商
|
|
|
|
## 支持的配置类型
|
|
|
|
### 1. Coze配置
|
|
- 完全支持Coze API的测试
|
|
- 自动构建符合Coze标准的请求格式
|
|
- 支持Bot ID和Workflow ID
|
|
|
|
### 2. 其他配置类型
|
|
- 基础的HTTP请求测试
|
|
- 可以通过修改请求体适配不同的API格式
|
|
|
|
## 安全考虑
|
|
|
|
### 1. Token脱敏
|
|
- 在请求头显示中,Token会部分脱敏显示
|
|
- 实际请求使用完整的Token
|
|
|
|
### 2. 跨域处理
|
|
- 使用浏览器原生fetch API
|
|
- 可能受到CORS策略限制
|
|
- 建议在开发环境或配置了CORS的环境中使用
|
|
|
|
### 3. 数据隔离
|
|
- 测试数据不会影响生产数据
|
|
- 使用独立的测试用户ID
|
|
|
|
## 故障排除
|
|
|
|
### 1. 网络错误
|
|
- 检查API URL是否正确
|
|
- 检查网络连接
|
|
- 检查防火墙设置
|
|
|
|
### 2. 认证错误
|
|
- 检查API Token是否正确
|
|
- 检查Token是否过期
|
|
- 检查Token权限
|
|
|
|
### 3. 参数错误
|
|
- 检查Bot ID是否正确
|
|
- 检查Workflow ID是否存在
|
|
- 检查请求体格式
|
|
|
|
### 4. CORS错误
|
|
- 在开发环境中测试
|
|
- 或使用支持CORS的代理服务器
|
|
|
|
## 后续扩展
|
|
|
|
### 1. 批量测试
|
|
- 支持批量测试多个配置
|
|
- 生成测试报告
|
|
|
|
### 2. 测试历史
|
|
- 保存测试历史记录
|
|
- 支持测试结果对比
|
|
|
|
### 3. 自动化测试
|
|
- 定时自动测试配置可用性
|
|
- 异常告警通知
|
|
|
|
### 4. 更多API支持
|
|
- 支持OpenAI API测试
|
|
- 支持Claude API测试
|
|
- 支持其他AI服务商API测试 |