Share via


Rest API-referens för foundation-modell

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

Varje modell för betala per token har en enda slutpunkt och användarna kan interagera med dessa slutpunkter med HJÄLP av HTTP POST-begäranden. Etablerade dataflödesslutpunkter kan skapas med hjälp av API:et eller servergränssnittet. Dessa slutpunkter stöder också 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.

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.

Betala per token-arbetsbelastningar stöder vissa modeller, se Modeller som stöds för betala per token för dessa modeller och godkända API-format.

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 Type Beskrivning
completion_tokens Integer Antal genererade token. Ingår inte i inbäddningssvar.
prompt_tokens Integer Antal token från indataprompterna.
total_tokens Integer Antal totalt antal token.

För modeller som llama-2-70b-chat en användarprompt transformeras 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.

Chattaktivitet

Chattuppgifter är optimerade för konversationer med flera turer med en modell. Varje begäran beskriver konversationen hittills, där fältet messages måste växla mellan user och assistant roller, vilket slutar med ett user meddelande. Modellsvaret innehåller nästa assistant meddelande i konversationen.

Chattbegäran

Fält Standardvärde Typ Beskrivning
messages ChatMessage-lista En lista över meddelanden som representerar den aktuella konversationen. (Krävs)
max_tokens nil Heltal större än noll eller nil, vilket representerar oändligheten Det maximala antalet token som ska genereras.
stream true Booleskt Stream-svar tillbaka till en klient för att tillåta partiella resultat för begäranden. Om den här parametern ingår i begäran skickas svar med hjälp av standard för serverutskickade 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 (0,1] Det sannolikhetströskelvärde som används för kärnsampling.
top_k nil Heltal större än noll eller nil, vilket representerar oändligheten Definierar antalet k mest sannolika 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.

ChatMessage

Fält Type Description
role String Obligatoriskt. Rollen som meddelandeförfattare. Kan vara "system", "user"eller "assistant".
content String Obligatoriska. Innehållet i meddelandet. (Krävs)

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

Chattsvar

För icke-direktuppspelningsbegäranden är svaret ett enda chattavslutande objekt. 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: den har bara choices en annan typ.

Fält Type Description
id String Unik identifierare för chattens slutförande.
choices List[ChatCompletionChoice] eller List[ChatCompletionChunk] (strömning) Lista över texterna för chattens slutförande. n val returneras om parametern n har angetts.
object String Objekttypen. Lika med antingen "chat.completions" för icke-direktuppspelning eller "chat.completion.chunk" för direktuppspelning.
created Integer Tiden då chatten slutfördes genererades i sekunder.
model String Den modellversion som används för att generera svaret.
usage Användning Metadata för tokenanvändning. Kanske inte finns på strömningssvar.

ChatCompletionChoice

Fält Type Beskrivning
index Integer Valfritt index i listan över genererade alternativ.
message ChatMessage Ett meddelande om att chatten har slutförts returneras av modellen. Rollen blir assistant.
finish_reason String Anledningen till att modellen slutade generera token.

ChatCompletionChunk

Fält Type Beskrivning
index Integer Valfritt index 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 är garanterat role fyllt.
finish_reason String Anledningen till att modellen slutade generera token. Endast det sista segmentet kommer att ha detta ifyllt.

Slutförandeaktivitet

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 batchindata: flera oberoende frågor kan skickas i en begäran.

Slutförandebegäran

Fält Standardvärde Typ Beskrivning
prompt Sträng eller lista[Sträng] Uppmaningen till modellen. (Krävs)
max_tokens nil Heltal större än noll eller nil, vilket representerar oändligheten Det maximala antalet token som ska genereras.
stream true Booleskt Stream-svar tillbaka till en klient för att tillåta partiella resultat för begäranden. Om den här parametern ingår i begäran skickas svar med hjälp av standard för serverutskickade 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 (0,1] Det sannolikhetströskelvärde som används för kärnsampling.
top_k nil Heltal större än noll eller nil, vilket representerar oändligheten Definierar antalet k mest sannolika 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 timeouter och fel med kontextlängd överskreds. En av: "truncate" (returnera så många token som möjligt) och "error" (returnera ett fel). Den här parametern godkänns endast av betala per tokenslutpunkter.
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 "" String En sträng som läggs till i slutet av varje slutförande.
echo false Booleskt Returnerar kommandotolken tillsammans med slutförandet.
use_raw_prompt false Booleskt Om trueskickar du prompt direkt till modellen utan någon transformering.

Svar på slutförande

Fält Type Description
id String 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 det anges. Standardvärdet n är 1.
object String Objekttypen. Lika med "text_completion"
created Integer Den tid då slutförandet genererades i sekunder.
usage Användning Metadata för tokenanvändning.

CompletionChoice

Fält Type Beskrivning
index Integer Indexet för prompten i begäran.
text String Det genererade slutförandet.
finish_reason String Anledningen till att modellen slutade generera token.

Inbäddningsaktivitet

Inbäddningsuppgifter mappar indatasträngar till inbäddningsvektorer. Många indata kan batchas tillsammans i varje begäran.

Inbäddningsbegäran

Fält Type Beskrivning
input Sträng eller lista[Sträng] Indatatexten som ska bäddas in. Kan vara en sträng eller en lista med strängar. (Krävs)
instruction String 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 Type Description
id String Unik identifierare för inbäddningen.
object String Objekttypen. Lika med "list".
model String 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 Type Description
object String Objekttypen. Lika med "embedding".
index Integer 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