リファレンス: チャット入力候補 | Azure AI Studio

重要

この記事で "(プレビュー)" と付記されている項目は、現在、パブリック プレビュー段階です。 このプレビューはサービス レベル アグリーメントなしで提供されており、運用環境ではお勧めしません。 特定の機能はサポート対象ではなく、機能が制限されることがあります。 詳しくは、Microsoft Azure プレビューの追加使用条件に関するページをご覧ください。

指定されたチャット会話のモデル応答を作成します。

POST /chat/completions?api-version=2024-04-01-preview

URI パラメーター

名前 / 必須 タイプ 説明
api-version query string "YYYY-MM-DD" または "YYYY-MM-DD-preview" 形式の API のバージョン。

要求ヘッダー

名前 Required タイプ 説明
extra-parameters string ペイロードに追加のパラメーターが指定されている場合の API の動作。 pass-through を使用すると、この API は、基になるモデルにパラメーターを渡すことができます。 この値は、基になるモデルがサポートできるとわかっているパラメーターを渡す場合に使用します。 ignore を使用すると、この API は、サポートされていないパラメーターを削除します。 この値は、異なるモデル間で同じペイロードを使用する必要があり、モデルでサポートされていない場合にエラーになる可能性がある追加のパラメーターの 1 つを使用する場合に使用します。 error を使用すると、この API はペイロード内の追加のパラメーターを拒否します。 この API で指定されたパラメーターのみを指定できます。それ以外の場合は 400 エラーが返されます。
azureml-model-deployment string 要求のルーティング先のデプロイの名前。 複数のデプロイをサポートするエンドポイントでサポートされます。

要求本文

名前 Required タイプ 説明
モデル string モデル名。 エンドポイントが 1 つのモデルのみを処理する場合、このパラメーターは無視されます。
messages True ChatCompletionRequestMessage これまでの会話を構成するメッセージの一覧。 モデルが少なくとも一部のメッセージを理解できない場合は、422 エラーを返します。
frequency_penalty 数値 既に使われている単語が選ばれる可能性を減らすことで、単語の繰り返しを防ぐのに役立ちます。 頻度ペナルティが高くなるほど、モデルがその出力内で同じ単語を繰り返す可能性が低くなります。 値またはパラメーターがモデルでサポートされていない場合は、422 エラーを返します。
max_tokens integer チャット入力候補で生成できるトークンの最大数。

入力トークンと生成されたトークンの合計の長さは、モデルのコンテキスト長によって制限されます。 null 値を渡すと、モデルはその最大コンテキスト長を使います。
presence_penalty 数値 単語が入力候補に既に存在する場合、たとえ 1 回でもペナルティを与えることで、同じトピックが繰り返されるのを防ぐのに役立ちます。 値またはパラメーターがモデルでサポートされていない場合は、422 エラーを返します。
応答形式 ChatCompletionResponseFormat
シード integer 指定されている場合、このシステムは、同じ seed とパラメーターを使用して繰り返された要求に対して同じ結果を返せるように、決定論的にサンプリングを行うように最善を尽くします。 決定性は保証されないため、バックエンドでの変更を監視するには、system_fingerprint 応答パラメーターを参照する必要があります。
stop API がそれ以上のトークンの生成を停止するシーケンス。
stream boolean 設定すると、部分的なメッセージ差分が送信されます。 トークンは、使用可能になるとデータのみのサーバー送信イベントとして送信され、ストリームは data: [DONE] メッセージによって終了します。
温度 数値 負ではない数値。 値がモデルでサポートされていない場合は 422 を返します。
tool_choice ChatCompletionToolChoiceOption モデルによって呼び出される関数を制御します (そのような関数がある場合)。 none の場合、モデルによって関数が呼び出されることはなく、代わりにメッセージが生成されます。 auto の場合、メッセージを生成するか、関数を呼び出すか、モデルで選択できます。 {"type": "function", "function": {"name": "my_function"}} で特定の関数を指定すると、モデルはその関数を強制的に呼び出します。

関数が存在しない場合は、none が既定値です。 関数が存在する場合は、auto が既定値です。 ツールがモデルでサポートされていない場合は、422 エラーを返します。
tools ChatCompletionTool[] モデルによって呼び出されるツールの一覧。 現在のところ、関数のみがツールとしてサポートされています。 これを使用し、モデルによって JSON 入力が生成される関数の一覧を提供します。 ツールがモデルでサポートされていない場合は、422 エラーを返します。
top_p 数値 温度によるサンプリングに代わる核サンプリングと呼ばれるもので、モデルは top_p の確率質量を持つトークンの結果を考慮します。 したがって、0.1 は、上位 10% の確率質量を構成するトークンのみが考慮されることを意味します。

一般に、これと temperature の両方ではなく、いずれかを変更することをお勧めします。

応答

名前 種類 説明
200 OK CreateChatCompletionResponse [OK]
401 権限がありません UnauthorizedError アクセス トークンが見つからないか無効です

ヘッダー

x-ms-error-code: string
404 見つかりません NotFoundError モダリティがモデルによってサポートされていません。 モデルのドキュメントを確認して、どのルートが利用可能であるかを確認します。

ヘッダー

x-ms-error-code: string
422 処理できなかったエンティティ UnprocessableContentError 要求に処理できないコンテンツが含まれています

ヘッダー

x-ms-error-code: string
429 要求が多すぎます TooManyRequestsError 割り当てられたレート制限に達したため、要求のペースを調整する必要があります。

ヘッダー

x-ms-error-code: string
その他の状態コード ContentFilterError Bad request

ヘッダー

x-ms-error-code: string

セキュリティ

承認

Bearer: というプレフィックスが付いたトークン (例: Bearer abcde12345)

種類: apiKey
入力: ヘッダー

AADToken

Azure Active Directory OAuth2 認証

型: oauth2
フロー: アプリケーション
トークン URL: https://login.microsoftonline.com/common/oauth2/v2.0/token

指定されたチャット会話のモデル応答を作成します

サンプル要求

POST /chat/completions?api-version=2024-04-01-preview

{
  "messages": [
    {
      "role": "system",
      "content": "You are a helpful assistant"
    },
    {
      "role": "user",
      "content": "Explain Riemann's conjecture"
    },
    {
      "role": "assistant",
      "content": "The Riemann Conjecture is a deep mathematical conjecture around prime numbers and how they can be predicted. It was first published in Riemann's groundbreaking 1859 paper. The conjecture states that the Riemann zeta function has its zeros only at the negative even integers and complex numbers with real part 1/21. Many consider it to be the most important unsolved problem in pure mathematics. The Riemann hypothesis is a way to predict the probability that numbers in a certain range are prime that was also devised by German mathematician Bernhard Riemann in 18594."
    },
    {
      "role": "user",
      "content": "Ist it proved?"
    }
  ],
  "frequency_penalty": 0,
  "presence_penalty": 0,
  "max_tokens": 256,
  "seed": 42,
  "stop": "<|endoftext|>",
  "stream": false,
  "temperature": 0,
  "top_p": 1,
  "response_format": { "type": "text" }
}

サンプル応答

状態コード:200

{
  "id": "1234567890",
  "model": "llama2-70b-chat",
  "choices": [
    {
      "index": 0,
      "finish_reason": "stop",
      "message": {
        "role": "assistant",
        "content": "No, it has never been proved"
      }
    }
  ],
  "created": 1234567890,
  "object": "chat.completion",
  "usage": {
    "prompt_tokens": 205,
    "completion_tokens": 5,
    "total_tokens": 210
  }
}

定義

名前 説明
ChatCompletionRequestMessage
ChatCompletionMessageContentPart
ChatCompletionMessageContentPartType
ChatCompletionToolChoiceOption モデルによって呼び出される関数を制御します (そのような関数がある場合)。 none の場合、モデルによって関数が呼び出されることはなく、代わりにメッセージが生成されます。 auto の場合、メッセージを生成するか、関数を呼び出すか、モデルで選択できます。 {"type": "function", "function": {"name": "my_function"}} で特定の関数を指定すると、モデルはその関数を強制的に呼び出します。

関数が存在しない場合は、none が既定値です。 関数が存在する場合は、auto が既定値です。 ツールがモデルでサポートされていない場合は、422 エラーを返します。
ChatCompletionFinishReason モデルがトークンの生成を停止した理由。 これは、モデルが自然停止ポイントまたは指定された停止シーケンスに達した場合は stop に、要求内で指定されたトークンの最大数に達した場合は length に、コンテンツ フィルターのフラグが原因でコンテンツが省略された場合は content_filter に、モデルがツールを呼び出した場合は tool_calls になります。
ChatCompletionMessageToolCall
ChatCompletionObject オブジェクトの種類。これは常に chat.completion です。
ChatCompletionResponseFormat モデル応答の応答形式。 json_object に設定すると、JSON モードが有効になります。これにより、モデルが生成するメッセージが有効な JSON であることが保証されます。 JSON モードを使う場合、システムまたはユーザー メッセージを使って、ユーザー自身が JSON を生成することをモデルに指示する必要もあります。 また、finish_reason="length" の場合、メッセージの内容が部分的に切り取られる可能性があります。これは、世代が max_tokens を超えたか、会話がコンテキストの最大長を超えたことを示します。
ChatCompletionResponseFormatType 応答形式の種類。
ChatCompletionResponseMessage モデルによって生成されたチャット入力候補メッセージ。
ChatCompletionTool
ChatMessageRole このメッセージの作成者の役割。
Choices チャット入力候補の選択肢の一覧。
CompletionUsage 入力候補要求の使用状況の統計情報。
ContentFilterError プロンプトが構成どおりにコンテンツ フィルターをトリガーすると、API 呼び出しは失敗します。 プロンプトを変更して、もう一度やり直してください。
CreateChatCompletionRequest
CreateChatCompletionResponse 指定された入力に基づいて、モデルによって返されるチャット入力候補応答を表します。
詳細 UnprocessableContentError エラーの詳細。
関数 モデルが呼び出した関数。
FunctionObject モデルがアクセスできる関数の定義。
ImageDetail 画像の詳細レベルを指定します。
NotFoundError デプロイされたモデルに対してルートが無効です。
ToolType ツールの型。 現在、function のみがサポートされています。
TooManyRequestsError 割り当てられたレート制限に達したため、要求のペースを調整する必要があります。
UnauthorizedError 認証が見つからないか、無効です。
UnprocessableContentError 要求に処理できないコンテンツが含まれています。 指定されたペイロードがこの仕様に従って有効な場合、エラーが返されます。 ただし、ペイロードに示されている命令の一部は、基になるモデルではサポートされていません。 details セクションは、問題のあるパラメーターを理解するために使用します。

ChatCompletionFinishReason

モデルがトークンの生成を停止した理由。 これは、モデルが自然停止ポイントまたは指定された停止シーケンスに達した場合は stop に、要求内で指定されたトークンの最大数に達した場合は length に、コンテンツ フィルターのフラグが原因でコンテンツが省略された場合は content_filter に、モデルがツールを呼び出した場合は tool_calls になります。

名前 種類 説明
content_filter string
length string
stop string
tool_calls string

ChatCompletionMessageToolCall

名前 種類 説明
関数 関数 モデルが呼び出した関数。
ID string ツール呼び出しの ID。
type ToolType ツールの型。 現在、function のみがサポートされています。

ChatCompletionObject

オブジェクトの種類。これは常に chat.completion です。

名前 種類 説明
chat.completion string

ChatCompletionResponseFormat

モデル応答の応答形式。 json_object に設定すると、JSON モードが有効になります。これにより、モデルが生成するメッセージが有効な JSON であることが保証されます。 JSON モードを使う場合、システムまたはユーザー メッセージを使って、ユーザー自身が JSON を生成することをモデルに指示する必要もあります。 また、finish_reason="length" の場合、メッセージの内容が部分的に切り取られる可能性があります。これは、世代が max_tokens を超えたか、会話がコンテキストの最大長を超えたことを示します。

名前 種類 説明
type ChatCompletionResponseFormatType 応答形式の種類。

ChatCompletionResponseFormatType

応答形式の種類。

名前 種類 説明
json_object string
テキスト string

ChatCompletionResponseMessage

モデルによって生成されたチャット入力候補メッセージ。

名前 種類 説明
コンテンツ string メッセージの内容。
role ChatMessageRole このメッセージの作成者の役割。
tool_calls ChatCompletionMessageToolCall[] 関数呼び出しなど、モデルによって生成されるツール呼び出し。

ChatCompletionTool

名前 種類 説明
関数 FunctionObject
type ToolType ツールの型。 現在、function のみがサポートされています。

ChatMessageRole

このメッセージの作成者の役割。

名前 種類 説明
assistant string
システム string
tool string
ユーザー string

複数選択肢

チャット入力候補の選択肢の一覧。 n が 1 より大きい場合は複数の値を指定できます。

