Dela via


Referens för REST API för grundmodell

Den här artikeln innehåller allmän API-information för Databricks Foundation-modell-API:er och de modeller som de stöder. API:erna för Foundation Model är utformade för att likna OpenAI:s REST API för att underlätta migreringen av befintliga projekt. Både pay-per-token och etablerade dataflödesslutpunkter accepterar samma REST API-begärandeformat.

slutpunkter

Foundation Model-API:er stöder slutpunkter för tokenbaserad betalning och slutpunkter med provisionerad genomströmning.

En förkonfigurerad slutpunkt är tillgänglig på din arbetsyta för varje modell som stöds med betala per token och användarna kan interagera med dessa slutpunkter med HJÄLP av HTTP POST-begäranden. Se Betalning per token för de modeller som stöds.

Tilldelade genomströmingsslutpunkter kan skapas med hjälp av API:et eller användargränssnittet. Dessa slutpunkter stöder flera modeller per slutpunkt för A/B-testning, så länge båda de hanterade modellerna exponerar samma API-format. Båda modellerna är till exempel chattmodeller. Se POST /api/2.0/serving-endpoints för slutpunktskonfigurationsparametrar.

Begäranden och svar använder JSON, den exakta JSON-strukturen beror på en slutpunkts aktivitetstyp. Slutpunkter för chatt och slutförande stöder direktuppspelningssvar.

Användning

Svaren innehåller ett usage undermeddelande som rapporterar antalet token i begäran och svaret. Formatet för det här undermeddelandet är detsamma för alla aktivitetstyper.

Fält Typ Beskrivning
completion_tokens Heltal Antal genererade token. Ingår inte i inbäddningssvar.
prompt_tokens Heltal Antal token från indataprompterna.
total_tokens Heltal Totalt antal token.

För modeller som Meta-Llama-3.3-70B-Instruct omvandlas en användarprompt med hjälp av en promptmall innan den skickas till modellen. För pay-per-token-slutpunkter kan en systemprompt också läggas till. prompt_tokens innehåller all text som läggs till av servern.

chattuppgift

Chattuppgifter är optimerade för konversationer med flera turer med en modell. Modellsvaret innehåller nästa meddelande assistant i konversationen. Se POST /serving-endpoints/{name}/invocations för att fråga efter slutpunktsparametrar.

Chattbegäran

Fält Standard Typ Beskrivning
messages ChatMessage lista Krävs. En lista över meddelanden som representerar den aktuella konversationen.
max_tokens null null, vilket innebär att det inte finns någon gräns eller ett heltal som är större än noll Det maximala antalet token som ska genereras.
stream true Boolesk Skicka tillbaka svar till en klient för att tillåta partiella resultat för förfrågningar. Om den här parametern ingår i begäran, skickas svaren med hjälp av standarden för server-skickade händelser .
temperature 1.0 Flyttal i [0,2] Provtagningstemperaturen. 0 är deterministiska och högre värden ger mer slumpmässighet.
top_p 1.0 Flyttal i intervallet (0,1] Det sannolikhetströskelvärde som används för kärnsampling.
top_k null null, vilket innebär att det inte finns någon gräns eller ett heltal som är större än noll Definierar antalet mest sannolika k-token som ska användas för top-k-filtrering. Ange det här värdet till 1 för att göra utdata deterministiska.
stop [] Sträng eller lista [Sträng] Modellen slutar generera ytterligare token när någon av sekvenserna i stop påträffas.
n 1 Heltal större än noll API:et returnerar n oberoende chattavslut när n har angetts. Rekommenderas för arbetsbelastningar som genererar flera slutföranden på samma indata för ytterligare slutsatsdragningseffektivitet och kostnadsbesparingar. Endast tillgängligt för etablerade dataflödesslutpunkter.
tool_choice none Sträng eller ToolChoiceObject Används endast tillsammans med fältet tools. tool_choice stöder en mängd olika nyckelordssträngar, till exempel auto, requiredoch none. auto innebär att du låter modellen bestämma vilket (om något) verktyg som är relevant att använda. Med auto om modellen inte tror att något av verktygen i tools är relevanta genererar modellen ett standardassistentmeddelande i stället för ett verktygsanrop. required innebär att modellen väljer det mest relevanta verktyget i tools och måste generera ett verktygsanrop. none innebär att modellen inte genererar några verktygsanrop och i stället måste generera ett standardmeddelande för assistenten. Om du vill tvinga fram ett verktygsanrop med ett specifikt verktyg som definierats i toolsanvänder du en ToolChoiceObject. Om fältet tools fylls i som standard tool_choice = "auto". Annars har tools-fältet standardvärdet tool_choice = "none"
tools null ToolObject En lista över tools som modellen kan anropa. För närvarande är function den enda tool typen som stöds och högst 32 funktioner stöds.
response_format null ResponseFormatObject Ett objekt som anger det format som modellen måste mata ut. Godkända typer är text, json_schema eller json_object

