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 メッセージを生成したエンティティ。 userassistant のいずれか。
content 配列 テキストや画像の配列内のメッセージの内容。
assistant_id 文字列または null 値 該当する場合は、このメッセージを作成したアシスタントの ID。
run_id 文字列または null 値 該当する場合は、このメッセージの作成に関連付けられた実行の ID。
file_ids 配列 アシスタントが使う必要のあるファイル ID のリスト。 ファイルにアクセスできる retrieval や code_interpreter などのツールに便利です。 メッセージには最大 10 個のファイルを添付できます。
metadata map オブジェクトにアタッチできる 16 個のキーと値のペアのセット。 これは、オブジェクトに関する追加情報を構造化された形式で格納する場合に役立ちます。 キーの最大長は 64 文字、値の最大長は 512 文字です。