Naslaginformatie over REST API voor Foundation-model
Dit artikel bevat algemene API-informatie voor Databricks Foundation Model-API's en de modellen die ze ondersteunen. De Foundation Model-API's zijn ontworpen om vergelijkbaar te zijn met de REST API van OpenAI, zodat bestaande projecten eenvoudiger kunnen worden gemigreerd. Zowel het betalen per token als de ingerichte doorvoereindpunten accepteren dezelfde REST API-aanvraagindeling.
Eindpunten
Elk model met betalen per token heeft één eindpunt en gebruikers kunnen met deze eindpunten communiceren met behulp van HTTP POST-aanvragen. Ingerichte doorvoereindpunten kunnen worden gemaakt met behulp van de API of de gebruikersinterface van De server. Deze eindpunten ondersteunen ook meerdere modellen per eindpunt voor A/B-tests, zolang beide aangeboden modellen dezelfde API-indeling hebben. Beide modellen zijn bijvoorbeeld chatmodellen.
Aanvragen en antwoorden maken gebruik van JSON. De exacte JSON-structuur is afhankelijk van het taaktype van een eindpunt. Chat- en voltooiingseindpunten ondersteunen streamingantwoorden.
Workloads met betalen per token ondersteunen bepaalde modellen. Zie Ondersteunde modellen voor betalen per token voor deze modellen en geaccepteerde API-indelingen.
Gebruik
Antwoorden bevatten een usage
subbericht waarin het aantal tokens in de aanvraag en het antwoord wordt gerapporteerd. De indeling van dit subbericht is hetzelfde voor alle taaktypen.
Veld | Type | Description |
---|---|---|
completion_tokens |
Geheel getal | Aantal gegenereerde tokens. Niet opgenomen in het insluiten van antwoorden. |
prompt_tokens |
Geheel getal | Aantal tokens van de invoerprompt(s). |
total_tokens |
Geheel getal | Aantal totale tokens. |
Voor modellen zoals llama-2-70b-chat
een gebruikersprompt wordt getransformeerd met behulp van een promptsjabloon voordat deze in het model wordt doorgegeven. Voor eindpunten met betalen per token kan er ook een systeemprompt worden toegevoegd. prompt_tokens
bevat alle tekst die door onze server is toegevoegd.
Chattaak
Chattaken zijn geoptimaliseerd voor gesprekken met meerdere paden met een model. Elke aanvraag beschrijft het gesprek tot nu toe, waarbij het messages
veld moet wisselen tussen user
en assistant
rollen, eindigend met een user
bericht. Het antwoord van het model bevat het volgende assistant
bericht in het gesprek.
Chataanvraag
Veld | Default | Type | Description |
---|---|---|---|
messages |
ChatMessage-lijst | Een lijst met berichten die het huidige gesprek vertegenwoordigen. (Vereist) | |
max_tokens |
nil |
Geheel getal groter dan nul of nil , dat oneindigheid vertegenwoordigt |
Het maximum aantal tokens dat moet worden gegenereerd. |
stream |
true |
Booleaanse waarde | Stream antwoorden terug naar een client om gedeeltelijke resultaten voor aanvragen toe te staan. Als deze parameter is opgenomen in de aanvraag, worden antwoorden verzonden met behulp van de standaard voor door de server verzonden gebeurtenissen . |
temperature |
1.0 |
Zweven in [0,2] | De monsternametemperatuur. 0 is deterministisch en hogere waarden introduceren meer willekeurigheid. |
top_p |
1.0 |
Zweven in (0,1] | De waarschijnlijkheidsdrempel die wordt gebruikt voor kernsampling. |
top_k |
nil |
Geheel getal groter dan nul of nil , dat oneindigheid vertegenwoordigt |
Hiermee definieert u het aantal k-waarschijnlijke tokens dat moet worden gebruikt voor top-k-filtering. Stel deze waarde in op 1 om uitvoer deterministisch te maken. |
stop |
[] | Tekenreeks of lijst[tekenreeks] | Het model stopt met het genereren van verdere tokens wanneer een van de reeksen wordt stop aangetroffen. |
n |
1 | Geheel getal groter dan nul | De API retourneert n onafhankelijke chatvoltooiingen wanneer n deze is opgegeven. Aanbevolen voor workloads die meerdere voltooiingen genereren op dezelfde invoer voor extra deductie-efficiëntie en kostenbesparingen. Alleen beschikbaar voor ingerichte doorvoereindpunten. |
ChatMessage
Veld | Type | Omschrijving |
---|---|---|
role |
String | Vereist. De rol van de auteur van het bericht. De waarde kan "system" , "user" of "assistant" zijn. |
content |
String | Vereist. De inhoud van het bericht. (Vereist) |
De system
rol kan slechts eenmaal worden gebruikt, als het eerste bericht in een gesprek. De standaardsysteemprompt van het model wordt overschreven.
Chatantwoord
Voor niet-streaming-aanvragen is het antwoord één voltooiingsobject voor chats. Voor streaming-aanvragen is het antwoord een text/event-stream
waar elke gebeurtenis een segmentobject voor voltooiing is. De structuur op het hoogste niveau van voltooiings- en segmentobjecten is bijna identiek: alleen choices
heeft een ander type.
Veld | Type | Omschrijving |
---|---|---|
id |
String | Unieke id voor het voltooien van de chat. |
choices |
List[ChatCompletionChoice] of List[ChatCompletionChunk] (streaming) | Lijst met chatvoltooiingsteksten. n keuzes worden geretourneerd als de n parameter is opgegeven. |
object |
String | Het objecttype. Gelijk aan voor "chat.completions" niet-streaming of "chat.completion.chunk" voor streaming. |
created |
Geheel getal | De tijd waarop de chat is voltooid in seconden. |
model |
String | De modelversie die wordt gebruikt om het antwoord te genereren. |
usage |
Gebruik | Metagegevens van tokengebruik. Kan niet aanwezig zijn op streamingreacties. |
ChatCompletionChoice
Veld | Type | Description |
---|---|---|
index |
Geheel getal | De index van de keuze in de lijst met gegenereerde keuzes. |
message |
ChatMessage | Een chatvoltooiingsbericht dat door het model wordt geretourneerd. De rol is assistant . |
finish_reason |
String | De reden waarom het model geen tokens meer genereert. |
ChatCompletionChunk
Veld | Type | Description |
---|---|---|
index |
Geheel getal | De index van de keuze in de lijst met gegenereerde keuzes. |
delta |
ChatMessage | Een chat-voltooiingsbericht van gegenereerde gestreamde antwoorden van het model. Alleen het eerste segment is gegarandeerd role gevuld. |
finish_reason |
String | De reden waarom het model geen tokens meer genereert. Alleen het laatste segment heeft dit ingevuld. |
Voltooiingstaak
Taken voor tekstvoltooiing zijn bedoeld voor het genereren van antwoorden op één prompt. In tegenstelling tot Chat ondersteunt deze taak batchinvoer: meerdere onafhankelijke prompts kunnen in één aanvraag worden verzonden.
Voltooiingsaanvraag
Veld | Default | Type | Description |
---|---|---|---|
prompt |
Tekenreeks of lijst[tekenreeks] | De prompt(s) voor het model. (Vereist) | |
max_tokens |
nil |
Geheel getal groter dan nul of nil , dat oneindigheid vertegenwoordigt |
Het maximum aantal tokens dat moet worden gegenereerd. |
stream |
true |
Booleaanse waarde | Stream antwoorden terug naar een client om gedeeltelijke resultaten voor aanvragen toe te staan. Als deze parameter is opgenomen in de aanvraag, worden antwoorden verzonden met behulp van de standaard voor door de server verzonden gebeurtenissen . |
temperature |
1.0 |
Zweven in [0,2] | De monsternametemperatuur. 0 is deterministisch en hogere waarden introduceren meer willekeurigheid. |
top_p |
1.0 |
Zweven in (0,1] | De waarschijnlijkheidsdrempel die wordt gebruikt voor kernsampling. |
top_k |
nil |
Geheel getal groter dan nul of nil , dat oneindigheid vertegenwoordigt |
Hiermee definieert u het aantal k-waarschijnlijke tokens dat moet worden gebruikt voor top-k-filtering. Stel deze waarde in op 1 om uitvoer deterministisch te maken. |
error_behavior |
"error" |
"truncate" of "error" |
Voor time-outs en contextlengte overschreden fouten. Een van: "truncate" (retourneer zoveel mogelijk tokens) en "error" (retourneer een fout). Deze parameter wordt alleen geaccepteerd door eindpunten voor betalen per token. |
n |
1 | Geheel getal groter dan nul | De API retourneert n onafhankelijke chatvoltooiingen wanneer n deze is opgegeven. Aanbevolen voor workloads die meerdere voltooiingen genereren op dezelfde invoer voor extra deductie-efficiëntie en kostenbesparingen. Alleen beschikbaar voor ingerichte doorvoereindpunten. |
stop |
[] | Tekenreeks of lijst[tekenreeks] | Het model stopt met het genereren van verdere tokens wanneer een van de reeksen wordt stop aangetroffen. |
suffix |
"" |
String | Een tekenreeks die wordt toegevoegd aan het einde van elke voltooiing. |
echo |
false |
Booleaanse waarde | Retourneert de prompt samen met de voltooiing. |
use_raw_prompt |
false |
Booleaanse waarde | Als true , geeft u het prompt rechtstreeks door aan het model zonder enige transformatie. |
Voltooiingsreactie
Veld | Type | Omschrijving |
---|---|---|
id |
String | Unieke id voor de voltooiing van de tekst. |
choices |
CompletionChoice | Een lijst met tekstvoltooiingen. Voor elke prompt die wordt doorgegeven, n worden opties gegenereerd als n deze zijn opgegeven. De standaardwaarde n is 1. |
object |
String | Het objecttype. Gelijk aan "text_completion" |
created |
Geheel getal | De tijd waarop de voltooiing in seconden is gegenereerd. |
usage |
Gebruik | Metagegevens van tokengebruik. |
CompletionChoice
Veld | Type | Description |
---|---|---|
index |
Geheel getal | De index van de prompt in de aanvraag. |
text |
String | De gegenereerde voltooiing. |
finish_reason |
String | De reden waarom het model geen tokens meer genereert. |
Taak insluiten
Door taken in te sluiten, worden invoerreeksen toegewezen aan insluitingsvectoren. In elke aanvraag kunnen veel invoer in batches worden gebatcheerd.
Aanvraag voor insluiten
Veld | Type | Description |
---|---|---|
input |
Tekenreeks of lijst[tekenreeks] | De invoertekst die moet worden ingesloten. Dit kan een tekenreeks of een lijst met tekenreeksen zijn. (Vereist) |
instruction |
String | Een optionele instructie die moet worden doorgegeven aan het insluitmodel. |
Instructies zijn optioneel en zeer modelspecifiek. De BGE-auteurs raden bijvoorbeeld geen instructies aan bij het indexeren van segmenten en raden aan de instructie "Represent this sentence for searching relevant passages:"
te gebruiken voor het ophalen van query's. Andere modellen zoals Instructor-XL ondersteunen een breed scala aan instructietekenreeksen.
Antwoord insluiten
Veld | Type | Omschrijving |
---|---|---|
id |
String | Unieke id voor het insluiten. |
object |
String | Het objecttype. Gelijk aan "list" . |
model |
String | De naam van het insluitmodel dat wordt gebruikt voor het maken van de insluiting. |
data |
EmbeddingObject | Het insluitobject. |
usage |
Gebruik | Metagegevens van tokengebruik. |
EmbeddingObject
Veld | Type | Omschrijving |
---|---|---|
object |
String | Het objecttype. Gelijk aan "embedding" . |
index |
Geheel getal | De index van de insluiting in de lijst met insluitingen die door het model worden gegenereerd. |
embedding |
List[Float] | De insluitvector. Elk model retourneert een vector met vaste grootte (1024 voor BGE-Large) |
Aanvullende bronnen
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor