次の方法で共有


基盤モデル REST API リファレンス

この記事では、Databricks Foundation Model API とそれらがサポートするモデルに関する一般的な API 情報を提供します。 Foundation Model API は、既存のプロジェクトの移行を容易にするために、OpenAI の REST API と同様に設計されています。 トークンごとの支払いスループット エンドポイントとプロビジョニング済みスループット エンドポイントはどちらも、同じ REST API 要求形式を受け入れます。

エンドポイント

Foundation Model API では、トークンごとの支払いエンドポイントとプロビジョニングされたスループット エンドポイントがサポートされます。

事前構成済みエンドポイントは、トークンごとの支払いサポートモデルごとにワークスペースで使用でき、ユーザーは HTTP POST 要求を使用してこれらのエンドポイントと対話できます。 サポートされているモデルについては トークンごとの支払い を参照してください。

プロビジョニングされたスループット エンドポイントは、API またはサービス UI を使用して作成できます。 これらのエンドポイントは、両方の提供されるモデルが同じ API 形式を公開している限り、A/B テスト用にエンドポイントごとに複数のモデルをサポートします。 たとえば、両方のモデルがチャット モデルです。 エンドポイント構成パラメーター POST /api/2.0/serving-endpoints を参照してください。

要求と応答では JSON が使用されます。正確な JSON 構造は、エンドポイントのタスクの種類によって異なります。 チャットエンドポイントと完了エンドポイントは、ストリーミング応答をサポートします。

使用法

応答には、要求と応答のトークンの数を報告する usage サブメッセージが含まれます。 このサブメッセージの形式は、すべてのタスクの種類で同じです。

フィールド 種類 説明
completion_tokens 整数 生成されたトークンの数。 埋め込み応答には含まれません。
prompt_tokens 整数 入力プロンプトからのトークンの数。
total_tokens 整数 トークンの合計数。

Meta-Llama-3.3-70B-Instruct のようなモデルの場合、ユーザー プロンプトは、モデルに渡される前にプロンプト テンプレートを使用して変換されます。 トークンごとの支払いエンドポイントの場合は、システム プロンプトも追加される場合があります。 prompt_tokens には、サーバーによって追加されたすべてのテキストが含まれています。

チャット タスク

チャット タスクは、モデルを使用した複数ターンの会話用に最適化されています。 モデル応答は、会話内の次の assistant メッセージを提供します。 エンドポイント パラメーターの問い合わせ方法については、「POST /serving-endpoints/{name}/invocations」を参照してください。

チャット要求

フィールド 既定値 種類 説明
messages ChatMessage リスト 必須。 現在の会話を表すメッセージの一覧。
max_tokens null null。制限なし、または 0 より大きい整数を意味します 生成するトークンの最大数。
stream true ブーリアン 要求の部分的な結果を許可するために、応答をクライアントにストリーム配信します。 このパラメーターが要求に含まれている場合、応答は標準 サーバー送信イベントを使用して送信されます。
temperature 1.0 Float in [0,2] サンプリング温度。 0 は決定論的であり、値が大きいほどランダム性が高くなります。
top_p 1.0 Float in (0,1] 核サンプリングに使用される確率しきい値。
top_k null null。制限なし、または 0 より大きい整数を意味します 上位 k フィルター処理に使用する可能性が最も高い k 個のトークンの数を定義します。 出力を決定論的にするには、この値を 1 に設定します。
stop [] 文字列またはリスト[文字列] stop 内のいずれかのシーケンスが検出されると、モデルはさらなるトークンの生成を停止します。
n 1 0 より大きい整数 この API は、n が指定された場合に、n 個の独立したチャット入力候補を返します。 推論の効率を高め、コストを削減するために、同じ入力で複数の入力候補を生成するワークロードに推奨されます。 プロビジョニングされたスループット エンドポイントでのみ使用できます。
tool_choice none 文字列または ToolChoiceObject tools フィールドと組み合わせてのみ使用します。 tool_choice では、autorequirednoneなど、さまざまなキーワード文字列がサポートされています。 auto は、使用に関連する (ある場合) ツールをモデルに決定させることを意味します。 autotools 内のどのツールも関連しているとモデルが信じない場合、モデルはツール呼び出しの代わりに標準アシスタント メッセージを生成します。 required は、モデルが tools で最も関連性の高いツールを選択し、ツール呼び出しを生成する必要があることを意味します。 none は、モデルがツール呼び出しを生成せず、代わりに標準のアシスタント メッセージを生成する必要があることを意味します。 toolsで定義されている特定のツールを使用してツール呼び出しを強制するには、ToolChoiceObjectを使用します。 既定では、tools フィールドに tool_choice = "auto" が設定されます。 それ以外の場合、tools フィールドの既定値は tool_choice = "none"
tools null ToolObject モデルが呼び出すことができる tools の一覧。 現在、function は唯一サポートされている tool 型であり、最大 32 個の関数がサポートされています。
response_format null ResponseFormatObject モデルが出力する必要がある形式を指定するオブジェクト。 使用できる型は、textjson_schema、または json_object