名前 種類 説明
finish_reason ChatCompletionFinishReason モデルがトークンの生成を停止した理由。 これは、モデルが自然停止ポイントまたは指定された停止シーケンスに達した場合は stop に、要求内で指定されたトークンの最大数に達した場合は length に、コンテンツ フィルターのフラグが原因でコンテンツが省略された場合は content_filter に、モデルがツールを呼び出した場合は tool_calls になります。
インデックス integer 選択肢のリスト内の選択肢のインデックス。
メッセージ ChatCompletionResponseMessage モデルによって生成されたチャット入力候補メッセージ。

CompletionUsage

入力候補要求の使用状況の統計情報。

名前 種類 説明
completion_tokens integer 生成された入力候補内のトークンの数。
prompt_tokens integer プロンプト内のトークンの数。
total_tokens integer 要求内で使われたトークンの合計数 (プロンプトと入力候補の和)。

ContentFilterError

プロンプトが構成どおりにコンテンツ フィルターをトリガーすると、API 呼び出しは失敗します。 プロンプトを変更して、もう一度やり直してください。

名前 種類 説明
code string エラー コード。
エラー string エラーの説明。
message string エラー メッセージ。
param string コンテンツ フィルターをトリガーしたパラメーター。
status integer HTTP 状態コード。

CreateChatCompletionRequest

名前 種類 既定値 説明
frequency_penalty 数値 0 既に使われている単語が選ばれる可能性を減らすことで、単語の繰り返しを防ぐのに役立ちます。 頻度ペナルティが高くなるほど、モデルがその出力内で同じ単語を繰り返す可能性が低くなります。 値またはパラメーターがモデルでサポートされていない場合は、422 エラーを返します。
max_tokens integer チャット入力候補で生成できるトークンの最大数。

入力トークンと生成されたトークンの合計の長さは、モデルのコンテキスト長によって制限されます。 null 値を渡すと、モデルはその最大コンテキスト長を使います。
messages ChatCompletionRequestMessage[] これまでの会話を構成するメッセージの一覧。 モデルが少なくとも一部のメッセージを理解できない場合は、422 エラーを返します。
presence_penalty 数値 0 単語が入力候補に既に存在する場合、たとえ 1 回でもペナルティを与えることで、同じトピックが繰り返されるのを防ぐのに役立ちます。 値またはパラメーターがモデルでサポートされていない場合は、422 エラーを返します。
応答形式 ChatCompletionResponseFormat text
シード integer 指定されている場合、このシステムは、同じ seed とパラメーターを使用して繰り返された要求に対して同じ結果を返せるように、決定論的にサンプリングを行うように最善を尽くします。 決定性は保証されないため、バックエンドでの変更を監視するには、system_fingerprint 応答パラメーターを参照する必要があります。
stop API がそれ以上のトークンの生成を停止するシーケンス。
stream boolean False 設定すると、部分的なメッセージ差分が送信されます。 トークンは、使用可能になるとデータのみのサーバー送信イベントとして送信され、ストリームは data: [DONE] メッセージによって終了します。
温度 number 1 負ではない数値。 値がモデルでサポートされていない場合は 422 を返します。
tool_choice ChatCompletionToolChoiceOption モデルによって呼び出される関数を制御します (そのような関数がある場合)。 none の場合、モデルによって関数が呼び出されることはなく、代わりにメッセージが生成されます。 auto の場合、メッセージを生成するか、関数を呼び出すか、モデルで選択できます。 {"type": "function", "function": {"name": "my_function"}} で特定の関数を指定すると、モデルはその関数を強制的に呼び出します。

関数が存在しない場合は、none が既定値です。 関数が存在する場合は、auto が既定値です。 ツールがモデルでサポートされていない場合は、422 エラーを返します。
tools ChatCompletionTool[] モデルによって呼び出されるツールの一覧。 現在のところ、関数のみがツールとしてサポートされています。 これを使用し、モデルによって JSON 入力が生成される関数の一覧を提供します。 ツールがモデルでサポートされていない場合は、422 エラーを返します。
top_p number 1 核サンプリングと呼ばれる、温度によるサンプリングの代替で、モデルはで top_p 確率質量を持つトークンの結果が考慮されます。 したがって、0.1 は、上位 10% の確率質量を構成するトークンのみが考慮されることを意味します。

