小幫手 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 |
陣列 | 選擇性 | 要用來啟動執行緒的訊息清單。 |
metadata |
map | 選擇性 | 可附加至物件的索引鍵/值組 (16 個為一組)。 這有助於以結構化格式儲存物件的其他相關資訊。 索引鍵的長度上限為 64 個字元,而值的長度上限為 512 個字元。 |
tool_resources |
object | 選擇性 | 可供此執行緒中的助理工具使用的一組資源。 工具的類型專用的資源。 例如,code_interpreter 工具需要檔案識別碼的清單,而 file_search 工具則需要向量存放區識別碼的清單。 |
tool_resources 屬性
code_interpreter
名稱 | 類型 | 描述 | 預設 |
---|---|---|---|
file_ids |
陣列 | 可供 code_interpreter 工具使用的檔案識別碼清單。 最多可以有 20 個檔案與工具相關聯。 | [] |
file_search
名稱 | 類型 | 描述 | 預設 |
---|---|---|---|
vector_store_ids |
陣列 | 附加至此執行緒的向量存放區。 最多可以有 1 個向量存放區附加至執行緒。 | [] |
vector_stores |
陣列 | 一個協助程式,用來建立具有 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 |
string | 必要 | 要擷取之執行緒的識別碼 |
傳回
符合指定識別碼的執行緒物件。
範例: 擷取執行緒要求
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 |
string | 必要 | 要修改之執行緒的識別碼。 |
要求本文
名稱 | 類型 | 必要 | 描述 |
---|---|---|---|
metadata |
map | 選擇性 | 可附加至物件的索引鍵/值組 (16 個為一組)。 這有助於以結構化格式儲存物件的其他相關資訊。 索引鍵的長度上限為 64 個字元,而值的長度上限為 512 個字元。 |
tool_resources |
object | 選擇性 | 可供此執行緒中的助理工具使用的一組資源。 工具的類型專用的資源。 例如,code_interpreter 工具需要檔案識別碼的清單,而 file_search 工具則需要向量存放區識別碼的清單。 |
傳回
符合指定識別碼的修改執行緒物件。
範例: 修改執行緒要求
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 |
string | 必要 | 要刪除之執行緒的識別碼。 |
傳回
刪除狀態。
範例: 刪除執行緒要求
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 |
字串 | 識別碼,可在 API 端點中參考。 |
object |
字串 | 物件類型,一律為「執行緒」。 |
created_at |
整數 | 執行緒建立時的 Unix 時間戳記 (以秒為單位)。 |
metadata |
map | 可附加至物件的索引鍵/值組 (16 個為一組)。 這有助於以結構化格式儲存物件的其他相關資訊。 索引鍵的長度上限為 64 個字元,而值的長度上限為 512 個字元。 |