{ "type": "json_schema", "json_schema": {...} } に設定すると、構造化された出力が有効になり、指定された JSON スキーマにモデルが確実に従います。

{ "type": "json_object" } に設定すると、モデルによって生成される応答は有効な JSON になりますが、応答が特定のスキーマに従っているわけではありません。
logprobs false ブーリアン このパラメーターは、サンプリングされるトークンのログ確率を指定するかどうかを示します。
top_logprobs null 整数 このパラメーターは、サンプリング ステップごとにログ確率を返す可能性が最も高いトークン候補の数を制御します。 0 ~ 20 にすることができます。 このフィールドを使用する場合は、logprobstrue でなければなりません。

ChatMessage

フィールド 種類 説明
role 必須。 メッセージの作成者の役割。 "system""user""assistant"、または "tool"することができます。
content メッセージの内容。 ツールの呼び出しを伴わないチャット タスクに必要な
tool_calls ToolCall の一覧 モデルによって生成された tool_calls の一覧。 role"assistant" として持ち、content フィールドの指定がないことが必要です。
tool_call_id role"tool" である場合、メッセージの応答対象の ToolCall に関連する ID。 その他の role オプションの場合は空にする必要があります。

system ロールは、会話の最初のメッセージとして 1 回だけ使用できます。 モデルの既定のシステム プロンプトをオーバーライドします。

ToolCall

モデルによるツールコールアクションの提案。 Azure Databricks での関数呼び出しを参照してください。

フィールド 種類 説明
id 必須。 このツールの提案呼び出しに対する一意の識別子。
type 必須"function" のみがサポートされています。
function 関数呼び出し完了 必須。 モデルによって提案される関数呼び出し。

FunctionCallCompletion

フィールド 種類 説明
name 必須。 モデルが推奨する関数の名前。
arguments オブジェクト 必須。 シリアル化された JSON ディクショナリとしての関数の引数。

ToolChoiceObject

Azure Databricks での関数呼び出しを参照してください。

フィールド タイプ 説明
type 必須。 ツールの種類。 現時点では、"function" のみがサポートされています。
function オブジェクト 必須。 フォーム {"type": "function", "function": {"name": "my_function"}} 呼び出すツールを定義するオブジェクト。ここで "my_function は、tools フィールドの FunctionObject の名前です。

ToolObject

Azure Databricks での関数呼び出しを参照してください。

フィールド 種類 説明
type 必須。 ツールの種類。 現時点では、function のみがサポートされています。
function FunctionObject 必須。 ツールに関連付けられている関数定義。

FunctionObject

