小幫手 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 個字元。