7.3 KiB
7.3 KiB
AI配置测试保存功能说明
功能概述
在 web-admin 的 AI 配置管理页面中,测试接口成功后可以将测试时使用的参数保存到数据库中,包括:
- API完整URL
- API Token
- Bot ID
- Workflow ID
- 自定义请求头
- 自定义请求参数
- 是否支持流式输出
使用流程
1. 打开测试对话框
在 AI 配置列表中,点击某个配置的"测试"按钮,打开测试对话框。
2. 配置测试参数
测试对话框会自动填充当前配置的参数:
- 请求URL: 从配置的
apiBaseUrl字段获取 - 请求头: 自动构建,包含
Authorization和Content-Type - 请求体: 自动构建,包含
bot_id、user_id、stream、additional_messages等
3. 修改测试参数(可选)
您可以根据需要修改:
- 请求URL
- 请求头中的参数
- 请求体中的参数
- 测试消息内容
- 是否启用流式响应
4. 发送测试请求
点击"发送测试请求"或"发送流式测试"按钮,系统会向配置的API发送请求。
5. 查看响应结果
右侧会显示:
- 状态码
- 响应头
- 响应体
6. 保存测试配置
如果测试成功(状态码为200),会显示"保存测试配置"按钮。点击该按钮,系统会:
6.1 解析请求头
- 提取
Authorization头中的 Token(移除 "Bearer " 前缀) - 将其他自定义请求头保存到
customHeaders字段(JSON格式)
6.2 解析请求体
- 提取
bot_id保存到botId字段 - 提取
workflow_id保存到workflowId字段 - 提取
stream保存到supportStream字段 - 将其他自定义参数保存到
customParams字段(JSON格式)
6.3 更新配置
调用后端接口 /aiConfig/updateFromTest,更新配置信息。
后端接口
接口地址
PUT /aiConfig/updateFromTest
请求参数
{
"id": "配置ID",
"apiBaseUrl": "完整的API URL",
"apiToken": "API访问令牌",
"botId": "Bot ID(Coze专用)",
"workflowId": "Workflow ID(Coze专用)",
"customHeaders": "自定义请求头(JSON字符串)",
"customParams": "自定义参数(JSON字符串)",
"supportStream": 1
}
响应示例
{
"code": 200,
"message": "更新成功",
"data": {
"id": "1234567890",
"configName": "测试配置",
"apiBaseUrl": "https://api.coze.cn/v3/chat",
"apiToken": "pat_xxx",
"botId": "bot_123",
"workflowId": "workflow_456",
"customHeaders": "{\"X-Custom-Header\":\"value\"}",
"customParams": "{\"custom_param\":\"value\"}",
"supportStream": 1,
...
}
}
参数提取规则
1. API Token提取
从请求头的 Authorization 字段中提取:
{
"Authorization": "Bearer pat_xxx"
}
提取结果:apiToken = "pat_xxx"
2. Bot ID提取
从请求体的 bot_id 字段中提取:
{
"bot_id": "bot_123"
}
提取结果:botId = "bot_123"
3. Workflow ID提取
从请求体的 workflow_id 字段中提取:
{
"workflow_id": "workflow_456"
}
提取结果:workflowId = "workflow_456"
4. 流式支持提取
从请求体的 stream 字段中提取:
{
"stream": true
}
提取结果:supportStream = 1
5. 自定义请求头
移除 Authorization 和 Content-Type 后的其他请求头:
{
"X-Custom-Header": "value",
"X-Another-Header": "value2"
}
保存为JSON字符串到 customHeaders 字段
6. 自定义参数
移除 bot_id、workflow_id、stream、user_id、additional_messages 后的其他参数:
{
"custom_param": "value",
"another_param": "value2"
}
保存为JSON字符串到 customParams 字段
使用示例
示例1:标准Coze配置
测试前配置:
{
"apiBaseUrl": "https://api.coze.cn",
"apiToken": "old_token",
"botId": "old_bot_id"
}
测试请求:
- URL:
https://api.coze.cn/v3/chat - 请求头:
{ "Authorization": "Bearer new_token", "Content-Type": "application/json" } - 请求体:
{ "bot_id": "new_bot_id", "user_id": "test_user", "stream": false, "additional_messages": [...] }
保存后配置:
{
"apiBaseUrl": "https://api.coze.cn/v3/chat",
"apiToken": "new_token",
"botId": "new_bot_id",
"supportStream": 0,
"customHeaders": "",
"customParams": ""
}
示例2:带自定义参数的配置
测试请求:
- URL:
https://api.coze.cn/v3/chat - 请求头:
{ "Authorization": "Bearer token_123", "Content-Type": "application/json", "X-Custom-Header": "custom_value" } - 请求体:
{ "bot_id": "bot_456", "workflow_id": "workflow_789", "stream": true, "user_id": "test_user", "additional_messages": [...], "custom_param": "param_value" }
保存后配置:
{
"apiBaseUrl": "https://api.coze.cn/v3/chat",
"apiToken": "token_123",
"botId": "bot_456",
"workflowId": "workflow_789",
"supportStream": 1,
"customHeaders": "{\"X-Custom-Header\":\"custom_value\"}",
"customParams": "{\"custom_param\":\"param_value\"}"
}
注意事项
- 测试成功才能保存: 只有当测试请求返回状态码200时,才会显示"保存测试配置"按钮
- JSON格式验证: 保存前会验证请求头和请求体是否为有效的JSON格式
- 自动刷新: 保存成功后会自动刷新配置列表
- 字段覆盖: 保存时只更新提供的字段,未提供的字段保持原值
- Token安全: API Token会完整保存到数据库,请确保数据库安全
错误处理
1. 请求头格式错误
错误信息:请求头格式错误,无法解析
原因:请求头不是有效的JSON格式
解决:检查请求头的JSON格式是否正确
2. 请求体格式错误
错误信息:请求体格式错误,无法解析
原因:请求体不是有效的JSON格式
解决:检查请求体的JSON格式是否正确
3. 配置不存在
错误信息:测试配置不存在
原因:testConfig为空
解决:重新打开测试对话框
4. 保存失败
错误信息:保存失败: [具体错误信息]
原因:后端接口调用失败
解决:检查网络连接和后端服务状态
开发说明
前端文件
- 页面:
web-admin/src/views/aiconfig/AiConfigList.vue - API:
web-admin/src/api/aiconfig.ts - 类型:
web-admin/src/types/aiconfig.ts
后端文件
- Controller:
backend-single/src/main/java/com/emotion/controller/AiConfigController.java - Service:
backend-single/src/main/java/com/emotion/service/AiConfigService.java - ServiceImpl:
backend-single/src/main/java/com/emotion/service/impl/AiConfigServiceImpl.java - Request DTO:
backend-single/src/main/java/com/emotion/dto/request/aiconfig/AiConfigTestUpdateRequest.java
数据库字段
api_base_url: API完整URLapi_token: API访问令牌bot_id: Bot IDworkflow_id: Workflow IDcustom_headers: 自定义请求头(JSON字符串)custom_params: 自定义参数(JSON字符串)support_stream: 是否支持流式输出(0-不支持,1-支持)
更新日志
2025-12-22
- 新增测试后保存配置功能
- 新增
AiConfigTestUpdateRequestDTO - 新增
updateFromTestRequest服务方法 - 新增
/aiConfig/updateFromTest接口 - 前端新增"保存测试配置"按钮和处理逻辑