フィールド 種類 説明
name 必須。 呼び出す関数の名前。
description オブジェクト 必須。 関数の詳細な説明。 モデルでは、この説明を使用して、プロンプトに対する関数の関連性を理解し、より高い精度でツール呼び出しを生成します。
parameters オブジェクト 有効な JSON スキーマ オブジェクトとして記述された、関数が受け入れるパラメーター。 ツールが呼び出された場合、ツール呼び出しは指定された JSON スキーマに適合します。 パラメーターを省略すると、パラメーターのない関数が定義されます。 properties の数は 15 キーに制限されています。
strict ブーリアン 関数呼び出しの生成時に厳密なスキーマ準拠を有効にするかどうか。 trueに設定すると、モデルはスキーマ フィールドで定義されている正確なスキーマに従います。 strict が true されている場合は、JSON スキーマのサブセットのみがサポートされます

ResponseFormatObject

Azure Databricks での構造化された出力を参照してください。

フィールド 種類 説明
type 必須。 定義されている応答形式の型。 非構造化テキストの text、非構造化 JSON オブジェクトの json_object、または特定のスキーマに準拠する JSON オブジェクトの json_schema
json_schema JsonSchemaObject 必須typejson_schema に設定されている場合に準拠する JSON スキーマ

JsonSchemaObject

Azure Databricks での構造化された出力を参照してください。

フィールド 種類 説明
name 必須。 応答形式の名前。
description 応答形式の説明で、モデルがその形式でどのように応答するかを決定するために使用されます。
schema オブジェクト 必須。 JSON スキーマ オブジェクトとして記述された応答形式のスキーマ。
strict ブーリアン 出力の生成時に厳密なスキーマ準拠を有効にするかどうかを指定します。 trueに設定すると、モデルはスキーマ フィールドで定義されている正確なスキーマに従います。 strict が true されている場合は、JSON スキーマのサブセットのみがサポートされます

チャット応答

ストリーミング以外の要求の場合、応答は 1 つのチャット完了オブジェクトです。 ストリーミング要求の場合、応答は各イベントが完了チャンク オブジェクトである text/event-stream です。 完了オブジェクトとチャンク オブジェクトの最上位レベルの構造はほぼ同じです。異なる型を持つのは choices だけです。

フィールド 種類 説明
id チャット入力候補の一意識別子。
choices List[ChatCompletionChoice] または List[ChatCompletionChunk] (ストリーミング) チャット完了テキストの一覧。 n パラメーターが指定されている場合は、n 選択肢が返されます。
object オブジェクトの種類。 非ストリーミングの場合は "chat.completions"、ストリーミングの場合は "chat.completion.chunk" のいずれかと等しくなります。
created 整数 チャット入力候補が生成された時間 (秒単位)。
model 応答の生成に使用されるモデル バージョン。
usage 使用方法 トークンの使用メタデータ。 ストリーミング応答に存在しない可能性があります。

ChatCompletionChoice

フィールド 種類 説明
index 整数 生成された選択肢の一覧内の選択肢のインデックス。
message ChatMessage モデルによって返されるチャット完了メッセージ。 ロールは assistant になります。
finish_reason モデルがトークンの生成を停止した理由。

ChatCompletionChunk

フィールド 種類 説明
index 整数 生成された選択肢の一覧内の選択肢のインデックス。
delta チャットメッセージ モデルから生成されたストリーミング応答のチャット完了メッセージの一部。 最初のチャンクのみ、role が設定されていることが保証されます。
finish_reason モデルがトークンの生成を停止した理由。 最後のチャンクにのみ、これが設定されます。

完了作業

テキスト補完タスクは、1 つのプロンプトに対する応答を生成するためのタスクです。 チャットとは異なり、このタスクはバッチ入力をサポートしています。複数の独立したプロンプトを 1 つの要求で送信できます。 エンドポイント パラメーターの問い合わせ方法については、「POST /serving-endpoints/{name}/invocations」を参照してください。

入力候補要求

