
- 新增AI知识库管理功能模块 - 实现知识库的增删改查功能 - 实现文档管理(文本/文件/链接) - 实现向量化功能和测试 - 支持卡片式布局展示 - 完整的响应式设计 - 修复所有TypeScript类型错误 - 添加依赖:marked@^16.4.0, less@^4.2.2 - 打包测试通过 主要文件: - src/views/teacher/ai-knowledge-naive-ui/ - AI知识库管理模块 - docs/ - 相关API文档 - package.json - 新增依赖配置
3.6 KiB
3.6 KiB
AI模型字典API调试指南
问题描述
在调用AI模型字典API时遇到错误:
Sign签名校验失败,时间戳为空!
已实施的修复措施
1. 添加时间戳参数到URL
// 修改前
return request.get('/sys/dict/getDictItems/airag_model%20where%20model_type%20=%20\'LLM\',name,id')
// 修改后
const timestamp = Date.now()
return request.get(`/sys/dict/getDictItems/airag_model%20where%20model_type%20=%20'LLM',name,id?_t=${timestamp}`)
2. 增强请求头时间戳
// 添加多种时间戳格式
const timestamp = Date.now().toString()
config.headers['X-Request-Time'] = timestamp
config.headers['timestamp'] = timestamp
config.headers['X-Timestamp'] = timestamp
3. 增强错误调试
- 在AiAppSetting.vue中添加详细的调试日志
- 在AiModelTest.vue中添加直接请求测试功能
- 显示完整的错误信息和响应数据
测试步骤
1. 访问测试页面
http://localhost:5173/ai-model-test
2. 检查登录状态
- 确保用户已登录并有有效的token
- 在测试页面中查看"用户Token"状态
3. 测试API调用
- 点击"加载AI模型列表"按钮(使用封装的API)
- 点击"直接请求测试"按钮(使用原生axios)
- 查看控制台日志和响应数据
4. 检查AI应用设置
- 访问
/ai/app
页面 - 点击任意AI应用卡片
- 切换到"模型配置"选项卡
- 查看控制台日志
调试信息
请求信息
- URL:
/sys/dict/getDictItems/airag_model%20where%20model_type%20=%20'LLM',name,id?_t={timestamp}
- 方法: GET
- Base URL:
/jeecgboot
(或环境变量配置)
请求头
{
'Content-Type': 'application/json',
'X-Access-Token': '{user_token}',
'X-Request-Time': '{timestamp}',
'timestamp': '{timestamp}',
'X-Timestamp': '{timestamp}'
}
预期响应格式
{
"success": true,
"message": "",
"code": 0,
"result": [
{
"value": "1890232564262739969",
"text": "OpenAI",
"color": null,
"jsonObject": null,
"label": "OpenAI",
"title": "OpenAI"
}
],
"timestamp": 1759136645858
}
可能的解决方案
1. 检查后端签名算法
如果问题仍然存在,可能需要:
- 检查后端期望的签名算法
- 添加必要的签名参数
- 确认时间戳格式要求
2. 检查接口权限
- 确认该接口是否需要特定的用户权限
- 检查token是否有效
- 验证用户角色权限
3. 检查接口路径
- 确认接口路径是否正确
- 检查URL编码是否正确
- 验证查询参数格式
备用方案
如果API调用仍然失败,系统会自动使用备用数据:
modelOptions.value = [
{ label: 'GPT-3.5 Turbo', value: 'gpt-3.5-turbo' },
{ label: 'GPT-4', value: 'gpt-4' },
{ label: 'Claude-3', value: 'claude-3' }
]
下一步调试
-
查看网络请求
- 打开浏览器开发者工具
- 查看Network选项卡
- 检查实际发送的请求和响应
-
检查后端日志
- 查看后端服务器日志
- 确认请求是否到达后端
- 检查签名验证逻辑
-
联系后端开发
- 确认接口的正确调用方式
- 获取签名算法详细信息
- 确认必需的请求参数
文件修改记录
src/api/modules/system.ts
: 添加字典API和时间戳参数src/api/request.ts
: 增强时间戳请求头src/views/Ai/component/AiAppSetting.vue
: 添加详细调试日志src/views/AiModelTest.vue
: 创建专门的测试页面src/router/index.ts
: 添加测试页面路由