基盤モデル REST API リファレンス
この記事では、Databricks 基盤APIsとそれらがサポートするモデルの一般的な API 情報を提供します。 基盤モデルAPI既存のプロジェクトの移行を容易にするために、OpenAI の REST API と同様になるように設計されています。 トークン単位の従量課金のエンドポイントとプロビジョニングスループットのエンドポイントはどちらも、同じ REST API リクエスト形式を受け入れます。
エンドポイント
トークン単位の従量課金の各モデルには単一のエンドポイントがあり、ユーザーは HTTP POST リクエストを使用してこれらのエンドポイントと対話できます。 プロビジョニングされたスループット エンドポイントは、API または Serving UI を使用して作成できます。 これらのエンドポイントは、提供される両方のモデルが同じ API 形式を公開している限り、A/B テスト用のエンドポイントごとに複数のモデルもサポートします。 たとえば、どちらのモデルもチャット モデルです。
要求と応答は JSON を使用し、正確な JSON 構造はエンドポイントのタスクの種類によって異なります。 チャットと完了エンドポイントは、ストリーミング応答をサポートします。
トークン単位の従量課金のワークロードは特定のモデルをサポートしています。これらのモデルと受け入れられる API 形式については、トークン単位の従量課金がサポートされるモデルを参照してください。
の使用
応答には、要求と応答のトークンの数を報告する usage
サブメッセージが含まれます。 このサブメッセージの形式は、すべてのタスク・タイプで同じです。
フィールド |
タイプ |
説明 |
---|---|---|
|
整数タイプ |
生成されたトークンの数。 埋め込み応答には含まれません。 |
|
整数タイプ |
入力プロンプトからのトークンの数。 |
|
整数タイプ |
トークンの合計数。 |
llama-2-70b-chat
のようなモデルの場合、ユーザー プロンプトは、モデルに渡される前にプロンプト テンプレートを使用して変換されます。トークンごとの支払いエンドポイントの場合、システム プロンプトも追加される場合があります。 prompt_tokens
には、サーバーによって追加されたすべてのテキストが含まれます。
チャットタスク
チャットタスクは、モデルとの複数ターンの会話用に最適化されています。 各要求は、 messages
フィールドが user
ロールと assistant
ロールを交互に切り替え、 user
メッセージで終わるまでの会話を記述します。 モデル応答は、会話の次の assistant
メッセージを提供します。
チャットリクエスト
フィールド |
デフォルト |
タイプ |
説明 |
---|---|---|---|
|
ChatMessage 一覧 |
必須です。 現在の会話を表すメッセージのリスト。 |
|
|
|
|
生成するトークンの最大数。 |
|
|
ブール値 |
要求の部分的な結果を許可するために、応答をクライアントに返します。 このパラメーターが要求に含まれている場合、応答は サーバー送信イベント 標準を使用して送信されます。 |
|
|
[0,2] の浮動小数点数 |
サンプリング温度。 0 は決定論的であり、値が大きいほどランダム性が高くなります。 |
|
|
浮動小数点数 (0,1) |
核サンプリングに使用される確率しきい値。 |
|
|
|
top-k-フィルタリングに使用する可能性が最も高いk個のトークンの数を定義します。 この値を 1 に設定すると、出力が確定的になります。 |
|
[] |
文字列 または List[文字列] |
モデルは、 |
|
1 |
0 より大きい整数 |
|
|
|
文字列またはToolChoiceObject |
|
|
|
モデルが呼び出すことができる |
|
|
|
モデルが出力する必要がある形式を指定するオブジェクト。 使用できるタイプは、 |
|
|
|
ブール値 |
このパラメーターは、トークンがサンプリングされるログ確率を提供するかどうかを示します。 |
|
|
整数タイプ |
このパラメーターは、各サンプリング ステップで対数確率を返す可能性が最も高いトークン候補の数を制御します。 0 から 20 まで指定できます。 このフィールドを使用する場合は、 |
ChatMessage
フィールド |
タイプ |
説明 |
---|---|---|
|
文字列 |
必須です。 メッセージの作成者の役割。 |
|
文字列 |
メッセージの内容。 ツール呼び出しを伴わないチャット タスクに必要です。 |
|
ToolCall リスト |
モデルが生成した |
|
文字列 |
|
system
ロールは、会話の最初のメッセージとして 1 回だけ使用できます。これは、モデルのデフォルトのシステムプロンプトを上書きします。
ToolCall
モデルによるツール呼び出しアクションの提案。 Databricks での関数呼び出しを参照してください。
フィールド |
タイプ |
説明 |
---|---|---|
|
文字列 |
必須です。 このツール呼び出し候補の一意の識別子。 |
|
文字列 |
必須です。 サポートされているのは |
|
必須です。 モデルによって提案された関数呼び出し。 |
FunctionCallCompletion
フィールド |
タイプ |
説明 |
---|---|---|
|
文字列 |
必須。 モデルが推奨する関数の名前。 |
|
オブジェクト |
必須。 シリアル化された JSON 辞書としての関数への引数。 |
ToolChoiceObject
Databricks での関数呼び出しを参照してください。
フィールド |
タイプ |
説明 |
---|---|---|
|
文字列 |
必須です。 ツールのタイプ。 現在、 |
|
オブジェクト |
必須です。 |
ToolObject
Databricks での関数呼び出しを参照してください。
フィールド |
タイプ |
説明 |
---|---|---|
|
文字列 |
必須です。 ツールのタイプ。 現在、 |
|
必須です。 ツールに関連付けられている関数定義。 |
FunctionObject
フィールド |
タイプ |
説明 |
---|---|---|
|
文字列 |
必須です。 呼び出される関数の名前。 |
|
オブジェクト |
必須です。 関数の詳細な説明。 モデルはこの記述を使用して、関数とプロンプトの関連性を理解し、より高い精度でツール呼び出しを生成します。 |
|
オブジェクト |
関数が受け入れるパラメーター (有効な JSON スキーマ オブジェクトとして記述されます)。 ツールが呼び出された場合、ツール呼び出しは指定された JSON スキーマに適合します。 パラメーターを省略すると、パラメーターのない関数が定義されます。 |
|
ブール値 |
関数呼び出しの生成時に厳密なスキーマ準拠を有効にするかどうか。 |
ResponseFormatObject
フィールド |
タイプ |
説明 |
---|---|---|
|
文字列 |
必須です。 定義するレスポンス・フォーマットのタイプ。 非構造化テキストの場合は |
|
必須です。 |
チャットの応答
ストリーミング以外の要求の場合、応答は 1 つのチャット完了オブジェクトです。 ストリーミング要求の場合、応答は、各イベントが完了チャンク オブジェクトである text/event-stream
です。 補完オブジェクトとチャンク オブジェクトの最上位構造はほぼ同じで、 choices
だけが型が異なります。
フィールド |
タイプ |
説明 |
---|---|---|
|
文字列 |
チャット完了の一意の識別子。 |
|
List[ChatCompletionChoice] または List[ChatCompletionChunk] (ストリーミング) |
チャット完了テキストのリスト。 |
|
文字列 |
オブジェクトの種類。 非ストリーミングの場合は |
|
整数タイプ |
チャット完了が生成された時間(秒単位)。 |
|
文字列 |
応答の生成に使用されたモデル バージョン。 |
|
トークン使用状況メタデータ。 ストリーミング応答には存在しない可能性があります。 |
ChatCompletionChoice
フィールド |
タイプ |
説明 |
---|---|---|
|
整数タイプ |
生成された選択肢のリスト内の選択肢のインデックス。 |
|
モデルによって返されるチャット完了メッセージ。 役割は |
|
|
文字列 |
モデルがトークンの生成を停止した理由。 |
完了タスク
テキスト補完タスクは、1 つのプロンプトに対する応答を生成するためのものです。 チャットとは異なり、このタスクはバッチ入力をサポートしており、1 つのリクエストで複数の独立したプロンプトを送信できます。
完了要求
フィールド |
デフォルト |
タイプ |
説明 |
---|---|---|---|
|
文字列 または List[文字列] |
必須です。 モデルのプロンプト。 |
|
|
|
|
生成するトークンの最大数。 |
|
|
ブール値 |
要求の部分的な結果を許可するために、応答をクライアントに返します。 このパラメーターが要求に含まれている場合、応答は サーバー送信イベント 標準を使用して送信されます。 |
|
|
[0,2] の浮動小数点数 |
サンプリング温度。 0 は決定論的であり、値が大きいほどランダム性が高くなります。 |
|
|
浮動小数点数 (0,1) |
核サンプリングに使用される確率しきい値。 |
|
|
|
top-k-フィルタリングに使用する可能性が最も高いk個のトークンの数を定義します。 この値を 1 に設定すると、出力が確定的になります。 |
|
|
|
タイムアウトおよびコンテキスト長超過エラーの場合。 |
|
1 |
0 より大きい整数 |
|
|
[] |
文字列 または List[文字列] |
モデルは、 |
|
|
文字列 |
すべての補完の末尾に追加される文字列。 |
|
|
ブール値 |
プロンプトと完了を返します。 |
|
|
ブール値 |
|
埋め込みタスク
埋め込みタスクは、入力文字列を埋め込みベクトルにマッピングします。 各要求で多くの入力をまとめてバッチ処理できます。
埋め込み要求
フィールド |
タイプ |
説明 |
---|---|---|
|
文字列 または List[文字列] |
必須です。 埋め込む入力テキスト。 文字列または文字列のリストを指定できます。 |
|
文字列 |
埋め込みモデルに渡すオプションの命令。 |
手順はオプションであり、モデル固有です。 たとえば、BGE の作成者は、チャンクのインデックス作成時に命令を推奨しておらず、検索クエリーに命令 "Represent this sentence for searching relevant passages:"
を使用することを推奨しています。 Instructor-XLなどの他のモデルは、幅広い命令文字列をサポートしています。