フィールド 既定値 種類 説明
prompt 文字列またはリスト[文字列] 必須。 モデルのプロンプト。
max_tokens null null。制限なし、または 0 より大きい整数を意味します 生成するトークンの最大数。
stream true ブーリアン 要求の部分的な結果を許可するために、応答をクライアントにストリーム配信します。 このパラメーターが要求に含まれている場合、応答は標準 サーバー送信イベントを使用して送信されます。
temperature 1.0 Float in [0,2] サンプリング温度。 0 は決定論的であり、値が大きいほどランダム性が高くなります。
top_p 1.0 Float in (0,1] 核サンプリングに使用される確率しきい値。
top_k null null。制限なし、または 0 より大きい整数を意味します 上位 k フィルター処理に使用する可能性が最も高い k 個のトークンの数を定義します。 出力を決定論的にするには、この値を 1 に設定します。
error_behavior "error" "truncate" または "error" タイムアウトとコンテキスト長を超えたエラーの場合。 "truncate" (できるだけ多くのトークンを返す) と "error" (エラーを返す) のいずれか。 このパラメーターは、トークン エンドポイントあたりの支払いによってのみ受け入れられます。
n 1 0 より大きい整数 この API は、n が指定された場合に、n 個の独立したチャット入力候補を返します。 推論の効率を高め、コストを削減するために、同じ入力で複数の入力候補を生成するワークロードに推奨されます。 プロビジョニングされたスループット エンドポイントでのみ使用できます。
stop [] 文字列またはリスト[文字列] stop 内のいずれかのシーケンスが検出されると、モデルはさらなるトークンの生成を停止します。
suffix "" すべての完了の末尾に追加される文字列。
echo false ブーリアン 入力候補と共にプロンプトを返します。
use_raw_prompt false ブーリアン true場合は、変換を行わずに prompt をモデルに直接渡します。

入力候補の応答

フィールド 種類 説明
id テキスト入力候補の一意識別子。
choices CompletionChoice テキスト入力候補のリスト。 渡されるすべてのプロンプトについて、n が指定されている場合、n 選択肢が生成されます。 既定の n は 1 です。
object オブジェクトの種類。 "text_completion" と等しい
created 整数 完了が生成された時間 (秒単位)。
usage 使用方法 トークンの使用メタデータ。

CompletionChoice

フィールド 種類 説明
index 整数 要求中のプロンプトのインデックス。
text 生成された入力候補。
finish_reason モデルがトークンの生成を停止した理由。

埋め込みタスク

埋め込みタスクは、入力文字列を埋め込みベクターにマップします。 各要求で多数の入力をバッチ処理できます。 エンドポイント パラメーターの問い合わせ方法については、「POST /serving-endpoints/{name}/invocations」を参照してください。

埋め込み要求

フィールド 種類 説明
input 文字列またはリスト[文字列] 必須。 埋め込む入力テキスト。 文字列または文字列のリストを指定できます。
instruction 埋め込みモデルに渡す省略可能な命令。

命令は省略可能であり、モデル固有のものです。 たとえば、BGE の作成者は、チャンクのインデックスを作成するときに命令を推奨せず、取得クエリに命令 "Represent this sentence for searching relevant passages:" を使用することをお勧めします。 Instructor-XL などの他のモデルでは、さまざまな命令文字列がサポートされています。

埋め込み応答

フィールド タイプ 説明
id 埋め込みの一意識別子。
object オブジェクトの種類。 "list"に等しい。
model 埋め込みの作成に使用される埋め込みモデルの名前。
data 埋め込みオブジェクト 埋め込みオブジェクト。
usage 使用方法 トークンの使用メタデータ。

EmbeddingObject

フィールド 種類 説明
object オブジェクトの種類。 "embedding"に等しい。
index 整数 モデルによって生成された埋め込みの一覧内の埋め込みのインデックス。
embedding List[Float] 埋め込みベクター。 各モデルは固定サイズ ベクトルを返します (BGE-Largeの場合は 1024)

その他のリソース