Inställningen till { "type": "json_schema", "json_schema": {...} } aktiverar strukturerade utdata som säkerställer att modellen följer ditt angivna JSON-schema.

Inställningen till { "type": "json_object" } säkerställer att svaren som modellen genererar är giltig JSON, men ser inte till att svaren följer ett specifikt schema.
logprobs false Boolesk Den här parametern anger om du vill ange loggens sannolikhet för att en token samplas.
top_logprobs null Heltal Den här parametern styr antalet mest sannolika tokenkandidater att returnera loggannolikheter för vid varje samplingssteg. Kan vara 0-20. logprobs måste vara true om du använder det här fältet.

ChatMessage

Fält Typ Beskrivning
role Sträng Krävs. Rollen som meddelandeförfattare. Kan vara "system", "user", "assistant" eller "tool".
content Sträng Innehållet i meddelandet. Krävs för chattuppgifter som inte omfattar verktygsanrop.
tool_calls ToolCall lista Listan över tool_calls som modellen genererade. Måste ha role som "assistant" och ingen specifikation för fältet content.
tool_call_id Sträng När role är "tool", det ID som är associerat med ToolCall som meddelandet svarar på. Måste vara tomt för de andra role-alternativen.

Den system rollen kan bara användas en gång, som det första meddelandet i en konversation. Den åsidosätter modellens standardsystemprompt.

ToolCall

Ett förslag på verktygshandling från modellen. Se Funktionsanrop i Azure Databricks.

Fält Typ Beskrivning
id Sträng Krävs. En unik identifierare för det här verktygets anropsförslag.
type Sträng Krävs. Endast "function" stöds.
function FunctionCallCompletion Krävs. Ett funktionsanrop som föreslås av modellen.

FunctionCallCompletion

Fält Typ Beskrivning
name Sträng Krävs. Namnet på den funktion som modellen rekommenderade.
arguments Objekt Krävs. Argument till funktionen som en serialiserad JSON-ordlista.

ToolChoiceObject

Se Funktionsanrop i Azure Databricks.

Fält Typ Beskrivning
type Sträng Krävs. Verktygets typ. För närvarande stöds endast "function".
function Objekt Krävs. Ett objekt som definierar vilket verktyg som ska anropas av formuläret {"type": "function", "function": {"name": "my_function"}} där "my_function är namnet på en FunctionObject- i fältet tools.

ToolObject

Se Funktionsanrop i Azure Databricks.

Fält Typ Beskrivning
type Sträng Krävs. Verktygets typ. För närvarande stöds endast function.
function FunctionObject Krävs. Funktionsdefinitionen som är associerad med verktyget.

FunctionObject