一般に、これと temperature の両方ではなく、いずれかを変更することをお勧めします。

ChatCompletionRequestMessage

名前 種類 説明
content string または ChatCompletionMessageContentPart[] メッセージの内容。
role ChatMessageRole このメッセージの作成者の役割。
tool_calls ChatCompletionMessageToolCall[] 関数呼び出しなど、モデルによって生成されるツール呼び出し。

ChatCompletionMessageContentPart

名前 種類 説明
コンテンツ string 画像の URL または base64 でエンコードされた画像データのいずれか。
詳細 ImageDetail 画像の詳細レベルを指定します。
type ChatCompletionMessageContentPartType コンテンツ パーツの種類。

ChatCompletionMessageContentPartType

名前 種類 説明
text string
image string
image_url string

ChatCompletionToolChoiceOption

モデルによって呼び出されるツールを制御します (ある場合)。

名前 種類 説明
なし string このモデルは、ツールを呼び出すことはなく、代わりにメッセージを生成します。
auto string このモデルは、メッセージを生成するか、1 つ以上のツールを呼び出すかを選択できます。
必須 string このモデルは、1 つ以上のツールを呼び出す必要があります。
string {"type": "function", "function": {"name": "my_function"}} を介して特定のツールを指定すると、モデルでそのツールの呼び出しが強制されます。

ImageDetail

画像の詳細レベルを指定します。

名前 種類 説明
auto string
low string
high string

CreateChatCompletionResponse

指定された入力に基づいて、モデルによって返されるチャット入力候補応答を表します。

名前 種類 説明
choices Choices[] チャット入力候補の選択肢の一覧。 n が 1 より大きい場合は複数の値を指定できます。
作成済 integer チャット入力候補が作成されたときの Unix タイムスタンプ (秒単位)。
ID string チャット入力候補の一意識別子。
モデル string チャット入力候補に使われるモデル。
オブジェクト ChatCompletionObject オブジェクトの種類。これは常に chat.completion です。
system_fingerprint string このフィンガープリントは、モデルが実行されるバックエンド構成を表します。

seed 要求パラメーターと組み合わせて使うと、決定性に影響を与える可能性のあるバックエンドの変更がいつ行われたかを把握できます。
使用量 CompletionUsage 入力候補要求の使用状況の統計情報。

詳細

UnprocessableContentError エラーの詳細。

名前 種類 説明
loc string[] 問題の原因となっているパラメーター
string 問題の原因となっているパラメーターに渡された値。

機能

モデルが呼び出した関数。

名前 種類 説明
引数 string モデルによって JSON 形式で生成された、関数を呼び出すための引数。 モデルは常に有効な JSON を生成するとは限らず、関数スキーマで定義されていない誤ったパラメーターを生成する可能性があることに注意してください。 関数を呼び出す前に、コード内の引数を検証します。
name string 呼び出す関数の名前。

FunctionObject

モデルがアクセスできる関数の定義。

名前 種類 説明
description string モデルが関数をいつどのように呼び出すかを選ぶために使われる、関数の動作の説明。
name string 呼び出される関数の名前。 a-z、A-Z、0-9 を使用するか、アンダースコアとダッシュを含める必要があります。最大長は 64 です。
parameters object 関数が受け取るパラメーター。JSON スキーマ オブジェクトとして記述されます。 parameters を省略すると、空のパラメーター リストを持つ関数が定義されます。

NotFoundError

名前 種類 説明
エラー string エラーの説明。
message string エラー メッセージ。
status integer HTTP 状態コード。

ToolType

ツールの型。 現在、function のみがサポートされています。

名前 種類 説明
関数 string

TooManyRequestsError

名前 種類 説明
エラー string エラーの説明。
message string エラー メッセージ。
status integer HTTP 状態コード。

UnauthorizedError

名前 種類 説明
エラー string エラーの説明。
message string エラー メッセージ。
status integer HTTP 状態コード。

UnprocessableContentError

要求に処理できないコンテンツが含まれています。 指定されたペイロードがこの仕様に従って有効な場合、エラーが返されます。 ただし、ペイロードに示されている命令の一部は、基になるモデルではサポートされていません。 details セクションは、問題のあるパラメーターを理解するために使用します。

名前 種類 説明
code string エラー コード。
詳細 詳細
エラー string エラーの説明。
message string エラー メッセージ。
status integer HTTP 状態コード。