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

この記事では、Databricks 基盤APIsとそれらがサポートするモデルの一般的な API 情報を提供します。 基盤モデルAPIs既存のプロジェクトの移行を容易にするために、OpenAI の REST API と同様になるように設計されています。 Pay-per-VPN エンドポイントとプロビジョニングされたスループット エンドポイントはどちらも、同じ REST API リクエスト形式を受け入れます。

エンドポイント

各ペイパートークン モデルには単一のエンドポイントがあり、ユーザーは HTTP POST リクエストを使用してこれらのエンドポイントと対話できます。 プロビジョニングされたスループット エンドポイントは、API または Serving UI を使用して作成できます。 これらのエンドポイントは、提供される両方のモデルが同じ API 形式を公開している限り、A/B テスト用のエンドポイントごとに複数のモデルもサポートします。 たとえば、どちらのモデルもチャット モデルです。

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

トークンごとの支払いワークロードは特定のモデルをサポートしています。これらのモデルと受け入れられる API 形式については、「トークンごとの支払いでサポートされるモデル」を参照してください。

の使用

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

フィールド

タイプ

説明

completion_tokens

整数タイプ

生成されたトークンの数。 埋め込み応答には含まれません。

prompt_tokens

整数タイプ

入力プロンプトからのトークンの数。

total_tokens

整数タイプ

トークンの合計数。

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

チャットタスク

チャットタスクは、モデルとの複数ターンの会話用に最適化されています。 各要求は、 messages フィールドが user ロールと assistant ロールを交互に切り替え、 user メッセージで終わるまでの会話を記述します。 モデル応答は、会話の次の assistant メッセージを提供します。

チャットリクエスト

フィールド

デフォルト

タイプ

説明

messages

ChatMessage 一覧

現在の会話を表すメッセージのリスト。 (必須)

max_tokens

nil

0 または nilより大きい整数で、無限大を表します。

生成するトークンの最大数。

stream

true

ブール値

要求の部分的な結果を許可するために、応答をクライアントに返します。 このパラメーターが要求に含まれている場合、応答は サーバー送信イベント 標準を使用して送信されます。

temperature

1.0

[0,2] の浮動小数点数

サンプリング温度。 0 は決定論的であり、値が大きいほどランダム性が高くなります。

top_p

1.0

浮動小数点数 (0,1)

核サンプリングに使用される確率しきい値。

top_k

nil

0 または nilより大きい整数で、無限大を表します。

top-k-フィルタリングに使用する可能性が最も高いk個のトークンの数を定義します。 この値を 1 に設定すると、出力が確定的になります。

stop

[]

文字列 または List[文字列]

モデルは、 stop 内のシーケンスのいずれかが検出されると、それ以上のトークンの生成を停止します。

n

1

0 より大きい整数

nが指定されている場合、API はnの独立したチャット完了を返します。 推論の効率を高め、コストを削減するために、同じ入力で複数の入力候補を生成するワークロードに推奨されます。 プロビジョニングされたスループット エンドポイントでのみ使用できます。

ChatMessage

フィールド

タイプ

説明

role

文字列

必須。 メッセージの作成者の役割。 "system""user"、または "assistant"を指定できます。

content

文字列

必須です。 メッセージの内容。 (必須)

system ロールは、会話の最初のメッセージとして 1 回だけ使用できます。これは、モデルのデフォルトのシステムプロンプトを上書きします。

チャットの応答

ストリーミング以外の要求の場合、応答は 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

チャットメッセージ

モデルによって返されるチャット完了メッセージ。 役割は assistantになります。

finish_reason

文字列

モデルがトークンの生成を停止した理由。

ChatCompletionChunk

フィールド

タイプ

説明

index

整数タイプ

生成された選択肢のリスト内の選択肢のインデックス。

delta

チャットメッセージ

モデルから生成されたストリーム応答のチャット完了メッセージ部分。 最初のチャンクのみが role 入力されることが保証されます。

finish_reason

文字列

モデルがトークンの生成を停止した理由。 最後のチャンクのみに値が入力されます。

完了タスク

テキスト補完タスクは、1 つのプロンプトに対する応答を生成するためのものです。 チャットとは異なり、このタスクはバッチ入力をサポートしており、1 つのリクエストで複数の独立したプロンプトを送信できます。

