Referens: Chatten har slutförts | Azure AI Foundry
Viktigt!
Objekt markerade (förhandsversion) i den här artikeln är för närvarande i offentlig förhandsversion. Den här förhandsversionen tillhandahålls utan ett serviceavtal och vi rekommenderar det inte för produktionsarbetsbelastningar. Vissa funktioner kanske inte stöds eller kan vara begränsade. Mer information finns i Kompletterande villkor för användning av Microsoft Azure-förhandsversioner.
Skapar ett modellsvar för den angivna chattkonversationen.
POST /chat/completions?api-version=2024-04-01-preview
URI-parametrar
Name | I | Obligatoriskt | Type | Beskrivning |
---|---|---|---|---|
api-version | query | Sant | sträng | Versionen av API:et i formatet "ÅÅÅÅ-MM-DD" eller "ÅÅÅÅ-MM-DD-preview". |
Begärandehuvud
Namn | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
extraparametrar | sträng | Beteendet för API:et när extra parametrar anges i nyttolasten. Med gör pass-through api:et att skicka parametern till den underliggande modellen. Använd det här värdet när du vill skicka parametrar som du vet att den underliggande modellen kan stödja. Med hjälp av ignore får API:et att släppa valfri parameter som inte stöds. Använd det här värdet när du behöver använda samma nyttolast i olika modeller, men en av de extra parametrarna kan göra att en modell felar ut om den inte stöds. Api error :et används för att avvisa eventuella extra parametrar i nyttolasten. Endast parametrar som anges i det här API:et kan anges eller så returneras ett 400-fel. |
|
azureml-model-deployment | sträng | Namnet på den distribution som du vill dirigera begäran till. Stöds för slutpunkter som stöder flera distributioner. |
Begärandetext
Namn | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
modell | sträng | Modellnamnet. Den här parametern ignoreras om slutpunkten endast hanterar en modell. | |
meddelanden | Sant | ChatCompletionRequestMessage | En lista över meddelanden som består av konversationen hittills. Returnerar ett 422-fel om åtminstone vissa meddelanden inte kan tolkas av modellen. |
frequency_penalty | Nummer | Hjälper till att förhindra upprepningar av ord genom att minska risken för att ett ord väljs om det redan har använts. Desto högre frekvensstraff, desto mindre sannolikt är det att modellen upprepar samma ord i sina utdata. Returnera ett 422-fel om värdet eller parametern inte stöds av modellen. | |
max_tokens | integer | Det maximala antalet token som kan genereras i chattens slutförande. Den totala längden på indatatoken och genererade token begränsas av modellens kontextlängd. Om du skickar null används den maximala kontextlängden för modellen. |
|
presence_penalty | Nummer | Hjälper till att förhindra att samma ämnen upprepas genom att straffa ett ord om det redan finns i slutförandet, även bara en gång. Returnera ett 422-fel om värdet eller parametern inte stöds av modellen. | |
response_format | ChatCompletionResponseFormat | ||
frö | integer | Om det anges gör vårt system bästa för att sampla deterministiskt, så att upprepade begäranden med samma seed och parametrar ska returnera samma resultat. Determinism är inte garanterad och du bör referera till svarsparametern system_fingerprint för att övervaka ändringar i serverdelen. |
|
Stanna | Sekvenser där API:et slutar generera ytterligare token. | ||
ström | boolean | Om det anges skickas partiella meddelandedelta. Token skickas som serverutsända händelser endast för data när de blir tillgängliga, och strömmen avslutas av ett data: [DONE] meddelande. |
|
temperatur | Nummer | Icke-negativt tal. Returnera 422 om värdet inte stöds av modellen. | |
tool_choice | ChatCompletionToolChoiceOption | Styr vilken (om någon) funktion som anropas av modellen. none innebär att modellen inte anropar en funktion och i stället genererar ett meddelande. auto innebär att modellen kan välja mellan att generera ett meddelande eller anropa en funktion. Om du anger en viss funktion via {"type": "function", "function": {"name": "my_function"}} tvingar modellen att anropa den funktionen.none är standard när det inte finns några funktioner. auto är standardvärdet om det finns funktioner. Returnerar ett 422-fel om verktyget inte stöds av modellen. |
|
verktyg | ChatCompletionTool[] | En lista över verktyg som modellen kan anropa. För närvarande stöds endast funktioner som ett verktyg. Använd detta för att ange en lista över funktioner som modellen kan generera JSON-indata för. Returnerar ett 422-fel om verktyget inte stöds av modellen. | |
top_p | Nummer | Ett alternativ till sampling med temperatur, som kallas kärnsampling, där modellen tar hänsyn till resultatet av token med top_p sannolikhetsmassa. Så 0,1 innebär att endast token som består av den översta 10 % sannolikhetsmassan beaktas. Vi rekommenderar vanligtvis att du ändrar detta eller temperature men inte båda. |
Svar
Namn | Type | Beskrivning |
---|---|---|
200 OK | CreateChatCompletionResponse | OK |
401 – Ej behörig | UnauthorizedError | Åtkomsttoken saknas eller är ogiltig Sidhuvuden x-ms-error-code: string |
404 – Hittades inte | NotFoundError | Modalitet stöds inte av modellen. Kontrollera dokumentationen för modellen för att se vilka vägar som är tillgängliga. Sidhuvuden x-ms-error-code: string |
422 Entitet som inte kan bearbetas | UnprocessableContentError | Begäran innehåller oförbearbetat innehåll Sidhuvuden x-ms-error-code: string |
429 För många förfrågningar | TooManyRequestsError | Du har nått den tilldelade hastighetsgränsen och din begäran måste ökas i takt. Sidhuvuden x-ms-error-code: string |
Andra statuskoder | ContentFilterError | Felaktig begäran Sidhuvuden x-ms-error-code: string |
Säkerhet
Auktorisering
Token med prefixet Bearer:
, t.ex. Bearer abcde12345
Typ: apiKey
I: rubrik
AADToken
Azure Active Directory OAuth2-autentisering
Typ: oauth2
Flöde: program
Token-URL: https://login.microsoftonline.com/common/oauth2/v2.0/token
Exempel
Skapar ett modellsvar för den angivna chattkonversationen
Exempelförfrågan
POST /chat/completions?api-version=2024-04-01-preview
{
"messages": [
{
"role": "system",
"content": "You are a helpful assistant"
},
{
"role": "user",
"content": "Explain Riemann's conjecture"
},
{
"role": "assistant",
"content": "The Riemann Conjecture is a deep mathematical conjecture around prime numbers and how they can be predicted. It was first published in Riemann's groundbreaking 1859 paper. The conjecture states that the Riemann zeta function has its zeros only at the negative even integers and complex numbers with real part 1/21. Many consider it to be the most important unsolved problem in pure mathematics. The Riemann hypothesis is a way to predict the probability that numbers in a certain range are prime that was also devised by German mathematician Bernhard Riemann in 18594."
},
{
"role": "user",
"content": "Ist it proved?"
}
],
"frequency_penalty": 0,
"presence_penalty": 0,
"max_tokens": 256,
"seed": 42,
"stop": "<|endoftext|>",
"stream": false,
"temperature": 0,
"top_p": 1,
"response_format": { "type": "text" }
}
Exempelsvar
Statuskod: 200
{
"id": "1234567890",
"model": "llama2-70b-chat",
"choices": [
{
"index": 0,
"finish_reason": "stop",
"message": {
"role": "assistant",
"content": "No, it has never been proved"
}
}
],
"created": 1234567890,
"object": "chat.completion",
"usage": {
"prompt_tokens": 205,
"completion_tokens": 5,
"total_tokens": 210
}
}
Definitioner
Name | beskrivning |
---|---|
ChatCompletionRequestMessage | |
ChatCompletionMessageContentPart | |
ChatCompletionMessageContentPartType | |
ChatCompletionToolChoiceOption | Styr vilken (om någon) funktion som anropas av modellen. none innebär att modellen inte anropar en funktion och i stället genererar ett meddelande. auto innebär att modellen kan välja mellan att generera ett meddelande eller anropa en funktion. Om du anger en viss funktion via {"type": "function", "function": {"name": "my_function"}} tvingar modellen att anropa den funktionen.none är standard när det inte finns några funktioner. auto är standardvärdet om det finns funktioner. Returnerar ett 422-fel om verktyget inte stöds av modellen. |
ChatCompletionFinishReason | Anledningen till att modellen slutade generera token. Det här är stop om modellen träffar en naturlig stopppunkt eller en angiven stoppsekvens, length om det maximala antalet token som anges i begäran har nåtts, content_filter om innehållet utelämnades på grund av en flagga från våra innehållsfilter, tool_calls om modellen kallade ett verktyg. |
ChatCompletionMessageToolCall | |
ChatCompletionObject | Objekttypen, som alltid chat.completion är . |
ChatCompletionResponseFormat | Svarsformatet för modellsvaret. Inställningen för att json_object aktivera JSON-läge, vilket garanterar att meddelandet som modellen genererar är giltigt JSON. När du använder JSON-läge måste du också instruera modellen att skapa JSON själv via ett system- eller användarmeddelande. Observera också att meddelandeinnehållet kan vara delvis avskuret om finish_reason="length" , vilket indikerar att genereringen överskreds max_tokens eller konversationen överskred den maximala kontextlängden. |
ChatCompletionResponseFormatType | Typ av svarsformat. |
ChatCompletionResponseMessage | Ett meddelande om att chatten har slutförts som genererats av modellen. |
ChatCompletionTool | |
ChatMessageRole | Rollen som författare till det här meddelandet. |
Choices | En lista över alternativ för chattens slutförande. |
CompletionUsage | Användningsstatistik för slutförandebegäran. |
ContentFilterError | API-anropet misslyckas när kommandotolken utlöser ett innehållsfilter som konfigurerats. Ändra kommandotolken och försök igen. |
CreateChatCompletionRequest | |
CreateChatCompletionResponse | Representerar ett svar för chattens slutförande som returneras av modellen, baserat på de angivna indata. |
Detalj | Information om felet UnprocessableContentError . |
Funktion | Den funktion som modellen anropade. |
FunctionObject | Definition av en funktion som modellen har åtkomst till. |
ImageDetail | Anger detaljnivån för bilden. |
NotFoundError | Vägen är inte giltig för den distribuerade modellen. |
ToolType | Verktygets typ. För närvarande stöds endast function . |
TooManyRequestsError | Du har nått din tilldelade hastighetsgräns och dina begäranden måste ökas i takt. |
UnauthorizedError | Autentisering saknas eller är ogiltig. |
UnprocessableContentError | Begäran innehåller oförbearbetat innehåll. Felet returneras när nyttolasten som anges är giltig enligt den här specifikationen. Vissa av instruktionerna som anges i nyttolasten stöds dock inte av den underliggande modellen. Använd avsnittet details för att förstå den felande parametern. |
ChatCompletionFinishReason
Anledningen till att modellen slutade generera token. Det här är stop
om modellen träffar en naturlig stopppunkt eller en angiven stoppsekvens, length
om det maximala antalet token som anges i begäran har nåtts, content_filter
om innehållet utelämnades på grund av en flagga från våra innehållsfilter, tool_calls
om modellen kallade ett verktyg.
Namn | Type | Beskrivning |
---|---|---|
content_filter | sträng | |
längd | sträng | |
Stanna | sträng | |
tool_calls | sträng |
ChatCompletionMessageToolCall
Namn | Type | Beskrivning |
---|---|---|
function | Funktion | Den funktion som modellen anropade. |
ID | sträng | ID:t för verktygsanropet. |
type | ToolType | Verktygets typ. För närvarande stöds endast function . |
ChatCompletionObject
Objekttypen, som alltid chat.completion
är .
Namn | Type | Beskrivning |
---|---|---|
chat.completion | sträng |
ChatCompletionResponseFormat
Svarsformatet för modellsvaret. Inställningen för att json_object
aktivera JSON-läge, vilket garanterar att meddelandet som modellen genererar är giltigt JSON. När du använder JSON-läge måste du också instruera modellen att skapa JSON själv via ett system- eller användarmeddelande. Observera också att meddelandeinnehållet kan vara delvis avskuret om finish_reason="length"
, vilket indikerar att genereringen överskreds max_tokens
eller konversationen överskred den maximala kontextlängden.
Namn | Type | Beskrivning |
---|---|---|
type | ChatCompletionResponseFormatType | Typ av svarsformat. |
ChatCompletionResponseFormatType
Typ av svarsformat.
Namn | Type | Beskrivning |
---|---|---|
json_object | sträng | |
text | sträng |
ChatCompletionResponseMessage
Ett meddelande om att chatten har slutförts som genererats av modellen.
Namn | Type | Beskrivning |
---|---|---|
innehåll | sträng | Innehållet i meddelandet. |
roll | ChatMessageRole | Rollen som författare till det här meddelandet. |
tool_calls | ChatCompletionMessageToolCall[] | Verktyget anropar som genereras av modellen, till exempel funktionsanrop. |
ChatCompletionTool
Namn | Type | Beskrivning |
---|---|---|
function | FunctionObject | |
type | ToolType | Verktygets typ. För närvarande stöds endast function . |
ChatMessageRole
Rollen som författare till det här meddelandet.
Namn | Type | Beskrivning |
---|---|---|
assistent | sträng | |
system | sträng | |
verktyg | sträng | |
användare | sträng |
Val
En lista över alternativ för chattens slutförande. Kan vara mer än en om n
är större än 1.
Namn | Type | Beskrivning |
---|---|---|
finish_reason | ChatCompletionFinishReason | Anledningen till att modellen slutade generera token. Det här är stop om modellen träffar en naturlig stopppunkt eller en angiven stoppsekvens, length om det maximala antalet token som anges i begäran har nåtts, content_filter om innehållet utelämnades på grund av en flagga från våra innehållsfilter, tool_calls om modellen kallade ett verktyg. |
index | integer | Valfritt index i listan med alternativ. |
meddelande | ChatCompletionResponseMessage | Ett meddelande om att chatten har slutförts som genererats av modellen. |
CompletionUsage
Användningsstatistik för slutförandebegäran.
Namn | Type | Beskrivning |
---|---|---|
completion_tokens | integer | Antal token i det genererade slutförandet. |
prompt_tokens | integer | Antal token i prompten. |
total_tokens | integer | Totalt antal token som används i begäran (fråga + slutförande). |
ContentFilterError
API-anropet misslyckas när kommandotolken utlöser ett innehållsfilter som konfigurerats. Ändra kommandotolken och försök igen.
Namn | Type | Beskrivning |
---|---|---|
kod | sträng | Felkoden. |
fel | sträng | Felbeskrivningen. |
meddelande | sträng | Felmeddelandet. |
Param | sträng | Parametern som utlöste innehållsfiltret. |
status | integer | HTTP-statuskoden. |
CreateChatCompletionRequest
Namn | Type | Standardvärde | beskrivning |
---|---|---|---|
frequency_penalty | Nummer | 0 | Hjälper till att förhindra upprepningar av ord genom att minska risken för att ett ord väljs om det redan har använts. Desto högre frekvensstraff, desto mindre sannolikt är det att modellen upprepar samma ord i sina utdata. Returnera ett 422-fel om värdet eller parametern inte stöds av modellen. |
max_tokens | integer | Det maximala antalet token som kan genereras i chattens slutförande. Den totala längden på indatatoken och genererade token begränsas av modellens kontextlängd. Om du skickar null används den maximala kontextlängden för modellen. |
|
meddelanden | ChatCompletionRequestMessage[] | En lista över meddelanden som består av konversationen hittills. Returnerar ett 422-fel om åtminstone vissa meddelanden inte kan tolkas av modellen. | |
presence_penalty | Nummer | 0 | Hjälper till att förhindra att samma ämnen upprepas genom att straffa ett ord om det redan finns i slutförandet, även bara en gång. Returnera ett 422-fel om värdet eller parametern inte stöds av modellen. |
response_format | ChatCompletionResponseFormat | text | |
frö | integer | Om det anges gör vårt system bästa för att sampla deterministiskt, så att upprepade begäranden med samma seed och parametrar ska returnera samma resultat. Determinism är inte garanterad och du bör referera till svarsparametern system_fingerprint för att övervaka ändringar i serverdelen. |
|
Stanna | Sekvenser där API:et slutar generera ytterligare token. | ||
ström | boolean | Falsk | Om det anges skickas partiella meddelandedelta. Token skickas som serverutsända händelser endast för data när de blir tillgängliga, och strömmen avslutas av ett data: [DONE] meddelande. |
temperatur | Nummer | 1 | Icke-negativt tal. Returnera 422 om värdet inte stöds av modellen. |
tool_choice | ChatCompletionToolChoiceOption | Styr vilken (om någon) funktion som anropas av modellen. none innebär att modellen inte anropar en funktion och i stället genererar ett meddelande. auto innebär att modellen kan välja mellan att generera ett meddelande eller anropa en funktion. Om du anger en viss funktion via {"type": "function", "function": {"name": "my_function"}} tvingar modellen att anropa den funktionen.none är standard när det inte finns några funktioner. auto är standardvärdet om det finns funktioner. Returnerar ett 422-fel om verktyget inte stöds av modellen. |
|
verktyg | ChatCompletionTool[] | En lista över verktyg som modellen kan anropa. För närvarande stöds endast funktioner som ett verktyg. Använd detta för att ange en lista över funktioner som modellen kan generera JSON-indata för. Returnerar ett 422-fel om verktyget inte stöds av modellen. | |
top_p | Nummer | 1 | Ett alternativ till sampling med temperatur, som kallas kärnsampling, där modellen tar hänsyn till resultatet av token med top_p sannolikhetsmassa. Så 0,1 innebär att endast token som består av den översta 10 % sannolikhetsmassan beaktas. Vi rekommenderar vanligtvis att du ändrar detta eller temperature men inte båda. |
ChatCompletionRequestMessage
Namn | Type | Beskrivning |
---|---|---|
innehåll | string eller ChatCompletionMessageContentPart[] | Innehållet i meddelandet. |
roll | ChatMessageRole | Rollen som författare till det här meddelandet. |
tool_calls | ChatCompletionMessageToolCall[] | Verktyget anropar som genereras av modellen, till exempel funktionsanrop. |
ChatCompletionMessageContentPart
Namn | Type | Beskrivning |
---|---|---|
innehåll | sträng | Antingen en URL för bilden eller base64-kodade bilddata. |
detalj | ImageDetail | Anger detaljnivån för bilden. |
type | ChatCompletionMessageContentPartType | Typ av innehållsdel. |
ChatCompletionMessageContentPartType
Namn | Type | Beskrivning |
---|---|---|
text | sträng | |
bild | sträng | |
image_url | sträng |
ChatCompletionToolChoiceOption
Styr vilket (om något) verktyg som anropas av modellen.
Namn | Type | Description |
---|---|---|
inget | sträng | Modellen anropar inte något verktyg och genererar i stället ett meddelande. |
auto | sträng | Modellen kan välja mellan att generera ett meddelande eller anropa ett eller flera verktyg. |
required | sträng | Modellen måste anropa ett eller flera verktyg. |
sträng | Att ange ett visst verktyg via {"type": "function", "function": {"name": "my_function"}} tvingar modellen att anropa verktyget. |
ImageDetail
Anger detaljnivån för bilden.
Namn | Type | Beskrivning |
---|---|---|
auto | sträng | |
Låg | sträng | |
hög | sträng |
CreateChatCompletionResponse
Representerar ett svar för chattens slutförande som returneras av modellen, baserat på de angivna indata.
Namn | Type | Beskrivning |
---|---|---|
Val | Alternativ[] | En lista över alternativ för chattens slutförande. Kan vara mer än en om n är större än 1. |
skapad | integer | Unix-tidsstämpeln (i sekunder) för när chatten slutfördes skapades. |
ID | sträng | En unik identifierare för chattens slutförande. |
modell | sträng | Modellen som används för chattens slutförande. |
objekt | ChatCompletionObject | Objekttypen, som alltid chat.completion är . |
system_fingerprint | sträng | Det här fingeravtrycket representerar serverdelskonfigurationen som modellen körs med. Kan användas tillsammans med parametern seed för begäran för att förstå när serverdelsändringar har gjorts som kan påverka determinismen. |
användning | CompletionUsage | Användningsstatistik för slutförandebegäran. |
Detalj
Information om felet UnprocessableContentError .
Namn | Type | Beskrivning |
---|---|---|
Loc | string[] | Parametern som orsakar problemet |
värde | sträng | Värdet som skickas till parametern som orsakar problem. |
Funktion
Den funktion som modellen anropade.
Namn | Type | Beskrivning |
---|---|---|
Argument | sträng | Argumenten för att anropa funktionen med, som genereras av modellen i JSON-format. Observera att modellen inte alltid genererar giltig JSON och kan generera felaktiga parametrar som inte definierats av funktionsschemat. Verifiera argumenten i koden innan du anropar funktionen. |
name | sträng | Namnet på funktionen som ska anropas. |
FunctionObject
Definition av en funktion som modellen har åtkomst till.
Namn | Type | Beskrivning |
---|---|---|
description | sträng | En beskrivning av vad funktionen gör, som används av modellen för att välja när och hur funktionen ska anropas. |
name | sträng | Namnet på den funktion som ska anropas. Måste vara a-z, A-Z, 0-9, eller innehålla understreck och bindestreck, med en maximal längd på 64. |
parametrar | objekt | Parametrarna som funktionerna accepterar, som beskrivs som ett JSON-schemaobjekt. Om du utelämnar parameters definieras en funktion med en tom parameterlista. |
NotFoundError
Namn | Type | Beskrivning |
---|---|---|
fel | sträng | Felbeskrivningen. |
meddelande | sträng | Felmeddelandet. |
status | integer | HTTP-statuskoden. |
ToolType
Verktygets typ. För närvarande stöds endast function
.
Namn | Type | Beskrivning |
---|---|---|
function | sträng |
TooManyRequestsError
Namn | Type | Beskrivning |
---|---|---|
fel | sträng | Felbeskrivningen. |
meddelande | sträng | Felmeddelandet. |
status | integer | HTTP-statuskoden. |
UnauthorizedError
Namn | Type | Beskrivning |
---|---|---|
fel | sträng | Felbeskrivningen. |
meddelande | sträng | Felmeddelandet. |
status | integer | HTTP-statuskoden. |
UnprocessableContentError
Begäran innehåller oförbearbetat innehåll. Felet returneras när nyttolasten som anges är giltig enligt den här specifikationen. Vissa av instruktionerna som anges i nyttolasten stöds dock inte av den underliggande modellen. Använd avsnittet details
för att förstå den felande parametern.
Namn | Type | Beskrivning |
---|---|---|
kod | sträng | Felkoden. |
detalj | Detalj | |
fel | sträng | Felbeskrivningen. |
meddelande | sträng | Felmeddelandet. |
status | integer | HTTP-statuskoden. |