你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
助手 API(预览版)线程参考
注意
- 文件搜索可为每个助手最多引入 10,000 个文件 - 比之前多 500 倍。 它速度快,支持通过多线程搜索进行并行查询,并具有增强的重新排序和查询重写功能。
- 矢量存储是 API 中的新对象。 文件一旦添加到矢量存储中,就会自动进行分析、分块和嵌入,以便随时搜索。 矢量存储可跨助手和线程使用,简化了文件管理和计费。
- 我们添加了对
tool_choice
参数的支持,该参数可用于在特定运行中强制使用特定工具(如文件搜索、代码解释器或函数)。
本文提供了新助手 API(预览版)的 Python 和 REST 参考文档。 入门指南中提供了更深入的分步指导。
创建线程
POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads?api-version=2024-08-01-preview
创建线程。
请求正文
名称 | 类型 | 必需 | 说明 |
---|---|---|---|
messages |
array | 可选 | 用于启动线程的消息列表。 |
metadata |
map | 可选 | 按 16 个成组的可附加到对象的键值对。 这对以结构化格式存储对象相关的附加信息很有用。 键的最大长度为 64 个字符,值的最大长度为 512 个字符。 |
tool_resources |
object | 可选 | 一组可供此线程中的助手工具使用的资源。 资源特定于工具类型。 例如,code_interpreter 工具需要文件 ID 列表,而 file_search 工具需要矢量存储 ID 列表。 |
tool_resources 属性
code_interpreter
名称 | Type | 描述 | 默认 |
---|---|---|---|
file_ids |
array | 可供 code_interpreter 工具使用的文件 ID 列表。 最多可以有 20 个与该工具关联的文件。 | [] |
file_search
名称 | Type | 描述 | 默认 |
---|---|---|---|
vector_store_ids |
array | 附加到此线程的矢量存储。 线程最多可以附加 1 个矢量存储。 | [] |
vector_stores |
array | 一个帮助程序,用于创建具有 file_ids 的矢量存储,并将其附加到此线程。 线程最多可以附加 1 个矢量存储。 | [] |
返回
一个线程对象。
示例:创建线程请求
from openai import AzureOpenAI
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-08-01-preview",
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
)
empty_thread = client.beta.threads.create()
print(empty_thread)
检索线程
GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}?api-version=2024-08-01-preview
检索线程。
路径参数
参数 | 类型 | 必需 | 说明 |
---|---|---|---|
thread_id |
字符串 | 必须 | 要检索的线程的 ID |
返回
与指定 ID 匹配的线程对象。
示例:检索线程请求
from openai import AzureOpenAI
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-08-01-preview",
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
)
my_thread = client.beta.threads.retrieve("thread_abc123")
print(my_thread)
修改线程
POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}?api-version=2024-08-01-preview
修改线程。
路径参数
参数 | 类型 | 必需 | 说明 |
---|---|---|---|
thread_id |
字符串 | 必须 | 要修改的线程的 ID。 |
请求正文
名称 | 类型 | 必需 | 说明 |
---|---|---|---|
metadata |
map | 可选 | 按 16 个成组的可附加到对象的键值对。 这对以结构化格式存储对象相关的附加信息很有用。 键的最大长度为 64 个字符,值的最大长度为 512 个字符。 |
tool_resources |
object | 可选 | 一组可供此线程中的助手工具使用的资源。 资源特定于工具类型。 例如,code_interpreter 工具需要文件 ID 列表,而 file_search 工具需要矢量存储 ID 列表。 |
返回
与指定 ID 匹配的已修改线程对象。
示例:修改线程请求
from openai import AzureOpenAI
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-08-01-preview",
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
)
my_updated_thread = client.beta.threads.update(
"thread_abc123",
metadata={
"modified": "true",
"user": "abc123"
}
)
print(my_updated_thread)
删除线程
DELETE https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}?api-version=2024-05-01-preview
删除线程。
路径参数
参数 | 类型 | 必需 | 说明 |
---|---|---|---|
thread_id |
字符串 | 必须 | 要删除的线程的 ID。 |
返回
删除状态。
示例:删除线程请求
from openai import AzureOpenAI
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-05-01-preview",
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
)
response = client.beta.threads.delete("thread_abc123")
print(response)
线程对象
字段 | 类型 | 说明 |
---|---|---|
id |
string | 可以在 API 终结点中引用的标识符。 |
object |
string | 对象类型,始终为线程。 |
created_at |
integer | 创建线程时的 Unix 时间戳(以秒为单位)。 |
metadata |
map | 按 16 个成组的可附加到对象的键值对。 这对以结构化格式存储对象相关的附加信息很有用。 键的最大长度为 64 个字符,值的最大长度为 512 个字符。 |