Fält Typ Beskrivning
name Sträng Krävs. Namnet på den funktion som ska anropas.
description Objekt Krävs. Den detaljerade beskrivningen av funktionen. Modellen använder den här beskrivningen för att förstå funktionens relevans för prompten och generera verktygsanrop med högre noggrannhet.
parameters Objekt Parametrarna som funktionen accepterar, som beskrivs som ett giltigt JSON-schema objekt. Om verktyget anropas passar verktygsanropet till det JSON-schema som angetts. Om du utelämnar parametrar definieras en funktion utan några parametrar. Antalet properties är begränsat till 15 nycklar.
strict Boolesk Om du vill aktivera strikt schemaefterlevnad när funktionsanropet genereras. Om värdet är inställt på trueföljer modellen det exakta schemat som definierats i schemafältet. Endast en delmängd av JSON-schemat stöds när strikt är true

ResponseFormatObject

Se Strukturerade utdata på Azure Databricks.

Fält Typ Beskrivning
type Sträng Krävs. Vilken typ av svarsformat som definieras. Antingen text för ostrukturerad text, json_object för ostrukturerade JSON-objekt eller json_schema för JSON-objekt som följer ett specifikt schema.
json_schema JsonSchemaObject Krävs. JSON-schemat som ska följas om type är inställt på json_schema

JsonSchemaObject

Se Strukturerade utdata på Azure Databricks.

Fält Typ Beskrivning
name Sträng Krävs. Namnet på svarsformatet.
description Sträng En beskrivning av vad svarsformatet är till för, som används av modellen för att avgöra hur du ska svara i formatet.
schema Objekt Krävs. Schemat för svarsformatet, som beskrivs som ett JSON-schemaobjekt.
strict Boolesk Om du vill aktivera strikt schemaefterlevnad när utdata genereras. Om värdet är inställt på trueföljer modellen det exakta schemat som definierats i schemafältet. Endast en delmängd av JSON-schemat stöds när strikt är true

Chattsvar

För förfrågningar utan direktuppspelning är svaret ett enda chattkompletteringsobjekt. För direktuppspelningsbegäranden är svaret en text/event-stream där varje händelse är ett segmentobjekt för slutförande. Strukturen på den översta nivån för slutförande och segmentobjekt är nästan identisk: endast choices har en annan typ.

Fält Typ Beskrivning
id Sträng Unik identifierare för chattens slutförande.
choices List[ChatCompletionChoice] eller List[ChatCompletionChunk] (strömning) Lista över texterna för chattens slutförande. n alternativ returneras om parametern n anges.
object Sträng Objekttypen. Lika med antingen "chat.completions" för icke-direktuppspelning eller "chat.completion.chunk" för direktuppspelning.
created Heltal Tiden då chatten slutfördes genererades i sekunder.
model Sträng Den modellversion som används för att generera svaret.
usage Användning Metadata för tokenanvändning. Kan eventuellt saknas i svar från strömningstjänster.

ChatCompletionChoice

Fält Typ Beskrivning
index Heltal Indexet för valet i listan över genererade alternativ.
message ChatMessage Ett meddelande om att chatten har slutförts returneras av modellen. Rollen kommer att vara assistant.
finish_reason Sträng Anledningen till att modellen slutade generera token.

ChatCompletionChunk

Fält Typ Beskrivning
index Heltal Index för valet i listan över genererade alternativ.
delta ChatMessage Ett meddelande om att chatten har slutförts som en del av genererade strömmade svar från modellen. Endast det första segmentet garanteras att ha role ifyllt.
finish_reason Sträng Anledningen till att modellen slutade generera token. Endast det sista segmentet kommer att ha detta ifyllt.

slutföringsuppgift

Uppgifter för textkomplettering är till för att generera svar på en enda fråga. Till skillnad från Chat stöder den här uppgiften batchhantering: flera oberoende uppmaningar kan skickas i en och samma begäran. Se POST /serving-endpoints/{name}/invocations för att fråga efter slutpunktsparametrar.

Slutförandebegäran