完了要求

フィールド

デフォルト

タイプ

説明

prompt

文字列 または List[文字列]

モデルのプロンプト。 (必須)

max_tokens

nil

0 または nilより大きい整数で、無限大を表します。

生成するトークンの最大数。

stream

true

ブール値

要求の部分的な結果を許可するために、応答をクライアントに返します。 このパラメーターが要求に含まれている場合、応答は サーバー送信イベント 標準を使用して送信されます。

temperature

1.0

[0,2] の浮動小数点数

サンプリング温度。 0 は決定論的であり、値が大きいほどランダム性が高くなります。

top_p

1.0

浮動小数点数 (0,1)

核サンプリングに使用される確率しきい値。

top_k

nil

0 または nilより大きい整数で、無限大を表します。

top-k-フィルタリングに使用する可能性が最も高いk個のトークンの数を定義します。 この値を 1 に設定すると、出力が確定的になります。

error_behavior

"error"

"truncate" または "error"

タイムアウトおよびコンテキスト長超過エラーの場合。 "truncate" (できるだけ多くのトークンを返す) と "error" (エラーを返す) のいずれかです。このパラメーターは、トークンごとの支払いエンドポイントでのみ受け入れられます。

n

1

0 より大きい整数

nが指定されている場合、API はnの独立したチャット完了を返します。 推論の効率を高め、コストを削減するために、同じ入力で複数の入力候補を生成するワークロードに推奨されます。 プロビジョニングされたスループット エンドポイントでのみ使用できます。

stop

[]

文字列 または List[文字列]

モデルは、 stop 内のシーケンスのいずれかが検出されると、それ以上のトークンの生成を停止します。

suffix

""

文字列

すべての補完の末尾に追加される文字列。

echo

false

ブール値

プロンプトと完了を返します。

use_raw_prompt

false

ブール値

trueの場合、変換を行わずにpromptをモデルに直接渡します。

完了応答

フィールド

タイプ

説明

id

文字列

テキスト補完の一意の識別子。

choices

コンプリーションチョイス

テキスト補完のリスト。 渡されたプロンプトごとに、nが指定されている場合はn選択肢が生成されます。デフォルトのnは 1 です。

object

文字列

オブジェクトの種類。 等しい "text_completion"

created

整数タイプ

完了が生成された時間 (秒単位)。

usage

使用量

トークン使用状況メタデータ。

CompletionChoice

フィールド

タイプ

説明

index

整数タイプ

要求のプロンプトのインデックス。

text

文字列

生成された完了。

finish_reason

文字列

モデルがトークンの生成を停止した理由。

埋め込みタスク

埋め込みタスクは、入力文字列を埋め込みベクトルにマッピングします。 各要求で多くの入力をまとめてバッチ処理できます。

埋め込み要求

フィールド

タイプ

説明

input

文字列 または List[文字列]

埋め込む入力テキスト。 文字列または文字列のリストを指定できます。 (必須)

instruction

文字列

埋め込みモデルに渡すオプションの命令。

手順はオプションであり、モデル固有です。 たとえば、BGE の作成者は、チャンクのインデックス作成時に命令を推奨しておらず、検索クエリーに命令 "Represent this sentence for searching relevant passages:" を使用することを推奨しています。 Instructor-XLなどの他のモデルは、幅広い命令文字列をサポートしています。

埋め込み応答

フィールド

タイプ

説明

id

文字列

埋め込みの一意の識別子。

object

文字列

オブジェクトの種類。 "list"に等しい。

model

文字列

埋め込みの作成に使用された埋め込みモデルの名前。

data

EmbeddingObject (埋め込みオブジェクト)

埋め込みオブジェクト。

usage

使用量

トークン使用状況メタデータ。

EmbeddingObject

フィールド

タイプ

説明

object

文字列

オブジェクトの種類。 "embedding"に等しい。

index

整数タイプ

モデルによって生成された埋め込みのリスト内の埋め込みのインデックス。

embedding

List[浮動小数点数]

埋め込みベクトル。 各モデルは固定サイズのベクトル (BGE-Large の場合は 1024) を返します。