Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek obsahuje obecné informace o rozhraní API pro rozhraní API modelu Databricks Foundation a modely, které podporují. Rozhraní API základního modelu jsou navržená tak, aby byla podobná rozhraní REST API OpenAI, aby se usnadnila migrace stávajících projektů. Koncové body s platbou za token i zřízenou propustností přijímají požadavky ve stejném formátu rozhraní REST API.
koncové body
Rozhraní API základních modelů podporují koncové body s platbou za token a koncové body s garantovanou propustností.
Předkonfigurovaný koncový bod je k dispozici ve vašem pracovním prostoru pro každý model podporovaný s platbami za token a uživatelé můžou s těmito koncovými body pracovat pomocí požadavků HTTP POST. Viz Podporované základní modely na platformě Mosaic AI Model Serving pro seznam podporovaných modelů.
Koncové body zřízené propustnosti je možné vytvořit pomocí rozhraní API neboobslužného uživatelského rozhraní . Tyto koncové body podporují více modelů na koncový bod pro testování A/B, pokud oba obsluhované modely zpřístupňují stejný formát rozhraní API. Oba modely jsou například modely chatu. Parametry konfigurace koncového bodu najdete v POST /api/2.0/serving-endpoints.
Požadavky a odpovědi používají JSON, přesná struktura JSON závisí na typu úlohy koncového bodu. Koncové body pro chat a generování dokončení podporují streamování odpovědí.
Použití
Odpovědi zahrnují dílčí zprávu usage, která hlásí počet tokenů v požadavku a odpovědi. Formát této dílčí zprávy je stejný pro všechny typy úkolů.
| Pole | Typ | Popis |
|---|---|---|
completion_tokens |
Celé číslo | Počet vygenerovaných tokenů Není zahrnuto ve vkládání odpovědí. |
prompt_tokens |
Celé číslo | Počet tokenů ze vstupních výzev |
total_tokens |
Celé číslo | Počet celkového počtu tokenů |
reasoning_tokens |
Celé číslo | Počet myšlenkových tokenů Platí pouze pro modely odůvodnění. |
U modelů, jako je databricks-meta-llama-3-3-70b-instruct, se výzva uživatele před předáním do modelu transformuje pomocí šablony výzvy. U koncových bodů s platbou za token může být přidána také systémová výzva.
prompt_tokens obsahuje veškerý text přidaný naším serverem.
Chatový úkol
Úkoly chatu jsou optimalizované pro víceotáčkové konverzace s modelem. Odpověď modelu poskytuje následující assistant zprávu v konverzaci. Viz POST /serving-endpoints/{name}/invocations pro dotazování parametrů koncového bodu.
Žádost o chat
| Pole | Výchozí | Typ | Popis |
|---|---|---|---|
messages |
ChatMessage seznam | Požadované. Seznam zpráv představujících aktuální konverzaci | |
max_tokens |
null |
null, což znamená bez omezení nebo celé číslo větší než nula |
Maximální počet tokenů, které se mají vygenerovat. |
stream |
true |
logický | Umožněte streamování odpovědí zpět klientovi, aby bylo možné poskytnout částečné výsledky pro požadavky. Pokud je tento parametr součástí požadavku, odpovědi se posílají pomocí standardu pro události zasílané serverem. |
temperature |
1.0 |
Plovoucí v [0,2] | Teplota vzorkování. Hodnota 0 je deterministická a vyšší hodnoty představují větší náhodnost. |
top_p |
1.0 |
Float v intervalu (0,1] | Prahová hodnota pravděpodobnosti použitá pro vzorkování jádra. |
top_k |
null |
null, což znamená bez omezení nebo celé číslo větší než nula |
Definuje počet nejpravděpodobnějších k tokenů pro použití při filtrování top-k. Nastavte tuto hodnotu na hodnotu 1, aby byl výstup deterministický. |
stop |
[] | Řetězec nebo Seznam [Řetězec] | Model přestane generovat další tokeny, když dojde k nějaké sekvenci v stop. |
n |
1 | Celé číslo větší než nula | Rozhraní API vrátí n nezávislé dokončování chatu při zadání n. Doporučuje se pro úlohy, které generují více dokončení na stejném vstupu pro další efektivitu odvozování a úsporu nákladů. K dispozici pouze pro koncové body s provisionovanou kapacitou propustnosti. |
tool_choice |
none |
String nebo ToolChoiceObject | Používá se pouze ve spojení s polem tools.
tool_choice podporuje různé řetězce klíčových slov, jako jsou auto, requireda none.
auto znamená, že necháte model rozhodnout, který nástroj je vhodné použít, pokud vůbec existuje. Pokud auto model nevěří, že některý z nástrojů tools je relevantní, model místo volání nástroje vygeneruje standardní zprávu asistenta.
required znamená, že model vybere nejrelevavantnější nástroj v tools a musí vygenerovat volání nástroje.
none znamená, že model negeneruje žádná volání nástrojů a místo toho musí vygenerovat standardní zprávu asistenta. Chcete-li vynutit volání nástroje s konkrétním nástrojem definovaným v tools, použijte ToolChoiceObject. Ve výchozím nastavení, pokud je pole tools vyplněno tool_choice = "auto". Jinak pole tools ve výchozím nastavení přebírá hodnotu tool_choice = "none". |
tools |
null |
ToolObject | Seznam tools, které model může volat. V současné době je function jediným podporovaným typem tool a podporuje se maximálně 32 funkcí. |
response_format |
null |
responseFormatObject | Objekt určující formát, který musí model vypíše. Akceptované typy jsou text, json_schema nebo json_objectNastavení { "type": "json_schema", "json_schema": {...} } umožňuje strukturované výstupy, které zajistí, že model následuje za zadaným schématem JSON.Nastavení { "type": "json_object" } zajišťuje, že odpovědi, které model vygeneruje, jsou platné JSON, ale nezajistí, aby odpovědi dodržovaly konkrétní schéma. |
logprobs |
false |
logický | Tento parametr určuje, jestli se má poskytnout logaritmická pravděpodobnost výběru tokenu. |
top_logprobs |
null |
Celé číslo | Tento parametr určuje počet nejpravděpodobnějších tokenů, pro které se v každém kroku vzorkování vrací logaritmované pravděpodobnosti. Může být 0–20.
logprobs musí být true, pokud se používá toto pole. |
reasoning_effort |
"medium" |
Řetězec | Řídí úroveň odůvodnění, které by model měl použít při generování odpovědí. Přijaté hodnoty jsou "low", "medium"nebo "high". Vyšší úsilí může vést k promyšlenějším a přesným odpovědím, ale může zvýšit latenci a využití tokenů. Tento parametr je přijímán pouze omezenou sadou modelů, včetně databricks-gpt-oss-120b a databricks-gpt-oss-20b. |
ChatMessage
| Pole | Typ | Popis |
|---|---|---|
role |
Řetězec |
Požadované. Role autora zprávy Může být "system", "user", "assistant" nebo "tool". |
content |
Řetězec | Obsah zprávy. Požadované pro úlohy chatu, které nezahrnují volání nástrojů. |
tool_calls |
seznam ToolCall | Seznam tool_calls, který model vygeneroval. Musí mít role jako "assistant" a žádné specifikace pro pole content. |
tool_call_id |
Řetězec | Když je role"tool", jedná se o ID přidružené ke ToolCall, na kterou zpráva odpovídá. Musí být prázdné pro ostatní možnosti role. |
Roli system lze použít jenom jednou, jako první zprávu v konverzaci. Přepíše výchozí systémovou výzvu modelu.
ToolCall
Návrh akce pro volání nástroje podle modelu. Viz volání funkce v Azure Databricks.
| Pole | Typ | Popis |
|---|---|---|
id |
Řetězec | Požadované. Jedinečný identifikátor pro návrh na volání tohoto nástroje. |
type |
Řetězec |
Požadované. Podporuje se jenom "function". |
function |
FunctionCallCompletion | Požadované. Volání funkce navrhované modelem |
cache_control |
Řetězec | Povolí ukládání do mezipaměti pro vaši žádost. Tento parametr přijímá pouze modely Claude hostované službou Databricks. Viz ukládání promptu do mezipaměti pro příklad. |
FunctionCallCompletion
| Pole | Typ | Popis |
|---|---|---|
name |
Řetězec | Povinné. Název funkce, kterou model doporučil. |
arguments |
Objekt | Povinné. Argumenty pro funkci ve formě serializovaného JSON slovníku. |
ToolChoiceObject
Viz volání funkce v Azure Databricks.
| Pole | Typ | Popis |
|---|---|---|
type |
Řetězec |
Požadované. Typ nástroje. V současné době se podporuje pouze "function". |
function |
Objekt |
Požadované. Objekt definující nástroj pro volání formuláře {"type": "function", "function": {"name": "my_function"}}, kde "my_function je název FunctionObject v poli tools. |
ToolObject
Viz volání funkce v Azure Databricks.
| Pole | Typ | Popis |
|---|---|---|
type |
Řetězec |
Požadované. Typ nástroje. V současné době se podporuje pouze function. |
function |
FunctionObject | Požadované. Definice funkce přidružená k nástroji. |
FunctionObject
ResponseFormatObject
Viz část Strukturované výstupy ve službě Azure Databricks.
| Pole | Typ | Popis |
|---|---|---|
type |
Řetězec |
Požadované. Typ formátu odpovědi, který se definuje. Buď text pro nestrukturovaný text, json_object pro nestrukturované objekty JSON, nebo json_schema pro objekty JSON, které dodržují konkrétní schéma. |
json_schema |
jsonSchemaObject |
Požadované. Schéma JSON, které se má dodržovat, pokud je type nastavená na json_schema |
JsonSchemaObject
Viz část Strukturované výstupy ve službě Azure Databricks.
| Pole | Typ | Popis |
|---|---|---|
name |
Řetězec | Požadované. Název formátu odpovědi. |
description |
Řetězec | Popis formátu odpovědi, který model používá k určení způsobu reakce v tomto formátu. |
schema |
Objekt | Požadované. Schéma pro formát odpovědi popsané jako objekt schématu JSON. |
strict |
logický | Zda povolit přísné dodržování schématu při generování výstupu. Pokud je nastavená hodnota true, model se řídí přesným schématem definovaným v poli schématu. Pokud je striktní true, podporuje se pouze podmnožina schématu JSON. |
Odpověď na chat
U požadavků, které nejsou streamované, je odpovědí jeden objekt dokončení chatu. U požadavků na streamování je odpověď ve formátu text/event-stream, kde každá událost je objekt kompletního segmentu. Struktura objektů dokončení a dílčích objektů nejvyšší úrovně je téměř identická: pouze choices má jiný typ.
| Pole | Typ | Popis |
|---|---|---|
id |
Řetězec | Jedinečný identifikátor dokončení chatu. |
choices |
List[ChatCompletionChoice] nebo List[ChatCompletionChunk] (streamování) | Seznam textových zpráv o dokončení chatu Volby n se vrátí, pokud je zadán parametr n. |
object |
Řetězec | Typ objektu. Rovná se buď "chat.completions" pro nestreamování, nebo "chat.completion.chunk" pro streamování. |
created |
Celé číslo | Doba, za kterou bylo dokončení chatu vygenerováno, vyjádřená v sekundách. |
model |
Řetězec | Verze modelu použitá k vygenerování odpovědi. |
usage |
Využití | Metadata použití tokenů. Na streamovacích odpovědích nemusí být přítomen. |
ChatCompletionChoice
| Pole | Typ | Popis |
|---|---|---|
index |
Celé číslo | Index výběru v seznamu vygenerovaných možností. |
message |
ChatMessage | Zpráva o dokončení chatu vrácená modelem Úloha bude assistant. |
finish_reason |
Řetězec | Důvod, proč model přestal generovat tokeny |
extra_fields |
Řetězec | Při použití proprietárních modelů od externích poskytovatelů modelů můžou rozhraní API poskytovatele obsahovat do odpovědí další metadata. Databricks tyto odpovědi filtruje a vrací pouze podmnožinu původních polí poskytovatele. Toto safetyRating je jediné dodatečné pole podporované v tuto chvíli, další podrobnosti najdete v dokumentaci Gemini . |
ChatCompletionChunk
| Pole | Typ | Popis |
|---|---|---|
index |
Celé číslo | Index výběru v seznamu vygenerovaných možností. |
delta |
ChatMessage | Zpráva o dokončení chatu, která je součástí vygenerovaných streamovaných odpovědí z modelu Je zaručeno, že pouze první blok dat bude mít role naplněno. |
finish_reason |
Řetězec | Důvod, proč model přestal generovat tokeny Pouze poslední blok bude mít tuto informaci vyplněnou. |
Dokončení úkolu
Úkoly dokončování textu slouží k generování odpovědí na jednu výzvu. Na rozdíl od chatu tato úloha podporuje dávkové vstupy: v jedné žádosti lze odeslat několik nezávislých výzev. Viz POST /serving-endpoints/{name}/invocations pro dotazování parametrů koncového bodu.
Žádost o dokončení
| Pole | Výchozí | Typ | Popis |
|---|---|---|---|
prompt |
Řetězec nebo Seznam [Řetězec] | Požadované. Výzvy pro model. | |
max_tokens |
null |
null, což znamená bez omezení nebo celé číslo větší než nula |
Maximální počet tokenů, které se mají vygenerovat. |
stream |
true |
logický | Umožněte streamování odpovědí zpět klientovi, aby bylo možné poskytnout částečné výsledky pro požadavky. Pokud je tento parametr součástí požadavku, odpovědi se posílají pomocí standardu pro události zasílané serverem. |
temperature |
1.0 |
Plovoucí v [0,2] | Teplota vzorkování. Hodnota 0 je deterministická a vyšší hodnoty představují větší náhodnost. |
top_p |
1.0 |
Float v intervalu (0,1] | Prahová hodnota pravděpodobnosti použitá pro vzorkování jádra. |
top_k |
null |
null, což znamená bez omezení nebo celé číslo větší než nula |
Definuje počet nejpravděpodobnějších k tokenů pro použití při filtrování top-k. Nastavte tuto hodnotu na hodnotu 1, aby byl výstup deterministický. |
error_behavior |
"error" |
"truncate" nebo "error" |
Chyby překročení časového limitu a chyby překročení délky kontextu. Jedna z těchto možností: "truncate" (vrácení co nejvíce tokenů) a "error" (vrácení chyby). Tento parametr je přijímán pouze koncovými body s platbou za token. |
n |
1 | Celé číslo větší než nula | Rozhraní API vrátí n nezávislé dokončování chatu při zadání n. Doporučuje se pro úlohy, které generují více dokončení na stejném vstupu pro další efektivitu odvozování a úsporu nákladů. K dispozici pouze pro koncové body s provisionovanou kapacitou propustnosti. |
stop |
[] | Řetězec nebo Seznam [Řetězec] | Model přestane generovat další tokeny, když dojde k nějaké sekvenci v stop. |
suffix |
"" |
Řetězec | Řetězec, který je připojen na konec každého dokončení. |
echo |
false |
logický | Vrátí výzvu k akci spolu s dokončením. |
use_raw_prompt |
false |
logický | Pokud true, předejte prompt přímo do modelu bez transformace. |
Odpověď na dokončení úkolu
| Pole | Typ | Popis |
|---|---|---|
id |
Řetězec | Jedinečný identifikátor pro dokončování textu. |
choices |
Výběr dokončení | Seznam dokončování textu. Při každém předání podnětu se vygenerují n volby, pokud je zadáno n. Výchozí n je 1. |
object |
Řetězec | Typ objektu. Rovná se "text_completion" |
created |
Celé číslo | Čas, kdy bylo dokončení vygenerováno, v sekundách. |
usage |
Využití | Metadata použití tokenů. |
CompletionChoice
| Pole | Typ | Popis |
|---|---|---|
index |
Celé číslo | Index výzvy v požadavku. |
text |
Řetězec | Vygenerované dokončení. |
finish_reason |
Řetězec | Důvod, proč model přestal generovat tokeny |
Úloha vkládání
Úkoly vkládání mapují vstupní řetězce na vektory vkládání. V každém požadavku je možné dosát dohromady mnoho vstupů. Viz POST /serving-endpoints/{name}/invocations pro dotazování parametrů koncového bodu.
Žádost o vložení
| Pole | Typ | Popis |
|---|---|---|
input |
Řetězec nebo Seznam [Řetězec] | Požadované. Vstupní text, který chcete vložit. Může to být řetězec nebo seznam řetězců. |
instruction |
Řetězec | Volitelná instrukce, která se má předat modelu vkládání. |
Pokyny jsou volitelné a vysoce specifické pro model. Autoři BGE například při indexování bloků dat nedoporučují žádné instrukce a doporučují používat instrukce "Represent this sentence for searching relevant passages:" pro načítání dotazů. Další modely, jako je Instructor-XL, podporují širokou škálu instrukčních řetězců.
Odpověď vkládání
| Pole | Typ | Popis |
|---|---|---|
id |
Řetězec | Jedinečný identifikátor pro vkládání. |
object |
Řetězec | Typ objektu. Rovná se "list". |
model |
Řetězec | Název modelu použitý k vytvoření vložení |
data |
EmbeddingObject | Embedující objekt. |
usage |
Využití | Metadata použití tokenů. |
EmbeddingObject
| Pole | Typ | Popis |
|---|---|---|
object |
Řetězec | Typ objektu. Rovná se "embedding". |
index |
Celé číslo | Index vkládání v seznamu vložených objektů vygenerovaných modelem. |
embedding |
Seznam[Float] | Vektor vkládání. Každý model vrátí vektor pevné velikosti (1024 pro BGE-Large). |