线程

创建助手可以与之交互的线程。

相关指南:助手概述

注意:"Beta"是一个标签,用于表示该功能处于测试阶段。

创建线程

创建一个线程。

请求体:

  • messages (可选):一个消息列表,用于启动线程。
  • tool_resources (可选):一个对象或空值,表示在该线程中助手工具可以使用的资源。资源的类型取决于工具的类型。例如,code_interpreter工具需要一个文件ID列表,而file_search工具需要一个向量存储ID列表。
  • metadata (可选):最多16个键值对,可以附加到对象上。这对于以结构化格式存储有关对象的附加信息非常有用。键最多可以是64个字符长,值最多可以是512个字符长。

返回值:

一个线程对象。

示例请求:

使用curl发送一个空的创建线程请求:

curl https://api.openai.com/v1/threads \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "OpenAI-Beta: assistants=v2" \
  -d ''

示例响应:

{
  "id": "thread_abc123",
  "object": "thread",
  "created_at": 1699012949,
  "metadata": {},
  "tool_resources": {}
}

注意:

  • "Beta"是一个标签,表示该功能处于测试阶段。
  • 在请求头中,$OPENAI_API_KEY是一个占位符,需要替换为您的OpenAI API密钥。
  • 在请求头中,OpenAI-Beta: assistants=v2表示您正在使用Assistants API的第2版。

检索线程

检索一个线程。

路径参数

  • thread_id (必需):要检索的线程的ID。

返回值

匹配指定ID的线程对象。

示例请求

使用curl检索一个线程:

curl https://api.openai.com/v1/threads/thread_abc123 \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "OpenAI-Beta: assistants=v2"

示例响应

{
  "id": "thread_abc123",
  "object": "thread",
  "created_at": 1699014083,
  "metadata": {},
  "tool_resources": {
    "code_interpreter": {
      "file_ids": []
    }
  }
}

注意:

  • "Beta"是一个标签,表示该功能处于测试阶段。
  • 在请求头中,$OPENAI_API_KEY是一个占位符,需要替换为您的OpenAI API密钥。
  • 在请求头中,OpenAI-Beta: assistants=v2表示您正在使用Assistants API的第2版。

修改线程

修改一个线程。

路径参数:

  • thread_id (必需):要修改的线程的ID。只能修改metadata

请求体:

  • tool_resources (可选):一个对象或空值,表示在该线程中助手工具可以使用的资源。资源的类型取决于工具的类型。例如,code_interpreter工具需要一个文件ID列表,而file_search工具需要一个向量存储ID列表。
  • metadata (可选):最多16个键值对,可以附加到对象上。这对于以结构化格式存储有关对象的附加信息非常有用。键最多可以是64个字符长,值最多可以是512个字符长。

返回值:

匹配指定ID的修改后的线程对象。

示例请求:

使用curl修改一个线程的元数据:

curl https://api.openai.com/v1/threads/thread_abc123 \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "OpenAI-Beta: assistants=v2" \
  -d '{
      "metadata": {
        "modified": "true",
        "user": "abc123"
      }
    }'

示例响应:

{
  "id": "thread_abc123",
  "object": "thread",
  "created_at": 1699014083,
  "metadata": {
    "modified": "true",
    "user": "abc123"
  },
  "tool_resources": {}
}

注意:

  • "Beta"是一个标签,表示该功能处于测试阶段。
  • 在请求头中,$OPENAI_API_KEY是一个占位符,需要替换为您的OpenAI API密钥。
  • 在请求头中,OpenAI-Beta: assistants=v2表示您正在使用Assistants API的第2版。
  • 只能修改线程的metadata字段,其他字段是不可修改的。

删除线程

删除一个线程。

delete https://api.openai.com/v1/threads/{thread_id}

路径参数

名称类型必填描述
thread_idstring要删除的线程的 ID。

返回值

删除状态。

示例请求

使用 curl 发送请求:

curl https://api.openai.com/v1/threads/thread_abc123 \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "OpenAI-Beta: assistants=v2" \
  -X DELETE

响应

成功删除线程后,将返回如下 JSON 对象:

{
  "id": "thread_abc123",
  "object": "thread.deleted",
  "deleted": true
}

线程对象

表示包含消息的线程。

id

  • 类型: 字符串
  • 描述: 可以在 API 端点中引用的标识符。

object

  • 类型: 字符串
  • 描述: 对象类型,总是为 thread

created_at

  • 类型: 整数
  • 描述: 线程创建时的 Unix 时间戳(秒)。

tool_resources

  • 类型: 对象或空
  • 描述: 在此线程中提供给助手工具的资源集。资源根据工具的类型具体化。例如,code_interpreter 工具需要一个文件 ID 列表,而 file_search 工具需要一个向量存储 ID 列表。

metadata

  • 类型: 映射
  • 描述: 可以附加到对象的 16 对键值对集合。这对于以结构化格式存储有关对象的附加信息非常有用。键的最大长度为 64 个字符,值的最大长度为 512 个字符。
{
  "id": "thread_abc123",
  "object": "thread",
  "created_at": 1698107661,
  "metadata": {}
}

Was this page helpful?