リファレンス: チャット入力候補 | 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 状態コード。 |