Assistants API (プレビュー) スレッド リファレンス
Note
- ファイル検索では、アシスタントあたり最大 10,000 個のファイルを取り込むことができます。これは以前の 500 倍以上の量です。 これは高速で、マルチスレッド検索を通して並列クエリをサポートしており、強化された再ランク付けとクエリの書き換えを特徴としています。
- ベクトル ストアは、API 内の新しいオブジェクトです。 ファイルがベクトル ストアに追加されると、自動的にそのファイルの解析、チャンク、埋め込みが行われ、検索の準備が整います。 ベクトル ストアは、複数のアシスタントとスレッドにわたって使用できるため、ファイル管理と課金が単純化されます。
- 特定の実行において特定のツール (ファイル検索、コード インタープリター、関数など) の使用を強制するために使用できる
tool_choice
パラメーターのサポートが追加されました。
この記事では、新しい Assistants API (プレビュー) に関する Python と REST のリファレンス ドキュメントを提供します。 さらに詳しい手順については、概要ガイドに関する記事をご覧ください。
スレッドを作成する
POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads?api-version=2024-08-01-preview
スレッドを作成します。
要求本文
名前 | タイプ | Required | 説明 |
---|---|---|---|
messages |
array | 省略可能 | スレッドを開始するメッセージの一覧。 |
metadata |
map | 省略可能 | オブジェクトにアタッチできる 16 個のキーと値のペアのセット。 これは、オブジェクトに関する追加情報を構造化された形式で格納する場合に役立ちます。 キーの最大長は 64 文字、値の最大長は 512 文字です。 |
tool_resources |
object | 省略可能 | このスレッドでアシスタントのツールが使用できるリソースのセット。 リソースは、ツールの種類に固有です。 たとえば、code_interpreter ツールにはファイル ID の一覧が必要ですが、file_search ツールにはベクター ストア ID の一覧が必要です。 |
tool_resources プロパティ
code_interpreter
名前 | 種類 | 説明 | Default |
---|---|---|---|
file_ids |
配列 | code_interpreter ツールで使用できるファイル ID の一覧。 このツールには最大 20 個のファイルを関連付けることができます。 | [] |
file_search
名前 | 種類 | 説明 | Default |
---|---|---|---|
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
スレッドを取得します。
パス パラメーター
パラメーター | タイプ | Required | Description |
---|---|---|---|
thread_id |
string | 必須 | 取得するスレッドの 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
スレッドを変更します。
パス パラメーター
パラメーター | タイプ | Required | Description |
---|---|---|---|
thread_id |
string | 必須 | 変更するスレッドの ID。 |
要求本文
名前 | タイプ | Required | 説明 |
---|---|---|---|
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
スレッドを削除します。
パス パラメーター
パラメーター | タイプ | Required | Description |
---|---|---|---|
thread_id |
string | 必須 | 削除するスレッドの 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 | オブジェクトの種類。これは常に thread です。 |
created_at |
integer | スレッドが作成されたときの Unix タイムスタンプ (秒単位)。 |
metadata |
map | オブジェクトにアタッチできる 16 個のキーと値のペアのセット。 これは、オブジェクトに関する追加情報を構造化された形式で格納する場合に役立ちます。 キーの最大長は 64 文字、値の最大長は 512 文字です。 |