发送消息
最新更新:2023-11-02
发送消息
向指定的对话 ID 发送消息,并获取 Bot 响应信息。支持提交文本和/或图片作为消息内容 。
请求方式
POST
调用地址
https://api.gptbots.ai/v1/conversation/message
调用验证
详情参见 API 概述的鉴权方式说明。
请求
请求示例
curl -X POST https://api.gptbots.ai/v1/conversation/message \
-H 'Authorization: Bearer your_apikey' \
-H 'Content-Type: application/json' \
-d '{
"text": "HI!",
"conversation_id": "xxxxxx",
"response_mode": "streaming",
"short_term_memory": true,
"long_term_memory": false,
"files":[
{
"url": "https://res.srcgptbots.com/ailab/botchat/file/38f13465ad5246190b759b3289ecba51.jpg",
"name": "something.jpg",
"width": 200,
"height": 200
},
{
"base64_content": "Your_file_base64_content",
"name": "something.pdf"
}
],
"knowledge": {
"data_ids": [
"1111111111",
"2222222222"
]
}
}'
curl -X POST https://api.gptbots.ai/v1/conversation/message \
-H 'Authorization: Bearer your_apikey' \
-H 'Content-Type: application/json' \
-d '{
"text": "HI!",
"conversation_id": "xxxxxx",
"response_mode": "streaming",
"short_term_memory": true,
"long_term_memory": false,
"files":[
{
"url": "https://res.srcgptbots.com/ailab/botchat/file/38f13465ad5246190b759b3289ecba51.jpg",
"name": "something.jpg",
"width": 200,
"height": 200
},
{
"base64_content": "Your_file_base64_content",
"name": "something.pdf"
}
],
"knowledge": {
"data_ids": [
"1111111111",
"2222222222"
]
}
}'
此代码块在浮窗中显示
请求头
字段 | 类型 | 描述 |
---|---|---|
Authorization | Bearer ${token} | 使用 Authorization: Bearer ${token}进行调用验证,请在 API 密钥页面获取密钥作为 token。 |
Content-Type | application/json | 数据类型,取值为 application/json。 |
请求体
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
text | string | 是 | text 与 files 必须至少输入其一,text 用于向 Bot 提交文本类型信息。 所提交的文本内容不能超过 Bot 配置的 tokens 长度限制。 |
files | JSON Array | 否 | text 与 files 必须至少输入其一,files 用于向 Bot 提交图片、音频和文档类型数据 。Bot 支持「系统文件识别」和「LLM 文件识别」2 种文件识别方案,不同的识别方案所支持的文件类型也各不相同。支持提交文件的网络路径,最多上传9个文件。文档≤20MB 、图片≤10MB、音频≤5MB LLM 文件识别 |
conversation_id | string | 是 | 对话标识符,传入需要继续对话的 conversation_id。 |
response_mode | string | 是 | |
short_term_memory | boolean | 否 | 本次发送消息,是否携带对话内的短记忆作为上下文。若不填写,则遵循 Bot 的记忆设置。 |
long_term_memory | boolean | 否 | 本次发送消息,是否携带对话内的长记忆作为上下文。若不填写,则遵循 Bot 的记忆设置。 |
knowledge | object | 否 | 本次消息发送,在知识库检索中,仅检索该入参内定义的知识数据作为检索范围。 |
- data_ids | array | 否 | 知识库检索的知识 ID。若不提交该参数,视为不限制检索范围,即查询整个 Bot 的所有知识文档。若提交该参数,且空数组,如[] ,则视为不检索任何知识文档。若数组内有data_ids ,则基于这些data_ids 执行检索。 |
响应
响应示例
{
"message_id": "65a4ccfC7ce58e728d5897e0",
"message_type": "ANSWER",
"text": "Hi, is there anything I can help you?",
"flow_output": [
{
"content": "你好",
"branch": "1",
"from_component_name": "User Input"
}
],
"create_time": 1679587005,
"conversation_id": "657303a8a764d47094874bbe"
}
{
"message_id": "65a4ccfC7ce58e728d5897e0",
"message_type": "ANSWER",
"text": "Hi, is there anything I can help you?",
"flow_output": [
{
"content": "你好",
"branch": "1",
"from_component_name": "User Input"
}
],
"create_time": 1679587005,
"conversation_id": "657303a8a764d47094874bbe"
}
此代码块在浮窗中显示
成功响应(阻塞)
字段 | 类型 | 描述 |
---|---|---|
message_id | string | 消息的唯一标识。 |
message_type | string | 消息类型,取值:ANSWER、QUESTION。 |
text | string | 回复内容。 |
flow_output | JSON Array | flow bot 回复内容。 |
content | string | flow bot 组件回复内容。 |
branch | string | flow bot 分支。 |
from_component_name | string | flow bot 上游组件名称。 |
create_time | long | 回复的这条消息产生的时间戳。 |
conversation_id | string | 对话标识符。 |
成功响应(流式)
字段 | 类型 | 描述 |
---|---|---|
code | int | 消息的类型编码,3-文本类型、10-flowbot 输出、0-结束标识。 |
message | string | 消息类型,取值:Text、FlowOutput、End。 |
data | object | 回复内容。 |
流式数据分多次返回:
{"code":3,"message":"Text","data":"我"}
{"code":3,"message":"Text","data":"可以"}
{"code":3,"message":"Text","data":"帮"}
{"code":3,"message":"Text","data":"助"}
{"code":3,"message":"Text","data":"你"}
{"code":3,"message":"Text","data":"的"}
{"code":3,"message":"Text","data":"吗"}
{"code":3,"message":"Text","data":"?"}
{"code":10,"message":"FlowOutput","data":[{"content":"你好","branch":null,"from_component_name": "User Input"}]}
{"code":0,"message":"End","data":null}
{"code":3,"message":"Text","data":"我"}
{"code":3,"message":"Text","data":"可以"}
{"code":3,"message":"Text","data":"帮"}
{"code":3,"message":"Text","data":"助"}
{"code":3,"message":"Text","data":"你"}
{"code":3,"message":"Text","data":"的"}
{"code":3,"message":"Text","data":"吗"}
{"code":3,"message":"Text","data":"?"}
{"code":10,"message":"FlowOutput","data":[{"content":"你好","branch":null,"from_component_name": "User Input"}]}
{"code":0,"message":"End","data":null}
此代码块在浮窗中显示
失败响应
字段 | 类型 | 描述 |
---|---|---|
code | int | 错误码。 |
message | string | 错误详情。 |
错误码
Code | Message |
---|---|
40000 | 参数错误 |
40127 | 开发者鉴权失败 |
40356 | 会话不存在 |
50000 | 系统内部错误 |
40364 | 该 Bot 未使用支持图片模态的 LLM |
20059 | Bot 已删除 |
20040 | 超过问题长度限制 |
40358 | conversation_id 无法匹配 Bot 或用户 |
20022 | 积分不足 |