Fält Standard Typ Beskrivning
prompt Sträng eller lista[Sträng] Krävs. Anvisningarna för modellen.
max_tokens null null, vilket innebär att det inte finns någon gräns eller ett heltal som är större än noll Det maximala antalet token som ska genereras.
stream true Boolesk Skicka tillbaka svar till en klient för att tillåta partiella resultat för förfrågningar. Om den här parametern ingår i begäran, skickas svaren med hjälp av standarden för server-skickade händelser .
temperature 1.0 Flyttal i [0,2] Provtagningstemperaturen. 0 är deterministiska och högre värden ger mer slumpmässighet.
top_p 1.0 Flyttal i intervallet (0,1] Det sannolikhetströskelvärde som används för kärnsampling.
top_k null null, vilket innebär att det inte finns någon gräns eller ett heltal som är större än noll Definierar antalet mest sannolika k-token som ska användas för top-k-filtrering. Ange det här värdet till 1 för att göra utdata deterministiska.
error_behavior "error" "truncate" eller "error" För tidsgränser och fel som uppkommer när kontextlängden överskrids. En av: "truncate" (returnera så många token som möjligt) och "error" (returnera ett fel). Den här parametern accepteras endast av slutpunkter för betalning per token.
n 1 Heltal större än noll API:et returnerar n oberoende chattavslut när n har angetts. Rekommenderas för arbetsbelastningar som genererar flera slutföranden på samma indata för ytterligare slutsatsdragningseffektivitet och kostnadsbesparingar. Endast tillgängligt för etablerade dataflödesslutpunkter.
stop [] Sträng eller lista[Sträng] Modellen slutar generera ytterligare token när någon av sekvenserna i stop påträffas.
suffix "" Sträng En sträng som läggs till i slutet av varje slutförande.
echo false Boolesk Returnerar uppmaningen tillsammans med slutförandet.
use_raw_prompt false Boolesk Om trueskickar du prompt direkt till modellen utan någon transformering.

Slutförandebesked

Fält Typ Beskrivning
id Sträng Unik identifierare för textens slutförande.
choices CompletionChoice En lista över textavslutningar. För varje fråga som skickas genereras n alternativ om n anges. Standard n är 1.
object Sträng Objekttypen. Lika med "text_completion"
created Heltal Den tid då slutförandet genererades i sekunder.
usage Användning Metadata för tokenanvändning.

CompletionChoice

Fält Typ Beskrivning
index Heltal Indexet för prompten i begäran.
text Sträng Det genererade slutförandet.
finish_reason Sträng Anledningen till att modellen slutade generera token.

inbäddningsuppgift

Inbäddningsuppgifter mappar indatasträngar till inbäddningsvektorer. Många indata kan batchas tillsammans i varje begäran. Se POST /serving-endpoints/{name}/invocations för att fråga efter slutpunktsparametrar.

Inbäddningsbegäran

Fält Typ Beskrivning
input Sträng eller lista [Sträng] Krävs. Indatatexten som ska bäddas in. Kan vara en sträng eller en lista med strängar.
instruction Sträng En valfri instruktion för att skicka till inbäddningsmodellen.

Instruktioner är valfria och mycket modellspecifika. Till exempel rekommenderar BGE-författarna ingen instruktion vid indexering av segment och rekommenderar att du använder instruktionen "Represent this sentence for searching relevant passages:" för hämtningsfrågor. Andra modeller som Instructor-XL stöder en mängd olika instruktionssträngar.

Inbäddningssvar

Fält Typ Beskrivning
id Sträng Unik identifierare för inbäddningen.
object Sträng Objekttypen. Lika med "list".
model Sträng Namnet på den inbäddningsmodell som används för att skapa inbäddningen.
data EmbeddingObject Inbäddningsobjektet.
usage Användning Metadata för tokenanvändning.

EmbeddingObject

Fält Typ Beskrivning
object Sträng Objekttypen. Lika med "embedding".
index Heltal Indexet för inbäddningen i listan över inbäddningar som genereras av modellen.
embedding Lista[Flyttal] Inbäddningsvektorn. Varje modell returnerar en vektor med fast storlek (1024 för BGE-Large)

Ytterligare resurser