Dela via


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.