资讯 文档
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术

Message

本文档描述 Assistants API中与 Message 相关的接口。

1. 创建Message

功能介绍

创建Message附加到指定Thread末尾

请求说明

基本信息

请求地址:https://appbuilder.baidu.com/v2/threads/messages

请求方式:POST

请求参数

请参考 公共类型定义中,公共请求头的定义

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
}