对话接口兼容OpenAI模型的接口,详情请参考:OpenAI API
请求
- 示例:
curl
curl --location --request POST 'https://workaibot.com/api/v1/chat/completions' \
--header 'Authorization: Bearer workgpt-xxxxxx' \
--header 'Content-Type: application/json' \
--data-raw '{
"chatId": "asdfadsfasfd2323",
"stream": false,
"detail": false,
"variables": {
"uid": "asdfadsfasfd2323",
"name": "joshua"
},
"messages": [
{
"content": "Who are you?",
"role": "user"
}
]
}'
- 参数说明:
参数名 | 类型 | 必填 | 描述 |
---|---|---|---|
chatId | string | yes | * 为 undefined 时(不传入),不使用上下文功能,完全通过传入的 messages 构建上下文。 不会将你的记录存储到数据库中,你也无法在记录汇总中查阅到。为非空字符串 时,意味着使用 chatId 进行对话,自动从数据库取历史记录,并使用 messages 数组最后一个内容作为用户问题。请自行确保 chatId 唯一,长度小于250,通常可以是自己系统的对话框ID。 |
stream | boolean | no | 是否流式返回,默认为false。为false时,会返回一个json对象,包含messages |
detail | boolean | no | 是否返回详细信息,默认为false。stream模式 下会通过event 进行区分,非stream模式 结果保存在responseData 中 |
variables | object | no | 模块变量,一个对象,会替换模块中,输入框内容里的{{key}} |
messages | array | yes | 消息数组,每个元素是一个对象,包含content 和role 。content 为内容,role 为角色,结构与 OpenAI API chat模式一致。 |
响应
- 示例:
json
{
"id": "asdfadsfasfd2323",
"model": "",
"usage": {
"prompt_tokens": 1,
"completion_tokens": 23,
"total_tokens": 121
},
"choices": [
{
"message": {
"role": "assistant",
"content": "Hello! My name is WorkAiBot, it is an AIGC application system based on a private knowledge base"
},
"finish_reason": "stop",
"index": 0
}
]
}