Assistants API (プレビュー) メッセージ リファレンス
Note
- ファイル検索では、アシスタントあたり最大 10,000 個のファイルを取り込むことができます。これは以前の 500 倍以上の量です。 これは高速で、マルチスレッド検索を通して並列クエリをサポートしており、強化された再ランク付けとクエリの書き換えを特徴としています。
- ベクトル ストアは、API 内の新しいオブジェクトです。 ファイルがベクトル ストアに追加されると、自動的にそのファイルの解析、チャンク、埋め込みが行われ、検索の準備が整います。 ベクトル ストアは、複数のアシスタントとスレッドにわたって使用できるため、ファイル管理と課金が単純化されます。
- 特定の実行において特定のツール (ファイル検索、コード インタープリター、関数など) の使用を強制するために使用できる
tool_choice
パラメーターのサポートが追加されました。
この記事では、新しい Assistants API (プレビュー) に関する Python と REST のリファレンス ドキュメントを提供します。 さらに詳しい手順については、概要ガイドに関する記事をご覧ください。
メッセージの作成
POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages?api-version=2024-08-01-preview
メッセージを作成します。
パス パラメーター
パラメーター | タイプ | Required | Description |
---|---|---|---|
thread_id |
string | 必須 | メッセージを作成するスレッドの ID。 |
要求本文
名前 | タイプ | Required | Description |
---|---|---|---|
role |
string | 必須 | メッセージを作成しているエンティティのロール。 user または assistant を指定できます。 user は、実際のユーザーが送信したメッセージであることを示しており、通常はユーザーが作成したメッセージを表すために使用する必要があります。 assistant は、アシスタントによってメッセージが生成されたことを示します。 この値を使用して、アシスタントからのメッセージを会話に挿入します。 |
content |
string | 必須 | メッセージのコンテンツ。 |
attachments |
配列 | 省略可能 | メッセージに添付されているファイルと、追加先にする必要があるツールの一覧。 |
metadata |
map | 省略可能 | オブジェクトにアタッチできる 16 個のキーと値のペアのセット。 これは、オブジェクトに関する追加情報を構造化された形式で格納する場合に役立ちます。 キーの最大長は 64 文字、値の最大長は 512 文字です。 |
返品
メッセージ オブジェクト。
メッセージ作成要求の例
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")
)
thread_message = client.beta.threads.messages.create(
"thread_abc123",
role="user",
content="How does AI work? Explain it in simple terms.",
)
print(thread_message)
メッセージを一覧表示
GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages?api-version=2024-08-01-preview
指定されたスレッドのメッセージのリストを返します。
パス パラメーター
パラメーター | タイプ | Required | Description |
---|---|---|---|
thread_id |
string | 必須 | メッセージが属するスレッドの ID。 |
クエリ パラメーター
名前 | タイプ | Required | 説明 |
---|---|---|---|
limit |
integer | 省略可能 - 既定値は 20 | 返されるオブジェクトの数の制限。 制限の範囲は 1 から 100 で、既定値は 20 です。 |
order |
string | 省略可能 - 既定値は desc | オブジェクトの created_at タイムスタンプによる並べ替え順序。 昇順の場合は asc、降順の場合は desc。 |
after |
string | 省略可能 | 改ページで使うカーソル。 after は、リスト内での場所を定義するオブジェクト ID です。 たとえば、リスト取得要求を行い、obj_foo で終わる 100 個のオブジェクトを受け取った場合、後続の呼び出しに after=obj_foo を含めて、リストの次のページをフェッチできます。 |
run_id |
string | Optionanl | メッセージを生成した実行 ID でメッセージをフィルター処理します。 |
before |
string | 省略可能 | 改ページで使うカーソル。 before は、リスト内での場所を定義するオブジェクト ID です。 たとえば、リスト取得要求を行い、obj_foo で終わる 100 個のオブジェクトを受け取った場合、後続の呼び出しに before=obj_foo を含めて、リストの前のページをフェッチできます。 |
返品
メッセージ オブジェクトのリスト。
メッセージ リスト取得要求の例
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")
)
thread_messages = client.beta.threads.messages.list("thread_abc123")
print(thread_messages.data)
メッセージを取得する
GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages/{message_id}?api-version=2024-08-01-preview
メッセージ ファイルを取得します。
パス パラメーター
パラメーター | タイプ | Required | Description |
---|---|---|---|
thread_id |
string | 必須 | メッセージが属しているスレッドの ID。 |
message_id |
string | 必須 | 取得するメッセージの 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")
)
message = client.beta.threads.messages.retrieve(
message_id="msg_abc123",
thread_id="thread_abc123",
)
print(message)
メッセージを変更する
POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages/{message_id}?api-version=2024-08-01-preview
メッセージを変更します。
パス パラメーター
パラメーター | タイプ | Required | Description |
---|---|---|---|
thread_id |
string | 必須 | メッセージが属しているスレッドの ID。 |
message_id |
string | 必須 | 変更するメッセージの ID。 |
要求本文
パラメーター | タイプ | Required | 説明 |
---|---|---|---|
metadata |
map | 省略可能 | オブジェクトにアタッチできる 16 個のキーと値のペアのセット。 これは、オブジェクトに関する追加情報を構造化された形式で格納する場合に役立ちます。 キーの最大長は 64 文字、値の最大長は 512 文字です。 |
返品
変更されたメッセージ オブジェクト。
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")
)
message = client.beta.threads.messages.update(
message_id="msg_abc12",
thread_id="thread_abc123",
metadata={
"modified": "true",
"user": "abc123",
},
)
print(message)
メッセージを削除する
DELETE https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages/{message_id}?api-version=2024-08-01-preview
メッセージを削除します。
パス パラメーター
パラメーター | タイプ | Required | Description |
---|---|---|---|
thread_id |
string | 必須 | メッセージが属しているスレッドの ID。 |
message_id |
string | 必須 | 変更するメッセージの 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")
)
deleted_message = client.beta.threads.messages.delete(
message_id="msg_abc12",
thread_id="thread_abc123",
)
print(deleted_message)
Message オブジェクト
スレッド内のメッセージを表します。
名前 | 種類 | 説明 |
---|---|---|
id |
string | API エンドポイントで参照できる識別子。 |
object |
string | オブジェクトの種類。これは常に thread.message です。 |
created_at |
integer | メッセージが作成されたときの Unix タイムスタンプ (秒単位)。 |
thread_id |
string | このメッセージが属しているスレッド ID。 |
role |
string | メッセージを生成したエンティティ。 user 、assistant のいずれか。 |
content |
配列 | テキストや画像の配列内のメッセージの内容。 |
assistant_id |
文字列または null 値 | 該当する場合は、このメッセージを作成したアシスタントの ID。 |
run_id |
文字列または null 値 | 該当する場合は、このメッセージの作成に関連付けられた実行の ID。 |
file_ids |
配列 | アシスタントが使う必要のあるファイル ID のリスト。 ファイルにアクセスできる retrieval や code_interpreter などのツールに便利です。 メッセージには最大 10 個のファイルを添付できます。 |
metadata |
map | オブジェクトにアタッチできる 16 個のキーと値のペアのセット。 これは、オブジェクトに関する追加情報を構造化された形式で格納する場合に役立ちます。 キーの最大長は 64 文字、値の最大長は 512 文字です。 |