548 lines
14 KiB
Markdown
548 lines
14 KiB
Markdown
---
|
||
outline: [2, 3]
|
||
---
|
||
|
||
# AI
|
||
|
||
## API Prefix
|
||
|
||
`agent.{username}.olares.com/api/controllers/console/api`
|
||
|
||
## Basic Application Management API
|
||
### Get App List
|
||
- **Request**
|
||
- **URL**: `/apps`
|
||
- **Method**: `GET`
|
||
- **URL Parameters**: `/apps?page=1&limit=30&name=Ashia`
|
||
:::tip
|
||
Most of the APIs listed in this document require the `app_id`, which can be obtained from the response of this API.
|
||
:::
|
||
|
||
### Create App
|
||
- **Request**
|
||
- **URL**: `/apps`
|
||
- **Method**: `POST`
|
||
- **Body Example**:
|
||
```json
|
||
{
|
||
"name": "TEST",
|
||
"icon": "🤖",
|
||
"icon_background": "#FFEAD5",
|
||
"mode": "agent-chat",
|
||
"description": "JUST A TEST"
|
||
}
|
||
```
|
||
|
||
### Get App Details
|
||
- **Request**
|
||
- **URL**: `/apps/{uuid:app_id}`
|
||
- **Method**: `GET`
|
||
- **Body Example**: `null`
|
||
|
||
### Delete App
|
||
- **Request**
|
||
- **URL**: `/apps/{uuid:app_id}`
|
||
- **Method**: `DELETE`
|
||
- **Body Example**: `null`
|
||
|
||
### Copy App
|
||
- **Request**
|
||
- **URL**: `/apps/{uuid:app_id}/copy`
|
||
- **Method**: `POST`
|
||
- **Body Example**:
|
||
```json
|
||
{
|
||
"name": "Ashia-2",
|
||
"icon": "🤖",
|
||
"icon_background": "#FFEAD5",
|
||
"mode": "agent-chat"
|
||
}
|
||
```
|
||
|
||
### Rename App
|
||
- **Request**
|
||
- **URL**: `/apps/{uuid:app_id}/name`
|
||
- **Method**: `POST`
|
||
- **Body Example**:
|
||
```json
|
||
{
|
||
"name": "Ashia—34"
|
||
}
|
||
```
|
||
|
||
### Change App Icon
|
||
- **Request**
|
||
- **URL**: `/apps/{uuid:app_id}/icon`
|
||
- **Method**: `POST`
|
||
- **Body Example**:
|
||
```json
|
||
{
|
||
"icon": "heavy_check_mark"
|
||
}
|
||
```
|
||
|
||
### App Web Access Control
|
||
> Whether the app can be accessed from the site.
|
||
- **Request**
|
||
- **URL**: `/apps/{uuid:app_id}/site-enable`
|
||
- **Method**: `POST`
|
||
- **Body Example**:
|
||
```json
|
||
{
|
||
"enable_site": true
|
||
}
|
||
```
|
||
|
||
### App API Access Control
|
||
> Whether the app can be accessed via API.
|
||
- **Request**
|
||
- **URL**: `/apps/{uuid:app_id}/api-enable`
|
||
- **Method**: `POST`
|
||
- **Body Example**:
|
||
```json
|
||
{
|
||
"enable_api": true
|
||
}
|
||
```
|
||
|
||
## Application Function API
|
||
### Text Generation
|
||
> Execution interface for text generation APP
|
||
- **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"
|
||
}
|
||
```
|
||
:::
|
||
|
||
### Stop Text Generation
|
||
> Interruption interface for text generation APP
|
||
- **Request**
|
||
- **URL**: `/apps/{uuid:app_id}/completion-messages/{string:task_id}/stop`
|
||
- **Method**: `POST`
|
||
- **Body Example**: `null`
|
||
:::tip
|
||
The `task_id` required in this API can be obtained from the response (streaming) of the [Text Generation](#text-generation) API.
|
||
:::
|
||
|
||
### Chat
|
||
> Execution interface for chat APP
|
||
- **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": []
|
||
}
|
||
}
|
||
}
|
||
}
|
||
```
|
||
:::
|
||
|
||
|
||
### Stop Chat
|
||
> Interruption interface for chat APP
|
||
- **Request**
|
||
- **URL**: `/apps/{uuid:app_id}/chat-messages/{string:task_id}/stop`
|
||
- **Method**: `POST`
|
||
- **Body Example**: `null`
|
||
:::tip
|
||
The `task_id` required in this API can be obtained from the response (streaming) of the [Chat](#chat) API.
|
||
:::
|
||
|
||
### Get Conversations List (Text Generation)
|
||
- **Request**
|
||
- **URL**: `/apps/{uuid:app_id}/completion-conversations`
|
||
- **Method**: `GET`
|
||
- **URL Parameters**: `/apps/{uuid:app_id}/completion-conversations?page=1&limit=30`
|
||
:::tip
|
||
the Conversations (Text Generation) APIs listed below require the `conversation_id`, which can be obtained from the response of this API.
|
||
:::
|
||
|
||
### Get Conversations Details (Text Generation)
|
||
- **Request**
|
||
- **URL**: `/apps/{uuid:app_id}/completion-conversations/{uuid:conversation_id}`
|
||
- **Method**: `GET`
|
||
- **Body Example**: `null`
|
||
:::tip
|
||
The Conversations (Text Generation) APIs listed below require the `message_id`, which can be obtained from the response of this API.
|
||
:::
|
||
|
||
### Delete Conversations Details (Text Generation)
|
||
- **Request**
|
||
- **URL**: `/apps/{uuid:app_id}/completion-conversations/{uuid:conversation_id}`
|
||
- **Method**: `DELETE`
|
||
- **Body Example**: `null`
|
||
|
||
### Get Conversations List (Chat)
|
||
- **Request**
|
||
- **URL**: `/apps/{uuid:app_id}/chat-conversations`
|
||
- **Method**: `GET`
|
||
- **URL Parameters**: `/apps/{uuid:app_id}/chat-conversations?page=1&limit=30`
|
||
:::tip
|
||
the Conversations (Chat) APIs listed below require the `conversation_id`, which can be obtained from the response of this API.
|
||
:::
|
||
|
||
### Get Conversations Details (Chat)
|
||
- **Request**
|
||
- **URL**: `/apps/{uuid:app_id}/chat-conversations/{uuid:conversation_id}`
|
||
- **Method**: `GET`
|
||
- **Body Example**: `null`
|
||
:::tip
|
||
The Conversations (Chat) APIs listed below require the `message_id`, which can be obtained from the response of this API.
|
||
:::
|
||
|
||
### Delete Conversations Details (Chat)
|
||
- **Request**
|
||
- **URL**: `/apps/{uuid:app_id}/chat-conversations/{uuid:conversation_id}`
|
||
- **Method**: `DELETE`
|
||
- **Body Example**: `null`
|
||
|
||
### Get Suggested Questions (Chat)
|
||
> In a chat APP, get the suggested questions that can be asked after the AI gives a response
|
||
- **Request**
|
||
- **URL**: `/apps/{uuid:app_id}/chat-messages/{uuid:message_id}/suggested-questions`
|
||
- **Method**: `GET`
|
||
- **Body Example**: `null`
|
||
|
||
### Get Message List (Chat)
|
||
- **Request**
|
||
- **URL**: `/apps/{uuid:app_id}/chat-messages`
|
||
- **Method**: `GET`
|
||
- **URL Parameters**: `/apps/{uuid:app_id}/chat-messages?conversation_id={conversation_id}`
|
||
|
||
### Message Feedback
|
||
> Give like or dislike feedback to the message from the APP
|
||
- **Request**
|
||
- **URL**: `/apps/{uuid:app_id}/feedbacks`
|
||
- **Method**: `POST`
|
||
- **Body Example**:
|
||
```json
|
||
{
|
||
"rating": "like" // "like" | "dislike" | null
|
||
}
|
||
```
|
||
|
||
### Message Annotation
|
||
> Give annotation to the message from the APP (Text Generation)
|
||
- **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"
|
||
}
|
||
```
|
||
|
||
### Count Annotation
|
||
> Get the current number of annotations of the APP's message
|
||
- **Request**
|
||
- **URL**: `/apps/{uuid:app_id}/annotations/count`
|
||
- **Method**: `GET`
|
||
- **Body Example**: `null`
|
||
|
||
|
||
### Get Message Details (Chat)
|
||
- **Request**
|
||
- **URL**: `/apps/{uuid:app_id}/messages/{uuid:message_id}`
|
||
- **Method**: `GET`
|
||
- **Body Example**: `null`
|
||
|
||
## Advanced Application Management API
|
||
|
||
### Model Config
|
||
- **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"
|
||
]
|
||
}
|
||
}
|
||
}
|
||
```
|
||
:::
|
||
|
||
### Change APP Basic Info
|
||
- **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~"
|
||
}
|
||
```
|
||
### Access Token Reset
|
||
> Regenerate the public access URL for the APP
|
||
- **Request**
|
||
- **URL**: `/apps/{uuid:app_id}/site/access-token-reset`
|
||
- **Method**: `POST`
|
||
- **Body Example**: `null`
|
||
|
||
## Application Statistics API
|
||
### All Conversations
|
||
- **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`
|
||
|
||
### Active Users
|
||
- **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`
|
||
|
||
### Token Costs
|
||
- **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`
|
||
|
||
### Average Session Interactions
|
||
- **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`
|
||
|
||
### User Satisfaction
|
||
- **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`
|
||
|
||
### Average Response Time
|
||
- **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 Output Speed
|
||
- **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`
|