548 lines
14 KiB
Markdown
548 lines
14 KiB
Markdown
---
|
||
outline: [2, 3]
|
||
---
|
||
|
||
# AI
|
||
|
||
## API 前缀
|
||
|
||
`agent.{username}.olares.com/api/controllers/console/api`
|
||
|
||
## 基本应用管理 API
|
||
### 获取 App 列表
|
||
- **Request**
|
||
- **URL**: `/apps`
|
||
- **Method**: `GET`
|
||
- **URL Parameters**: `/apps?page=1&limit=30&name=Ashia`
|
||
:::tip
|
||
本文档中列出的大多数 API 都需要`app_id`,可以从该 API 的 Response 中获取该`app_id`。
|
||
:::
|
||
|
||
### 创建应用
|
||
- **Request**
|
||
- **URL**: `/apps`
|
||
- **Method**: `POST`
|
||
- **Body Example**:
|
||
```json
|
||
{
|
||
"name": "TEST",
|
||
"icon": "🤖",
|
||
"icon_background": "#FFEAD5",
|
||
"mode": "agent-chat",
|
||
"description": "JUST A TEST"
|
||
}
|
||
```
|
||
|
||
### 获取应用细节
|
||
- **Request**
|
||
- **URL**: `/apps/{uuid:app_id}`
|
||
- **Method**: `GET`
|
||
- **Body Example**: `null`
|
||
|
||
### 删除应用
|
||
- **Request**
|
||
- **URL**: `/apps/{uuid:app_id}`
|
||
- **Method**: `DELETE`
|
||
- **Body Example**: `null`
|
||
|
||
### 复制应用
|
||
- **Request**
|
||
- **URL**: `/apps/{uuid:app_id}/copy`
|
||
- **Method**: `POST`
|
||
- **Body Example**:
|
||
```json
|
||
{
|
||
"name": "Ashia-2",
|
||
"icon": "🤖",
|
||
"icon_background": "#FFEAD5",
|
||
"mode": "agent-chat"
|
||
}
|
||
```
|
||
|
||
### 应用重命名
|
||
- **Request**
|
||
- **URL**: `/apps/{uuid:app_id}/name`
|
||
- **Method**: `POST`
|
||
- **Body Example**:
|
||
```json
|
||
{
|
||
"name": "Ashia—34"
|
||
}
|
||
```
|
||
|
||
### 修改应用图标
|
||
- **Request**
|
||
- **URL**: `/apps/{uuid:app_id}/icon`
|
||
- **Method**: `POST`
|
||
- **Body Example**:
|
||
```json
|
||
{
|
||
"icon": "heavy_check_mark"
|
||
}
|
||
```
|
||
|
||
### 应用网页访问控制
|
||
> 调整应用是否可网页访问。
|
||
- **Request**
|
||
- **URL**: `/apps/{uuid:app_id}/site-enable`
|
||
- **Method**: `POST`
|
||
- **Body Example**:
|
||
```json
|
||
{
|
||
"enable_site": true
|
||
}
|
||
```
|
||
|
||
### 应用 API 访问控制
|
||
> 调整应用是否可 API 访问
|
||
- **Request**
|
||
- **URL**: `/apps/{uuid:app_id}/api-enable`
|
||
- **Method**: `POST`
|
||
- **Body Example**:
|
||
```json
|
||
{
|
||
"enable_api": true
|
||
}
|
||
```
|
||
|
||
## 应用 Function API
|
||
### 文本生成
|
||
> 文本生成型应用的执行接口
|
||
- **Request**
|
||
- **URL**: `/apps/{uuid:app_id}/completion-messages`
|
||
- **Method**: `POST`
|
||
- **Body Example**:
|
||
:::details
|
||
```json
|
||
{
|
||
"inputs": {
|
||
"query": "Hello~"
|
||
},
|
||
"model_config": {
|
||
"pre_prompt": "{{query}}",
|
||
"prompt_type": "simple",
|
||
"chat_prompt_config": {},
|
||
"completion_prompt_config": {},
|
||
"user_input_form": [
|
||
{
|
||
"paragraph": {
|
||
"label": "Query",
|
||
"variable": "query",
|
||
"required": true,
|
||
"default": ""
|
||
}
|
||
}
|
||
],
|
||
"dataset_query_variable": "",
|
||
"opening_statement": null,
|
||
"suggested_questions_after_answer": {
|
||
"enabled": false
|
||
},
|
||
"speech_to_text": {
|
||
"enabled": false
|
||
},
|
||
"retriever_resource": {
|
||
"enabled": false
|
||
},
|
||
"sensitive_word_avoidance": {
|
||
"enabled": false,
|
||
"type": "",
|
||
"configs": []
|
||
},
|
||
"more_like_this": {
|
||
"enabled": false
|
||
},
|
||
"model": {
|
||
"provider": "openai_api_compatible",
|
||
"name": "nitro",
|
||
"mode": "chat",
|
||
"completion_params": {
|
||
"temperature": 0.7,
|
||
"top_p": 1,
|
||
"frequency_penalty": 0,
|
||
"presence_penalty": 0,
|
||
"max_tokens": 512
|
||
}
|
||
},
|
||
"text_to_speech": {
|
||
"enabled": false,
|
||
"voice": "",
|
||
"language": ""
|
||
},
|
||
"agent_mode": {
|
||
"enabled": false,
|
||
"tools": []
|
||
},
|
||
"dataset_configs": {
|
||
"retrieval_model": "single",
|
||
"datasets": {
|
||
"datasets": []
|
||
}
|
||
},
|
||
"file_upload": {
|
||
"image": {
|
||
"enabled": false,
|
||
"number_limits": 3,
|
||
"detail": "high",
|
||
"transfer_methods": [
|
||
"remote_url",
|
||
"local_file"
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"response_mode": "streaming"
|
||
}
|
||
```
|
||
:::
|
||
|
||
## 文本生成停止
|
||
> 文本生成型应用执行中断任务接口
|
||
- **Request**
|
||
- **URL**: `/apps/{uuid:app_id}/completion-messages/{string:task_id}/stop`
|
||
- **Method**: `POST`
|
||
- **Body Example**: `null`
|
||
:::tip
|
||
该 API 中所需的 `task_id` 可以从[文本生成](#文本生成) API 的 Response(流式传输)中获取。
|
||
:::
|
||
|
||
## 聊天
|
||
> 聊天型应用的执行接口
|
||
- **Request**
|
||
- **URL**: `/apps/{uuid:app_id}/chat-messages`
|
||
- **Method**: `POST`
|
||
- **Body Example**:
|
||
:::details
|
||
```json
|
||
{
|
||
"response_mode": "streaming",
|
||
"conversation_id": "",
|
||
"query": "Hello~",
|
||
"inputs": {},
|
||
"model_config": {
|
||
"pre_prompt": "",
|
||
"prompt_type": "simple",
|
||
"chat_prompt_config": {},
|
||
"completion_prompt_config": {},
|
||
"user_input_form": [],
|
||
"dataset_query_variable": "",
|
||
"opening_statement": "",
|
||
"more_like_this": {
|
||
"enabled": false
|
||
},
|
||
"suggested_questions": [],
|
||
"suggested_questions_after_answer": {
|
||
"enabled": false
|
||
},
|
||
"text_to_speech": {
|
||
"enabled": false,
|
||
"voice": "",
|
||
"language": ""
|
||
},
|
||
"speech_to_text": {
|
||
"enabled": false
|
||
},
|
||
"retriever_resource": {
|
||
"enabled": false
|
||
},
|
||
"sensitive_word_avoidance": {
|
||
"enabled": false
|
||
},
|
||
"agent_mode": {
|
||
"max_iteration": 5,
|
||
"enabled": true,
|
||
"tools": [],
|
||
"strategy": "react"
|
||
},
|
||
"dataset_configs": {
|
||
"retrieval_model": "single",
|
||
"datasets": {
|
||
"datasets": []
|
||
}
|
||
},
|
||
"file_upload": {
|
||
"image": {
|
||
"enabled": false,
|
||
"number_limits": 2,
|
||
"detail": "low",
|
||
"transfer_methods": [
|
||
"local_file"
|
||
]
|
||
}
|
||
},
|
||
"annotation_reply": {
|
||
"enabled": false
|
||
},
|
||
"supportAnnotation": true,
|
||
"appId": "2c937aae-f4f2-4cf9-b6e2-f2f2756858c0",
|
||
"supportCitationHitInfo": true,
|
||
"model": {
|
||
"provider": "openai_api_compatible",
|
||
"name": "nitro",
|
||
"mode": "chat",
|
||
"completion_params": {
|
||
"temperature": 2,
|
||
"top_p": 1,
|
||
"frequency_penalty": 0,
|
||
"presence_penalty": 0,
|
||
"max_tokens": 512,
|
||
"stop": []
|
||
}
|
||
}
|
||
}
|
||
}
|
||
```
|
||
:::
|
||
|
||
|
||
## 聊天停止
|
||
> 聊天型应用执行中断任务接口
|
||
- **Request**
|
||
- **URL**: `/apps/{uuid:app_id}/chat-messages/{string:task_id}/stop`
|
||
- **Method**: `POST`
|
||
- **Body Example**: `null`
|
||
:::tip
|
||
该 API 中所需的 `task_id` 可以从[聊天](#聊天) API 的 Response(流式传输)中获取。
|
||
:::
|
||
|
||
### 获取会话列表(文本生成)
|
||
- **Request**
|
||
- **URL**: `/apps/{uuid:app_id}/completion-conversations`
|
||
- **Method**: `GET`
|
||
- **URL Parameters**: `/apps/{uuid:app_id}/completion-conversations?page=1&limit=30`
|
||
:::tip
|
||
下面列出的会话(文本生成)API 需要 `conversation_id`,可以从该 API 的 Response 中获取。
|
||
:::
|
||
|
||
### 获取会话细节(文本生成)
|
||
- **Request**
|
||
- **URL**: `/apps/{uuid:app_id}/completion-conversations/{uuid:conversation_id}`
|
||
- **Method**: `GET`
|
||
- **Body Example**: `null`
|
||
:::tip
|
||
下面列出的会话(文本生成)API 需要 `message_id`,可以从该 API 的 Response 中获取。
|
||
:::
|
||
|
||
### 删除会话细节(文本生成)
|
||
- **Request**
|
||
- **URL**: `/apps/{uuid:app_id}/completion-conversations/{uuid:conversation_id}`
|
||
- **Method**: `DELETE`
|
||
- **Body Example**: `null`
|
||
|
||
### 获取会话列表(聊天)
|
||
- **Request**
|
||
- **URL**: `/apps/{uuid:app_id}/chat-conversations`
|
||
- **Method**: `GET`
|
||
- **URL Parameters**: `/apps/{uuid:app_id}/chat-conversations?page=1&limit=30`
|
||
:::tip
|
||
下面列出的会话(聊天)API 需要 `conversation_id`,可以从该 API 的 Response 中获取。
|
||
:::
|
||
|
||
### 获取会话细节(聊天)
|
||
- **Request**
|
||
- **URL**: `/apps/{uuid:app_id}/chat-conversations/{uuid:conversation_id}`
|
||
- **Method**: `GET`
|
||
- **Body Example**: `null`
|
||
:::tip
|
||
下面列出的会话(对话)API 需要 `message_id`,可以从该 API 的 Response 中获取。
|
||
:::
|
||
|
||
### 删除会话细节(聊天)
|
||
- **Request**
|
||
- **URL**: `/apps/{uuid:app_id}/chat-conversations/{uuid:conversation_id}`
|
||
- **Method**: `DELETE`
|
||
- **Body Example**: `null`
|
||
|
||
### 推荐问题(聊天)
|
||
> 在对话型应用中,获取 AI 给出回复后可以提出的建议问题
|
||
- **Request**
|
||
- **URL**: `/apps/{uuid:app_id}/chat-messages/{uuid:message_id}/suggested-questions`
|
||
- **Method**: `GET`
|
||
- **Body Example**: `null`
|
||
|
||
### 获取消息列表(聊天)
|
||
- **Request**
|
||
- **URL**: `/apps/{uuid:app_id}/chat-messages`
|
||
- **Method**: `GET`
|
||
- **URL Parameters**: `/apps/{uuid:app_id}/chat-messages?conversation_id={conversation_id}`
|
||
|
||
### 消息反馈
|
||
> 对应用消息反馈喜欢或不喜欢
|
||
- **Request**
|
||
- **URL**: `/apps/{uuid:app_id}/feedbacks`
|
||
- **Method**: `POST`
|
||
- **Body Example**:
|
||
```json
|
||
{
|
||
"rating": "like" // "like" | "dislike" | null
|
||
}
|
||
```
|
||
|
||
### 消息标注
|
||
> 对来自应用的消息进行标注(文本生成)
|
||
- **Request**
|
||
- **URL**: `/apps/{uuid:app_id}/annotations`
|
||
- **Method**: `POST`
|
||
- **Body Example**:
|
||
```json
|
||
{
|
||
"message_id": "2b79fdad-e513-45ef-9532-8de5086cb81c",
|
||
"question": "query:How are you?",
|
||
"answer": "some answer messages"
|
||
}
|
||
```
|
||
|
||
### 消息标注统计
|
||
> 获取应用当前消息的注释条数
|
||
- **Request**
|
||
- **URL**: `/apps/{uuid:app_id}/annotations/count`
|
||
- **Method**: `GET`
|
||
- **Body Example**: `null`
|
||
|
||
|
||
### 获取消息细节(聊天)
|
||
- **Request**
|
||
- **URL**: `/apps/{uuid:app_id}/messages/{uuid:message_id}`
|
||
- **Method**: `GET`
|
||
- **Body Example**: `null`
|
||
|
||
## 高级应用管理 API
|
||
|
||
### 模型配置
|
||
- **Request**
|
||
- **URL**: `/apps/{uuid:app_id}/model-config`
|
||
- **Method**: `POST`
|
||
- **Body Example**:
|
||
:::details
|
||
```json
|
||
{
|
||
"pre_prompt": "",
|
||
"prompt_type": "simple",
|
||
"chat_prompt_config": {},
|
||
"completion_prompt_config": {},
|
||
"user_input_form": [],
|
||
"dataset_query_variable": "",
|
||
"opening_statement": "",
|
||
"suggested_questions": [],
|
||
"more_like_this": {
|
||
"enabled": false
|
||
},
|
||
"suggested_questions_after_answer": {
|
||
"enabled": false
|
||
},
|
||
"speech_to_text": {
|
||
"enabled": false
|
||
},
|
||
"text_to_speech": {
|
||
"enabled": false,
|
||
"language": "",
|
||
"voice": ""
|
||
},
|
||
"retriever_resource": {
|
||
"enabled": false
|
||
},
|
||
"sensitive_word_avoidance": {
|
||
"enabled": false
|
||
},
|
||
"agent_mode": {
|
||
"max_iteration": 5,
|
||
"enabled": true,
|
||
"strategy": "react",
|
||
"tools": []
|
||
},
|
||
"model": {
|
||
"provider": "openai_api_compatible",
|
||
"name": "nitro",
|
||
"mode": "chat",
|
||
"completion_params": {
|
||
"frequency_penalty": 0,
|
||
"max_tokens": 512,
|
||
"presence_penalty": 0,
|
||
"stop": [],
|
||
"temperature": 2,
|
||
"top_p": 1
|
||
}
|
||
},
|
||
"dataset_configs": {
|
||
"retrieval_model": "single",
|
||
"datasets": {
|
||
"datasets": []
|
||
}
|
||
},
|
||
"file_upload": {
|
||
"image": {
|
||
"enabled": false,
|
||
"number_limits": 2,
|
||
"detail": "low",
|
||
"transfer_methods": [
|
||
"local_file"
|
||
]
|
||
}
|
||
}
|
||
}
|
||
```
|
||
:::
|
||
|
||
### 修改应用基本信息
|
||
- **Request**
|
||
- **URL**: `/apps/{uuid:app_id}/site`
|
||
- **Method**: `POST`
|
||
- **Body Example**:
|
||
```json
|
||
{
|
||
"title": "Ashias-23",
|
||
"icon": "grin",
|
||
"icon_background": "#000000",
|
||
"description": "How do you do~"
|
||
}
|
||
```
|
||
### 重新生成公开访问的 URL
|
||
> 重新生成应用的公共访问 URL
|
||
- **Request**
|
||
- **URL**: `/apps/{uuid:app_id}/site/access-token-reset`
|
||
- **Method**: `POST`
|
||
- **Body Example**: `null`
|
||
|
||
## 应用统计 API
|
||
### 全部消息数统计
|
||
- **Request**
|
||
- **URL**: `/apps/{uuid:app_id}/statistics/daily-conversations`
|
||
- **Method**: `GET`
|
||
- **URL Parameters**: `/apps/{uuid:app_id}/statistics/daily-conversations?start=2024-04-19%2016%3A28&end=2024-04-26%2016%3A28`
|
||
|
||
### 活跃用户统计
|
||
- **Request**
|
||
- **URL**: `/apps/{uuid:app_id}/statistics/daily-end-users`
|
||
- **Method**: `GET`
|
||
- **URL Parameters**: `/apps/{uuid:app_id}/statistics/daily-end-users?start=2024-04-19%2016%3A28&end=2024-04-26%2016%3A28`
|
||
|
||
### 费用消耗统计
|
||
- **Request**
|
||
- **URL**: `/apps/{uuid:app_id}/statistics/token-costs`
|
||
- **Method**: `GET`
|
||
- **URL Parameters**: `/apps/{uuid:app_id}/statistics/token-costs?start=2024-04-19%2016%3A28&end=2024-04-26%2016%3A28`
|
||
|
||
### 平均会话互动数统计
|
||
- **Request**
|
||
- **URL**: `/apps/{uuid:app_id}/statistics/average-session-interactions`
|
||
- **Method**: `GET`
|
||
- **URL Parameters**: `/apps/{uuid:app_id}/statistics/average-session-interactions?start=2024-04-19%2016%3A28&end=2024-04-26%2016%3A28`
|
||
|
||
### 用户满意度统计
|
||
- **Request**
|
||
- **URL**: `/apps/{uuid:app_id}/statistics/user-satisfaction-rate`
|
||
- **Method**: `GET`
|
||
- **URL Parameters**: `/apps/{uuid:app_id}/statistics/user-satisfaction-rate?start=2024-04-19%2016%3A28&end=2024-04-26%2016%3A28`
|
||
|
||
### 平均响应时间统计
|
||
- **Request**
|
||
- **URL**: `/apps/{uuid:app_id}/statistics/average-response-time`
|
||
- **Method**: `GET`
|
||
- **URL Parameters**: `/apps/{uuid:app_id}/statistics/average-response-time?start=2024-04-19%2016%3A28&end=2024-04-26%2016%3A28`
|
||
|
||
### Token 输出速度统计
|
||
- **Request**
|
||
- **URL**: `/apps/{uuid:app_id}/statistics/tokens-per-second`
|
||
- **Method**: `GET`
|
||
- **URL Parameters**: `/apps/{uuid:app_id}/statistics/tokens-per-second?start=2024-04-19%2016%3A28&end=2024-04-26%2016%3A28`
|