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