Message
更新时间:2024-08-29
本文档描述 Assistants API中与 Message 相关的接口。
1. 创建Message
功能介绍
创建Message附加到指定Thread末尾
请求说明
基本信息
请求地址:https://appbuilder.baidu.com/v2/threads/messages
请求方式:POST
请求参数
Header
请参考 公共类型定义中,公共请求头的定义
Body
参数 | 语义 | 是否必填 | 取值/类型 | 备注 |
---|---|---|---|---|
thread_id | Thread ID | 是 | string | |
role | 角色 | 是 | string | 当前接口,枚举: - user |
content | 消息内容 | 是 | string | 消息内容 |
file_ids | 文件id列表 | 否 | array[string] | 文件id列表,格式为["file-xxx", "file-xxxx"] 整体最多不超过10个文件 |
请求示例
curl -X POST 'https://appbuilder.baidu.com/v2/threads/messages' \
-H "Authorization: Bearer $APPBUILDER_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"thread_id": "thread_aab1710f13f1496d9fe29c03ca4e4d3e",
"role": "user",
"content": "地球是圆的吗?"
}'
响应说明
响应参数
Header
请参考 公共类型定义中,公共响应头的定义
Body
参数 | 类型 | 描述 |
---|---|---|
id | string | Message ID |
object | string | 结构类型,固定为thread.message |
role | string | 当前接口,枚举: - user |
content | array[Content ] |
消息内容列表, 请参考公共类型中Content对象 |
created_at | integer | 创建的时间戳 |
thread_id | string | Message对象所属的Thread的id,值等于入参的thread_id |
assistant_id | string | Message所属的Assistant的id |
run_id | string | Message对象所属的Run的id |
file_ids | array[string] | 文件id列表,格式为["file-xxx", "file-xxxx"] |
响应示例
{
"id": "msg_6476897c882d451692409cd6e528900b",
"object": "thread.message",
"role": "user",
"content": [
{
"type": "text",
"text": {
"value": "地球是圆的吗?"
}
}
],
"created_at": 1708660019145,
"thread_id": "thread_aab1710f13f1496d9fe29c03ca4e4d3e",
"assistant_id": "asst_710a636b66b14ba9848a1af1b184de05",
"run_id": "run_d7775286ea014943a25f972238c01415",
"file_ids":[
"file-510945304731717"
]
}
2. 查询thread下的message列表
功能介绍
查询指定Thread下的Message列表
请求说明
基本信息
请求地址:https://appbuilder.baidu.com/v2/threads/messages/list
请求方式:POST
请求参数
Header
请参考 公共类型定义中,公共请求头的定义
Body
参数 | 语义 | 是否必填 | 取值/类型 | 备注 |
---|---|---|---|---|
thread_id | Thread ID | 是 | string | |
limit | 列举结果数量上限 | 否 | integer | 默认值 - 20 |
order | 排列顺序 | 否 | string | 按照Message对象创建时间进行排序,默认desc,枚举: - desc(默认) - asc |
after | 查询指定message_id之后创建的Message | 否 | string | 返回的列表中包含了指定id的对象 |
before | 查询指定message_id之前创建的Message | 否 | string | 返回的列表中包含了指定id的对象 |
请求示例
curl -X POST 'https://appbuilder.baidu.com/v2/threads/messages/list' \
-H "Authorization: Bearer $APPBUILDER_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"thread_id": "thread_aab1710f13f1496d9fe29c03ca4e4d3e"
}'
响应说明
响应参数
Header
请参考 公共类型定义中,公共响应头的定义
Body
参数 | 类型 | 描述 |
---|---|---|
object | string | 结构类型,返回值固定为list |
data | array[Object ] |
message列表 |
+id | string | message ID |
+object | string | 结构类型,固定为thread.message |
+role | string | 当前消息的角色,可能存在有如下枚举的角色类型: - user - assistant |
+content | array[Content ] |
消息内容列表, 请参考公共类型中Content 对象 |
+created_at | integer | 创建的时间戳 |
+thread_id | string | Message所属的Thread的唯一id |
+assistant_id | string | Message所属的Assistant的唯一id |
+run_id | string | Message所属的Run的唯一id |
+file_ids | array[string] | 文件id列表,格式为["file-xxx", "file-xxxx"] |
first_id | string | 返回的列表中第一条Message的id |
last_id | string | 返回的列表中最后一条Message的id |
has_more | bool | 在当前查询顺序下,除当前已获得的列表数据之外,是否还有更多项目可被继续查询 |
响应示例
{
"object": "list",
"data": [
{
"id": "chatmsg_ac26f50d9bdb46048e624e7be51a118c",
"object": "thread.message",
"role": "assistant",
"content": [
{
"type": "text",
"text": {
"value": "严格来说,地球的形状是一个椭球体,但由于地球的极半径比赤道半径小,而且赤道附近略有扁平,所以从太空看上去呈现类似圆形的形状。为了研究和应用的方便,人们常常把地球看做是一个正球体,即将地球看做是一个圆形。因此,**从视觉上和宏观上讲,地球可以被看作是一个圆形**。但在更科学的描述中,我们会说地球是一个椭球体。"
}
}
],
"metadata": {},
"created_at": 1713425832757,
"thread_id": "thread_e3420861cb644ced840dd070fb8f309b",
"content_type": "text",
"assistant_id": "asst_b71d860a5c3d449692dc5fdaa8d1d791",
"run_id": "run_92d06209290f4fcd913e8fc24e518d53",
"file_ids": []
},
{
"id": "msg_1dc211f670854a30bc68b945c4659d99",
"object": "thread.message",
"role": "user",
"content": [
{
"type": "text",
"text": {
"annotations": [],
"value": "地球是圆的吗?"
}
}
],
"metadata": {},
"created_at": 1713425691247,
"thread_id": "thread_e3420861cb644ced840dd070fb8f309b",
"assistant_id": "",
"run_id": "",
"file_ids": []
}
],
"first_id": "chatmsg_ac26f50d9bdb46048e624e7be51a118c",
"last_id": "msg_1dc211f670854a30bc68b945c4659d99",
"has_more": false
}
3. 查询指定message
功能介绍
根据message_id查询指定Message的信息
请求说明
基本信息
请求地址:https://appbuilder.baidu.com/v2/threads/messages/query
请求方式:POST
请求参数
Header
请参考 公共类型定义中,公共请求头的定义
Body
参数 | 语义 | 是否必填 | 取值/类型 | 备注 |
---|---|---|---|---|
thread_id | 已创建的thread的id | 是 | string | |
message_id | 已创建的message的id | 是 | string |
请求示例
curl -X POST 'https://appbuilder.baidu.com/v2/threads/messages/query' \
-H "Authorization: Bearer $APPBUILDER_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"thread_id": "thread_3be5bbcc10d946759e15278c40ecbe9d",
"message_id":"msg_8baea5dec06746e68ed5bfd66db67c18"
}'
响应说明
响应参数
Header
请参考 公共类型定义中,公共响应头的定义
Body
参数 | 类型 | 描述 |
---|---|---|
id | string | message ID |
object | string | 结构类型,固定为thread.message |
role | string | 当前接口,枚举: - user - assistant |
content | array[Content ] |
消息内容列表, 请参考公共类型中Content对象 |
created_at | integer | 创建的时间戳 |
thread_id | string | Message所属的Thread的唯一id |
assistant_id | string | Message所属的Assistant的唯一id |
run_id | string | Message所属的Run的唯一id |
file_ids | array[string] | 文件id列表,格式为["file-xxx", "file-xxxx"] |
响应示例
{
"id": "msg_8baea5dec06746e68ed5bfd66db67c18",
"object": "thread.message",
"role": "user",
"content": [
{
"type": "text",
"text": {
"annotations": [],
"value": "地球是圆的吗?"
}
}
],
"created_at": 1713427536332,
"thread_id": "thread_3be5bbcc10d946759e15278c40ecbe9d",
"assistant_id": "",
"run_id": "",
"file_ids": []
}
4. 修改message对象
功能介绍
修改Message对象,允许content和file_ids字段
请求说明
基本信息
请求地址:https://appbuilder.baidu.com/v2/threads/messages/update
请求方式:POST
请求参数
Header
请参考 公共类型定义中,公共请求头的定义
Body
参数 | 语义 | 是否必填 | 取值/类型 | 备注 |
---|---|---|---|---|
thread_id | 已创建的thread的id | 是 | string | |
message_id | 已创建的message的id | 是 | string | |
content | 消息内容 | 是 | string | |
file_ids | 文件id列表 | 否 | array[string ] |
整体最多不超过10个文件 |
请求示例
curl -X POST 'https://appbuilder.baidu.com/v2/threads/messages/update' \
-H "Authorization: Bearer $APPBUILDER_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"thread_id": "thread_c9ec4a6a9308416995cf3c549bf79e8a",
"message_id": "msg_dbbb7b1d142a43efa354e4acede6a953",
"content": "地球是圆的吗?",
"file_ids": [
"file-510945304731717"
]
}'
响应说明
响应参数
Header
请参考 公共类型定义中,公共响应头的定义
Body
参数 | 类型 | 描述 |
---|---|---|
id | string | message ID |
object | string | 结构类型,固定为thread.message |
role | string | 当前接口,枚举: - user, 仅允许修改role=user的message |
content | array[Content ] |
消息内容列表, 请参考公共类型中Content对象 |
created_at | integer | 创建的时间戳 |
thread_id | string | Message所属的Thread的唯一id |
assistant_id | string | Message所属的Assistant的唯一id |
run_id | string | Message所属的Run的唯一id |
file_ids | array[string] | 文件id列表,格式为["file-xxx", "file-xxxx"] |
响应示例
{
"id": "msg_8baea5dec06746e68ed5bfd66db67c18",
"object": "thread.message",
"role": "user",
"content": [
{
"type": "text",
"text": {
"annotations": [],
"value": "地球是圆的吗?"
}
}
],
"created_at": 1713427536332,
"thread_id": "thread_3be5bbcc10d946759e15278c40ecbe9d",
"assistant_id": "",
"run_id": "",
"file_ids": []
}
5. 查询message下的文件列表
功能介绍
查询一个Message对象下的文件列表
请求说明
基本信息
请求地址:https://appbuilder.baidu.com/v2/threads/messages/files/list
请求方式:POST
请求参数
Header
请参考 公共类型定义中,公共请求头的定义
Body
参数 | 语义 | 是否必填 | 取值/类型 | 备注 |
---|---|---|---|---|
thread_id | 已创建的Thread的id | 是 | string | |
message_id | 已创建的Message的id | 是 | string | |
limit | 列举结果数量上限 | 否 | integer | 默认值 - 20 |
order | 排列顺序 | 否 | string | 按照File对象创建时间进行排序,默认desc,枚举: - desc(默认) - asc |
after | 查询指定file_id之后创建的file | 否 | string | 返回的列表中包含了指定id的对象 |
before | 查询指定file_id之前创建的file | 否 | string | 返回的列表中包含了指定id的对象 |
请求示例
curl -X POST 'https://appbuilder.baidu.com/v2/threads/messages/files/list' \
-H "Authorization: Bearer $APPBUILDER_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"thread_id":"thread_c9ec4a6a9308416995cf3c549bf79e8a",
"message_id": "msg_dbbb7b1d142a43efa354e4acede6a953",
"limit": 20,
"order":"desc",
"after":"file-510945304731717"
}'
响应说明
响应参数
Header
请参考 公共类型定义中,公共响应头的定义
Body
参数 | 类型 | 描述 |
---|---|---|
object | string | 结构类型,返回值固定为"list" |
data | array[Object ] |
Message挂载的File对象列表 |
+id | string | File ID |
+object | string | 结构类型说明,值固定为 thread.message.file |
+created_at | integer | 创建的时间戳 |
+message_id | string | File挂载的Message对象的ID |
first_id | string | 返回的列表中第一条File对象的id |
last_id | string | 返回的列表中最后一条File对象的id |
has_more | bool | 在当前查询顺序下,除当前已获得的列表数据之外,是否还有更多项目可被继续查询 |
响应示例
{
"object": "list",
"data": [
{
"id": "file-511868605308997",
"object": "thread.message.file",
"created_at": 1708660019145,
"message_id": "msg_dbbb7b1d142a43efa354e4acede6a953"
}
],
"first_id": "file-511868605308997",
"last_id": "file-511868605308997",
"has_more": false
}