UnisKB/API接口参数文档.md

1256 lines
26 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# AI-RAG API接口参数文档
## 1. 概述
本文档详细描述了MaxKB系统中所有API接口的参数信息包括用户管理、应用管理、对话管理、知识库管理等模块的接口。
## 2. 用户管理接口
### 2.1 登录接口
- **URL**: `/api/users/login`
- **方法**: POST
- **认证**: 无需认证
#### 请求参数
| 参数名 | 类型 | 必填 | 描述 |
|--------|------|------|------|
| username | string | 是 | 用户名 |
| password | string | 是 | 密码 |
| captcha | string | 否 | 验证码(登录失败次数超过阈值时需要) |
| encryptedData | string | 否 | 加密数据 |
#### 响应数据
```json
{
"code": 200,
"message": "success",
"data": {
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}
}
```
### 2.2 登出接口
- **URL**: `/api/users/logout`
- **方法**: POST
- **认证**: Token认证
#### 响应数据
```json
{
"code": 200,
"message": "success",
"data": true
}
```
### 2.3 获取验证码接口
- **URL**: `/api/users/captcha`
- **方法**: GET
- **认证**: 无需认证
#### 请求参数
| 参数名 | 类型 | 必填 | 描述 |
|--------|------|------|------|
| username | string | 否 | 用户名 |
#### 响应数据
```json
{
"code": 200,
"message": "success",
"data": {
"captcha": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."
}
}
```
### 2.4 用户个人信息接口
- **URL**: `/api/users/profile`
- **方法**: GET
- **认证**: Token认证
#### 响应数据
```json
{
"code": 200,
"message": "success",
"data": {
"id": "user123",
"username": "admin",
"email": "admin@example.com",
"is_active": true
}
}
```
### 2.5 切换语言接口
- **URL**: `/api/users/language`
- **方法**: POST
- **认证**: Token认证
#### 请求参数
| 参数名 | 类型 | 必填 | 描述 |
|--------|------|------|------|
| language | string | 是 | 语言代码zh-CN, en-US |
#### 响应数据
```json
{
"code": 200,
"message": "success",
"data": true
}
```
## 3. 应用管理接口
### 3.1 应用列表接口
- **URL**: `/api/application/workspace/{workspace_id}/application`
- **方法**: GET
- **认证**: Token认证
#### 请求参数
| 参数名 | 位置 | 类型 | 必填 | 描述 |
|--------|------|------|------|------|
| workspace_id | path | string | 是 | 工作空间ID |
#### 响应数据
```json
{
"code": 200,
"message": "success",
"data": [
{
"id": "app123",
"name": "测试应用",
"description": "这是一个测试应用",
"workspace_id": "workspace1",
"create_time": "2025-01-01 10:00:00"
}
]
}
```
### 3.2 应用分页接口
- **URL**: `/api/application/workspace/{workspace_id}/application/{current_page}/{page_size}`
- **方法**: GET
- **认证**: Token认证
#### 请求参数
| 参数名 | 位置 | 类型 | 必填 | 描述 |
|--------|------|------|------|------|
| workspace_id | path | string | 是 | 工作空间ID |
| current_page | path | integer | 是 | 当前页码 |
| page_size | path | integer | 是 | 每页大小 |
#### 响应数据
```json
{
"code": 200,
"message": "success",
"data": {
"records": [
{
"id": "app123",
"name": "测试应用",
"description": "这是一个测试应用"
}
],
"total": 10,
"size": 20,
"current": 1,
"pages": 1
}
}
```
### 3.3 应用详情接口
- **URL**: `/api/application/workspace/{workspace_id}/application/{application_id}`
- **方法**: GET
- **认证**: Token认证
#### 请求参数
| 参数名 | 位置 | 类型 | 必填 | 描述 |
|--------|------|------|------|------|
| workspace_id | path | string | 是 | 工作空间ID |
| application_id | path | string | 是 | 应用ID |
#### 响应数据
```json
{
"code": 200,
"message": "success",
"data": {
"id": "app123",
"name": "测试应用",
"description": "这是一个测试应用",
"workspace_id": "workspace1",
"create_time": "2025-01-01 10:00:00",
"update_time": "2025-01-02 10:00:00"
}
}
```
### 3.4 创建应用接口
- **URL**: `/api/application/workspace/{workspace_id}/application`
- **方法**: POST
- **认证**: Token认证
#### 请求参数
| 参数名 | 位置 | 类型 | 必填 | 描述 |
|--------|------|------|------|------|
| workspace_id | path | string | 是 | 工作空间ID |
| name | body | string | 是 | 应用名称 |
| description | body | string | 否 | 应用描述 |
| type | body | string | 是 | 应用类型 |
#### 响应数据
```json
{
"code": 200,
"message": "success",
"data": {
"id": "app123",
"name": "测试应用"
}
}
```
### 3.5 更新应用接口
- **URL**: `/api/application/workspace/{workspace_id}/application/{application_id}`
- **方法**: PUT
- **认证**: Token认证
#### 请求参数
| 参数名 | 位置 | 类型 | 必填 | 描述 |
|--------|------|------|------|------|
| workspace_id | path | string | 是 | 工作空间ID |
| application_id | path | string | 是 | 应用ID |
| name | body | string | 否 | 应用名称 |
| description | body | string | 否 | 应用描述 |
#### 响应数据
```json
{
"code": 200,
"message": "success",
"data": true
}
```
### 3.6 删除应用接口
- **URL**: `/api/application/workspace/{workspace_id}/application/{application_id}`
- **方法**: DELETE
- **认证**: Token认证
#### 请求参数
| 参数名 | 位置 | 类型 | 必填 | 描述 |
|--------|------|------|------|------|
| workspace_id | path | string | 是 | 工作空间ID |
| application_id | path | string | 是 | 应用ID |
#### 响应数据
```json
{
"code": 200,
"message": "success",
"data": true
}
```
## 4. 监控统计接口
### 4.1 对话统计趋势接口
- **URL**: `/api/application/{workspace_id}/{application_id}/stats`
- **方法**: GET
- **认证**: Token认证
#### 请求参数
| 参数名 | 位置 | 类型 | 必填 | 描述 |
|--------|------|------|------|------|
| workspace_id | path | string | 是 | 工作空间ID |
| application_id | path | string | 是 | 应用ID |
| start_time | query | string | 是 | 开始时间格式YYYY-MM-DD |
| end_time | query | string | 是 | 结束时间格式YYYY-MM-DD |
#### 响应数据
```json
{
"code": 200,
"message": "success",
"data": [
{
"chat_record_count": 10,
"customer_added_count": 5,
"customer_num": 100,
"day": "2025-01-01",
"star_num": 8,
"tokens_num": 1000,
"trample_num": 2
}
]
}
```
### 4.2 Token使用统计接口
- **URL**: `/api/application/{workspace_id}/{application_id}/stats/token-usage`
- **方法**: GET
- **认证**: Token认证
#### 请求参数
| 参数名 | 位置 | 类型 | 必填 | 描述 |
|--------|------|------|------|------|
| workspace_id | path | string | 是 | 工作空间ID |
| application_id | path | string | 是 | 应用ID |
| start_time | query | string | 是 | 开始时间格式YYYY-MM-DD |
| end_time | query | string | 是 | 结束时间格式YYYY-MM-DD |
#### 响应数据
```json
{
"code": 200,
"message": "success",
"data": [
{
"chat_user_id": "user123",
"nick_name": "用户1",
"tokens_num": 5000
}
]
}
```
### 4.3 热门问题统计接口
- **URL**: `/api/application/{workspace_id}/{application_id}/stats/top-questions`
- **方法**: GET
- **认证**: Token认证
#### 请求参数
| 参数名 | 位置 | 类型 | 必填 | 描述 |
|--------|------|------|------|------|
| workspace_id | path | string | 是 | 工作空间ID |
| application_id | path | string | 是 | 应用ID |
| start_time | query | string | 是 | 开始时间格式YYYY-MM-DD |
| end_time | query | string | 是 | 结束时间格式YYYY-MM-DD |
#### 响应数据
```json
{
"code": 200,
"message": "success",
"data": [
{
"problem_text": "如何使用MaxKB",
"count": 50
}
]
}
```
## 5. 对话管理接口
### 5.1 应用级别对话记录列表接口
- **URL**: `/api/application/{workspace_id}/{application_id}/chat-record/{chat_id}`
- **方法**: GET
- **认证**: Token认证
#### 请求参数
| 参数名 | 位置 | 类型 | 必填 | 描述 |
|--------|------|------|------|------|
| workspace_id | path | string | 是 | 工作空间ID |
| application_id | path | string | 是 | 应用ID |
| chat_id | path | string | 是 | 对话ID |
| search_type | query | string | 否 | 搜索类型 |
| search_text | query | string | 否 | 搜索文本 |
| start_time | query | string | 否 | 开始时间 |
| end_time | query | string | 否 | 结束时间 |
#### 响应数据
```json
{
"code": 200,
"message": "success",
"data": [
{
"id": "record123",
"chat_id": "chat123",
"problem_text": "如何使用MaxKB",
"answer_text": "MaxKB是一个智能客服平台...",
"create_time": "2025-01-01 10:00:00",
"tokens": 100,
"star": 1,
"trample": 0
}
]
}
```
### 5.2 用户级别历史对话列表接口
- **URL**: `/api/chat/historical_conversation`
- **方法**: GET
- **认证**: Token认证
#### 响应数据
```json
{
"code": 200,
"message": "success",
"data": [
{
"id": "chat123",
"abstract": "如何使用MaxKB",
"create_time": "2025-01-01 10:00:00",
"update_time": "2025-01-01 10:05:00"
}
]
}
```
### 5.3 发送消息接口
- **URL**: `/api/chat/chat_message/{chat_id}`
- **方法**: POST
- **认证**: Token认证
#### 请求参数
| 参数名 | 位置 | 类型 | 必填 | 描述 |
|--------|------|------|------|------|
| chat_id | path | string | 是 | 对话ID |
| message_list | body | array | 是 | 消息列表 |
| problem_text | body | string | 是 | 用户问题 |
| stream | body | boolean | 否 | 是否使用流的形式输出 |
#### 响应数据
```json
{
"code": 200,
"message": "success",
"data": {
"id": "record123",
"chat_id": "chat123",
"problem_text": "如何使用MaxKB",
"answer_text": "MaxKB是一个智能客服平台...",
"create_time": "2025-01-01 10:00:00",
"tokens": 100
}
}
```
## 6. 知识库管理接口
### 6.1 知识库列表接口
- **URL**: `/api/knowledge/workspace/{workspace_id}/knowledge`
- **方法**: GET
- **认证**: Token认证
#### 请求参数
| 参数名 | 位置 | 类型 | 必填 | 描述 |
|--------|------|------|------|------|
| workspace_id | path | string | 是 | 工作空间ID |
#### 响应数据
```json
{
"code": 200,
"message": "success",
"data": [
{
"id": "knowledge123",
"name": "测试知识库",
"description": "这是一个测试知识库",
"workspace_id": "workspace1",
"create_time": "2025-01-01 10:00:00"
}
]
}
```
### 6.2 知识库分页接口
- **URL**: `/api/knowledge/workspace/{workspace_id}/knowledge/{current_page}/{page_size}`
- **方法**: GET
- **认证**: Token认证
#### 请求参数
| 参数名 | 位置 | 类型 | 必填 | 描述 |
|--------|------|------|------|------|
| workspace_id | path | string | 是 | 工作空间ID |
| current_page | path | integer | 是 | 当前页码 |
| page_size | path | integer | 是 | 每页大小 |
#### 响应数据
```json
{
"code": 200,
"message": "success",
"data": {
"records": [
{
"id": "knowledge123",
"name": "测试知识库",
"description": "这是一个测试知识库"
}
],
"total": 5,
"size": 20,
"current": 1,
"pages": 1
}
}
```
### 6.3 文档列表接口
- **URL**: `/api/knowledge/workspace/{workspace_id}/knowledge/{knowledge_id}/document`
- **方法**: GET
- **认证**: Token认证
#### 请求参数
| 参数名 | 位置 | 类型 | 必填 | 描述 |
|--------|------|------|------|------|
| workspace_id | path | string | 是 | 工作空间ID |
| knowledge_id | path | string | 是 | 知识库ID |
#### 响应数据
```json
{
"code": 200,
"message": "success",
"data": [
{
"id": "doc123",
"name": "测试文档",
"knowledge_id": "knowledge123",
"create_time": "2025-01-01 10:00:00"
}
]
}
```
### 6.4 段落列表接口
- **URL**: `/api/knowledge/workspace/{workspace_id}/knowledge/{knowledge_id}/document/{document_id}/paragraph`
- **方法**: GET
- **认证**: Token认证
#### 请求参数
| 参数名 | 位置 | 类型 | 必填 | 描述 |
|--------|------|------|------|------|
| workspace_id | path | string | 是 | 工作空间ID |
| knowledge_id | path | string | 是 | 知识库ID |
| document_id | path | string | 是 | 文档ID |
#### 响应数据
```json
{
"code": 200,
"message": "success",
"data": [
{
"id": "paragraph123",
"content": "这是一段测试内容",
"document_id": "doc123",
"create_time": "2025-01-01 10:00:00"
}
]
}
```
## 7. Token获取方式
### 7.1 用户登录获取Token
- **URL**: `/api/users/login`
- **方法**: POST
- **认证**: 无需认证
#### 请求参数
| 参数名 | 类型 | 必填 | 描述 |
|--------|------|------|------|
| username | string | 是 | 用户名 |
| password | string | 是 | 密码 |
| captcha | string | 否 | 验证码(登录失败次数超过阈值时需要) |
| encryptedData | string | 否 | 加密数据 |
#### 响应数据
```json
{
"code": 200,
"message": "success",
"data": {
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}
}
```
### 7.2 应用访问令牌
系统还支持应用级别的访问令牌,通过`ApplicationAccessToken`模型生成用于应用间的API调用。
### 7.3 Token使用方式
获取token后在调用其他API接口时需要在请求头中添加
```
Authorization: Bearer your_token_here
```
## 8. 通用参数说明
### 8.1 分页参数
| 参数名 | 类型 | 描述 |
|--------|------|------|
| current_page | integer | 当前页码从1开始 |
| page_size | integer | 每页大小默认20 |
### 8.2 时间参数
| 参数名 | 类型 | 描述 |
|--------|------|------|
| start_time | string | 开始时间格式YYYY-MM-DD |
| end_time | string | 结束时间格式YYYY-MM-DD |
### 8.3 搜索参数
| 参数名 | 类型 | 描述 |
|--------|------|------|
| search_text | string | 搜索文本 |
| search_type | string | 搜索类型 |
## 9. 响应格式
所有API接口的响应格式统一为
```json
{
"code": 200, // 状态码200表示成功
"message": "success", // 消息success表示成功
"data": {} // 数据,根据接口不同返回不同结构
}
```
### 9.1 错误响应
| 错误码 | 描述 |
|--------|------|
| 401 | 未授权Token无效或过期 |
| 403 | 无权限访问该资源 |
| 404 | 资源不存在 |
| 500 | 服务器内部错误 |
## 7. 系统管理接口
### 7.1 工作空间用户资源权限接口
- **URL**: `/api/system_manage/workspace/{workspace_id}/user_resource_permission/user/{user_id}/resource/{resource}`
- **方法**: GET
- **认证**: Token认证
#### 请求参数
| 参数名 | 位置 | 类型 | 必填 | 描述 |
|--------|------|------|------|------|
| workspace_id | path | string | 是 | 工作空间ID |
| user_id | path | string | 是 | 用户ID |
| resource | path | string | 是 | 资源类型 |
#### 响应数据
```json
{
"code": 200,
"message": "success",
"data": [
{
"resource_id": "resource123",
"resource_name": "测试资源",
"has_permission": true
}
]
}
```
### 7.2 工作空间用户资源权限分页接口
- **URL**: `/api/system_manage/workspace/{workspace_id}/user_resource_permission/user/{user_id}/resource/{resource}/{current_page}/{page_size}`
- **方法**: GET
- **认证**: Token认证
#### 请求参数
| 参数名 | 位置 | 类型 | 必填 | 描述 |
|--------|------|------|------|------|
| workspace_id | path | string | 是 | 工作空间ID |
| user_id | path | string | 是 | 用户ID |
| resource | path | string | 是 | 资源类型 |
| current_page | path | integer | 是 | 当前页码 |
| page_size | path | integer | 是 | 每页大小 |
#### 响应数据
```json
{
"code": 200,
"message": "success",
"data": {
"records": [
{
"resource_id": "resource123",
"resource_name": "测试资源",
"has_permission": true
}
],
"total": 10,
"size": 20,
"current": 1,
"pages": 1
}
}
```
### 7.3 邮件设置接口
- **URL**: `/api/system_manage/email_setting`
- **方法**: GET, POST
- **认证**: Token认证
#### 请求参数 (POST)
| 参数名 | 类型 | 必填 | 描述 |
|--------|------|------|------|
| smtp_server | string | 是 | SMTP服务器 |
| smtp_port | integer | 是 | SMTP端口 |
| smtp_username | string | 是 | SMTP用户名 |
| smtp_password | string | 是 | SMTP密码 |
| sender_email | string | 是 | 发件人邮箱 |
#### 响应数据
```json
{
"code": 200,
"message": "success",
"data": {
"smtp_server": "smtp.example.com",
"smtp_port": 587,
"smtp_username": "admin@example.com",
"sender_email": "admin@example.com"
}
}
```
### 7.4 系统配置接口
- **URL**: `/api/system_manage/config`
- **方法**: GET
- **认证**: Token认证
#### 响应数据
```json
{
"code": 200,
"message": "success",
"data": {
"system_name": "MaxKB",
"version": "1.0.0",
"admin_path": "/admin"
}
}
```
## 8. 工具管理接口
### 8.1 工具列表接口
- **URL**: `/api/tool/workspace/{workspace_id}/tool`
- **方法**: GET
- **认证**: Token认证
#### 请求参数
| 参数名 | 位置 | 类型 | 必填 | 描述 |
|--------|------|------|------|------|
| workspace_id | path | string | 是 | 工作空间ID |
#### 响应数据
```json
{
"code": 200,
"message": "success",
"data": [
{
"id": "tool123",
"name": "测试工具",
"description": "这是一个测试工具",
"workspace_id": "workspace1",
"create_time": "2025-01-01 10:00:00"
}
]
}
```
### 8.2 工具分页接口
- **URL**: `/api/tool/workspace/{workspace_id}/tool/{current_page}/{page_size}`
- **方法**: GET
- **认证**: Token认证
#### 请求参数
| 参数名 | 位置 | 类型 | 必填 | 描述 |
|--------|------|------|------|------|
| workspace_id | path | string | 是 | 工作空间ID |
| current_page | path | integer | 是 | 当前页码 |
| page_size | path | integer | 是 | 每页大小 |
#### 响应数据
```json
{
"code": 200,
"message": "success",
"data": {
"records": [
{
"id": "tool123",
"name": "测试工具",
"description": "这是一个测试工具"
}
],
"total": 5,
"size": 20,
"current": 1,
"pages": 1
}
}
```
### 8.3 工具详情接口
- **URL**: `/api/tool/workspace/{workspace_id}/tool/{tool_id}`
- **方法**: GET
- **认证**: Token认证
#### 请求参数
| 参数名 | 位置 | 类型 | 必填 | 描述 |
|--------|------|------|------|------|
| workspace_id | path | string | 是 | 工作空间ID |
| tool_id | path | string | 是 | 工具ID |
#### 响应数据
```json
{
"code": 200,
"message": "success",
"data": {
"id": "tool123",
"name": "测试工具",
"description": "这是一个测试工具",
"workspace_id": "workspace1",
"create_time": "2025-01-01 10:00:00"
}
}
```
### 8.4 测试工具连接接口
- **URL**: `/api/tool/workspace/{workspace_id}/tool/test_connection`
- **方法**: POST
- **认证**: Token认证
#### 请求参数
| 参数名 | 位置 | 类型 | 必填 | 描述 |
|--------|------|------|------|------|
| workspace_id | path | string | 是 | 工作空间ID |
| tool_id | body | string | 是 | 工具ID |
| config | body | object | 是 | 工具配置 |
#### 响应数据
```json
{
"code": 200,
"message": "success",
"data": {
"success": true,
"message": "连接成功"
}
}
```
## 9. OSS接口
### 9.1 文件上传接口
- **URL**: `/api/oss/file`
- **方法**: POST
- **认证**: Token认证
#### 请求参数
| 参数名 | 类型 | 必填 | 描述 |
|--------|------|------|------|
| file | file | 是 | 上传的文件 |
| type | string | 是 | 文件类型 |
#### 响应数据
```json
{
"code": 200,
"message": "success",
"data": {
"file_url": "http://example.com/files/test.png",
"file_name": "test.png",
"file_size": 102400
}
}
```
## 10. 文件夹管理接口
### 10.1 文件夹列表接口
- **URL**: `/api/folder/workspace/{workspace_id}/{source}/folder`
- **方法**: GET
- **认证**: Token认证
#### 请求参数
| 参数名 | 位置 | 类型 | 必填 | 描述 |
|--------|------|------|------|------|
| workspace_id | path | string | 是 | 工作空间ID |
| source | path | string | 是 | 资源类型application, knowledge |
#### 响应数据
```json
{
"code": 200,
"message": "success",
"data": [
{
"id": "folder123",
"name": "测试文件夹",
"parent_id": null,
"workspace_id": "workspace1",
"source": "application",
"create_time": "2025-01-01 10:00:00"
}
]
}
```
### 10.2 创建文件夹接口
- **URL**: `/api/folder/workspace/{workspace_id}/{source}/folder`
- **方法**: POST
- **认证**: Token认证
#### 请求参数
| 参数名 | 位置 | 类型 | 必填 | 描述 |
|--------|------|------|------|------|
| workspace_id | path | string | 是 | 工作空间ID |
| source | path | string | 是 | 资源类型application, knowledge |
| name | body | string | 是 | 文件夹名称 |
| parent_id | body | string | 否 | 父文件夹ID |
#### 响应数据
```json
{
"code": 200,
"message": "success",
"data": {
"id": "folder123",
"name": "测试文件夹",
"parent_id": null,
"workspace_id": "workspace1",
"source": "application"
}
}
```
### 10.3 更新文件夹接口
- **URL**: `/api/folder/workspace/{workspace_id}/{source}/folder/{folder_id}`
- **方法**: PUT
- **认证**: Token认证
#### 请求参数
| 参数名 | 位置 | 类型 | 必填 | 描述 |
|--------|------|------|------|------|
| workspace_id | path | string | 是 | 工作空间ID |
| source | path | string | 是 | 资源类型application, knowledge |
| folder_id | path | string | 是 | 文件夹ID |
| name | body | string | 是 | 文件夹名称 |
| parent_id | body | string | 否 | 父文件夹ID |
#### 响应数据
```json
{
"code": 200,
"message": "success",
"data": true
}
```
### 10.4 删除文件夹接口
- **URL**: `/api/folder/workspace/{workspace_id}/{source}/folder/{folder_id}`
- **方法**: DELETE
- **认证**: Token认证
#### 请求参数
| 参数名 | 位置 | 类型 | 必填 | 描述 |
|--------|------|------|------|------|
| workspace_id | path | string | 是 | 工作空间ID |
| source | path | string | 是 | 资源类型application, knowledge |
| folder_id | path | string | 是 | 文件夹ID |
#### 响应数据
```json
{
"code": 200,
"message": "success",
"data": true
}
```
## 11. 模型提供商接口
### 11.1 模型提供商列表接口
- **URL**: `/api/models_provider/provider`
- **方法**: GET
- **认证**: Token认证
#### 响应数据
```json
{
"code": 200,
"message": "success",
"data": [
{
"id": "provider123",
"name": "OpenAI",
"type": "llm",
"status": "active"
}
]
}
```
### 11.2 模型类型列表接口
- **URL**: `/api/models_provider/provider/model_type_list`
- **方法**: GET
- **认证**: Token认证
#### 响应数据
```json
{
"code": 200,
"message": "success",
"data": [
{
"type": "llm",
"name": "大语言模型"
},
{
"type": "embedding",
"name": "嵌入模型"
}
]
}
```
### 11.3 模型列表接口
- **URL**: `/api/models_provider/provider/model_list`
- **方法**: GET
- **认证**: Token认证
#### 请求参数
| 参数名 | 类型 | 必填 | 描述 |
|--------|------|------|------|
| provider_id | string | 是 | 提供商ID |
| model_type | string | 是 | 模型类型 |
#### 响应数据
```json
{
"code": 200,
"message": "success",
"data": [
{
"id": "model123",
"name": "gpt-4",
"description": "OpenAI GPT-4模型"
}
]
}
```
### 11.4 工作空间模型设置接口
- **URL**: `/api/models_provider/workspace/{workspace_id}/model`
- **方法**: GET, POST
- **认证**: Token认证
#### 请求参数 (POST)
| 参数名 | 位置 | 类型 | 必填 | 描述 |
|--------|------|------|------|------|
| workspace_id | path | string | 是 | 工作空间ID |
| provider_id | body | string | 是 | 提供商ID |
| model_id | body | string | 是 | 模型ID |
| api_key | body | string | 是 | API密钥 |
| base_url | body | string | 否 | 基础URL |
#### 响应数据
```json
{
"code": 200,
"message": "success",
"data": {
"id": "model_setting123",
"provider_id": "provider123",
"model_id": "model123",
"workspace_id": "workspace1"
}
}
```
## 12. 通用参数说明
### 12.1 分页参数
| 参数名 | 类型 | 描述 |
|--------|------|------|
| current_page | integer | 当前页码从1开始 |
| page_size | integer | 每页大小默认20 |
### 12.2 时间参数
| 参数名 | 类型 | 描述 |
|--------|------|------|
| start_time | string | 开始时间格式YYYY-MM-DD |
| end_time | string | 结束时间格式YYYY-MM-DD |
### 12.3 搜索参数
| 参数名 | 类型 | 描述 |
|--------|------|------|
| search_text | string | 搜索文本 |
| search_type | string | 搜索类型 |
## 13. 响应格式
所有API接口的响应格式统一为
```json
{
"code": 200, // 状态码200表示成功
"message": "success", // 消息success表示成功
"data": {} // 数据,根据接口不同返回不同结构
}
```
### 13.1 错误响应
| 错误码 | 描述 |
|--------|------|
| 401 | 未授权Token无效或过期 |
| 403 | 无权限访问该资源 |
| 404 | 资源不存在 |
| 500 | 服务器内部错误 |
## 14. 注意事项
1. 所有接口都需要有效的Token认证
2. Token有过期时间过期后需要重新获取
3. 登录失败次数过多时,需要输入验证码
4. 对于大量数据的查询,建议使用分页接口
5. 时间格式必须为 `YYYY-MM-DD`
6. 路径参数中的ID通常为UUID格式
7. 部分接口需要特定的权限才能访问
8. 上传文件时需要使用multipart/form-data格式
9. 对于流式输出的接口,响应会分多次返回
10. 接口调用频率过高可能会被限流