Sdílet prostřednictvím


Referenční informace: Dokončení chatu | Azure AI Studio

Důležité

Některé funkce popsané v tomto článku můžou být dostupné jenom ve verzi Preview. Tato verze Preview je poskytována bez smlouvy o úrovni služeb a nedoporučujeme ji pro produkční úlohy. Některé funkce se nemusí podporovat nebo mohou mít omezené možnosti. Další informace najdete v dodatečných podmínkách použití pro verze Preview v Microsoft Azure.

Vytvoří odpověď modelu pro danou chatovou konverzaci.

POST /chat/completions?api-version=2024-04-01-preview

Parametry identifikátoru URI

Název V Požaduje se Type Popis
verze-api query True string Verze rozhraní API ve formátu "RRRR-MM-DD" nebo "RRRR-MM-DD-preview".

Hlavička požadavku

Název Požadováno Type Popis
parametry navíc string Chování rozhraní API v případech, kdy jsou v datové části uvedeny další parametry. Díky použití allow rozhraní API předáte parametr podkladovému modelu. Tuto hodnotu použijte, pokud chcete předat parametry, které znáte, že základní model může podporovat. Pomocí drop rozhraní API zahodíte nepodporovaný parametr. Tuto hodnotu použijte, pokud potřebujete použít stejnou datovou část v různých modelech, ale jeden z dalších parametrů může model v případě, že není podporován, chybovat. Použití error rozhraní API zamítá všechny další parametry v datové části. Dají se určit pouze parametry zadané v tomto rozhraní API nebo se vrátí chyba 400.
azureml-model-deployment string Název nasazení, na které chcete požadavek směrovat. Podporováno pro koncové body, které podporují více nasazení.

Text požadavku

Název Požadováno Type Popis
zprávy True ChatCompletionRequestMessage Seznam zpráv, které tvoří dosud konverzaci. Vrátí chybu 422, pokud model nerozumí alespoň některým zprávům.
frequency_penalty Číslo Pomáhá zabránit opakování slov snížením pravděpodobnosti výběru slova, pokud už bylo použito. Čím vyšší je trest frekvence, tím méně pravděpodobné je, že model bude ve výstupu opakovat stejná slova. Vrátí chybu 422, pokud model nepodporuje hodnotu nebo parametr.
max_tokens integer Maximální počet tokenů, které lze vygenerovat v dokončení chatu.

Celková délka vstupních tokenů a vygenerovaných tokenů je omezená délkou kontextu modelu. Předání hodnoty null způsobí, že model použije maximální délku kontextu.
presence_penalty Číslo Pomáhá zabránit tomu, aby se stejná témata opakovala tím, že zatěžuje slovo, pokud už v dokončení existuje, a to i jen jednou. Vrátí chybu 422, pokud model nepodporuje hodnotu nebo parametr.
response_format ChatCompletionResponseFormat
semeno integer Pokud je zadáno, náš systém se bude snažit vzorkovat deterministicky, aby opakované požadavky se stejnými seed parametry měly vrátit stejný výsledek. Determinismus není zaručený a měli byste odkazovat na system_fingerprint parametr odpovědi pro monitorování změn v back-endu.
Zastavit Sekvence, ve kterých rozhraní API přestane generovat další tokeny
datový proud boolean Pokud je tato možnost nastavená, budou odeslány částečné rozdíly zpráv. Tokeny se posílají jako události odesílané jen pro data, jakmile budou k dispozici, a datový proud je ukončen zprávoudata: [DONE].
Teplota Číslo Nezáporné číslo. Pokud model nepodporuje hodnotu 422, vrátí hodnotu 422.
tool_choice ChatCompletionToolChoiceOption Určuje, která funkce (pokud existuje) volána modelem. none znamená, že model nebude volat funkci a místo toho vygeneruje zprávu. auto znamená, že model může vybrat mezi generováním zprávy nebo voláním funkce. Zadáním konkrétní funkce vynutíte {"type": "function", "function": {"name": "my_function"}} , aby model volal danou funkci.

none je výchozí, pokud nejsou k dispozici žádné funkce. auto je výchozí, pokud jsou k dispozici funkce. Vrátí chybu 422, pokud model nástroj nepodporuje.
tools ChatCompletionTool[] Seznam nástrojů, které model může volat. V současné době se jako nástroj podporují jenom funkce. Pomocí tohoto příkazu můžete poskytnout seznam funkcí, pro které může model generovat vstupy JSON. Vrátí chybu 422, pokud model nástroj nepodporuje.
top_p Číslo Alternativou k odběru vzorků s teplotou, označovanou jako vzorkování jádra, kde model bere v úvahu výsledky tokenů s top_p hmotností pravděpodobnosti. Hodnota 0,1 tedy znamená, že se považují pouze tokeny, které tvoří 10% hmotnost pravděpodobnosti.

Obecně doporučujeme tuto změnu změnit, temperature ale ne obojí.

Odpovědi

Name Typ Popis
200 OK CreateChatCompletionResponse OK
401 – Neautorizováno Neautorizovaná chyba Přístupový token chybí nebo je neplatný.

Hlavičky

x-ms-error-code: string
404 – Nenalezeno NotFoundError Způsob, který model nepodporuje. V dokumentaci k modelu zjistíte, které trasy jsou k dispozici.

Hlavičky

x-ms-error-code: string
422 Nezpracovaná entita UnprocessableContentError Požadavek obsahuje nezpracovaný obsah.

Hlavičky

x-ms-error-code: string
429 – Příliš mnoho požadavků TooManyRequestsError Dosáhli jste svého přiřazeného limitu rychlosti a vaše žádost se musí postupovat podle tempa.

Hlavičky

x-ms-error-code: string
Další stavové kódy ContentFilterError Chybný požadavek

Hlavičky

x-ms-error-code: string

Zabezpečení

Autorizace

Token s předponou Bearer: , např. Bearer abcde12345

Typ: apiKey
V: hlavička

AADToken

Ověřování Azure Active Directory OAuth2

Typ: oauth2
Flow: aplikace
Adresa URL tokenu: https://login.microsoftonline.com/common/oauth2/v2.0/token

Příklady

Vytvoří odpověď modelu pro danou chatovou konverzaci.

Ukázkový požadavek

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" }
}

Ukázková odezva

Stavový kód: 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
  }
}

Definice

Název Popis
ChatCompletionRequestMessage
ChatCompletionMessageContentPart
ChatCompletionMessageContentPartType
ChatCompletionToolChoiceOption Určuje, která funkce (pokud existuje) volána modelem. none znamená, že model nebude volat funkci a místo toho vygeneruje zprávu. auto znamená, že model může vybrat mezi generováním zprávy nebo voláním funkce. Zadáním konkrétní funkce vynutíte {"type": "function", "function": {"name": "my_function"}} , aby model volal danou funkci.

none je výchozí, pokud nejsou k dispozici žádné funkce. auto je výchozí, pokud jsou k dispozici funkce. Vrátí chybu 422, pokud model nástroj nepodporuje.
ChatCompletionFinishReason Důvod, proč model přestal generovat tokeny To bude v stop případě, že model dosáhne přirozeného bodu zastavení nebo zadané sekvence zastavení, length pokud byl dosažen maximální počet tokenů zadaných v požadavku, content_filter pokud byl obsah vynechán kvůli příznaku z našich filtrů obsahu, tool_calls pokud model volal nástroj.
ChatCompletionMessageToolCall
ChatCompletionObject Typ objektu, který je vždy chat.completion.
ChatCompletionResponseFormat Formát odpovědi modelu. Nastavení pro json_object povolení režimu JSON, který zaručuje, že zpráva, kterou model vygeneruje, je platný JSON. Pokud používáte režim JSON, musíte také dát modelu pokyn, aby vygeneroval JSON sami prostřednictvím systémové nebo uživatelské zprávy. Všimněte si také, že obsah zprávy může být částečně oříznut, pokud finish_reason="length", což znamená, že generování překročilo max_tokens nebo konverzace překročila maximální délku kontextu.
ChatCompletionResponseFormatType Typ formátu odpovědi.
ChatCompletionResponseMessage Zpráva o dokončení chatu vygenerovaná modelem
ChatCompletionTool
ChatMessageRole Role autora této zprávy
Choices Seznam možností dokončení chatu
Dokončení Statistiky využití žádosti o dokončení
ContentFilterError Volání rozhraní API selže, když výzva aktivuje filtr obsahu podle konfigurace. Upravte výzvu a zkuste to znovu.
CreateChatCompletionRequest
CreateChatCompletionResponse Představuje odpověď na dokončení chatu vrácenou modelem na základě zadaného vstupu.
Podrobnosti Podrobnosti o chybě UnprocessableContentError
Funkce Funkce, kterou model volal.
FunctionObject Definice funkce, ke které má model přístup.
ImageDetail Určuje úroveň podrobností obrázku.
NotFoundError Trasa není pro nasazený model platná.
ToolType Typ nástroje. V současné době se podporuje pouze function .
TooManyRequestsError Dosáhli jste svého přiřazeného limitu rychlosti a vaše požadavky je potřeba postupovat podle tempa.
Neautorizovaná chyba Ověřování chybí nebo je neplatné.
UnprocessableContentError Požadavek obsahuje nezpracovaný obsah. Chyba se vrátí, když je datová část uvedená v souladu s touto specifikací platná. Základní model ale nepodporuje některé pokyny uvedené v datové části. V této details části se seznamte s parametrem pro odsunutí.

ChatCompletionFinishReason

Důvod, proč model přestal generovat tokeny To bude v stop případě, že model dosáhne přirozeného bodu zastavení nebo zadané sekvence zastavení, length pokud byl dosažen maximální počet tokenů zadaných v požadavku, content_filter pokud byl obsah vynechán kvůli příznaku z našich filtrů obsahu, tool_calls pokud model volal nástroj.

Name Typ Popis
content_filter string
length string
Zastavit string
tool_calls string

ChatCompletionMessageToolCall

Name Typ Popis
function Funkce Funkce, kterou model volal.
ID řetězec ID volání nástroje.
type ToolType Typ nástroje. V současné době se podporuje pouze function .

ChatCompletionObject

Typ objektu, který je vždy chat.completion.

Name Typ Popis
chat.completion string

ChatCompletionResponseFormat

Formát odpovědi modelu. Nastavení pro json_object povolení režimu JSON, který zaručuje, že zpráva, kterou model vygeneruje, je platný JSON. Pokud používáte režim JSON, musíte také dát modelu pokyn, aby vygeneroval JSON sami prostřednictvím systémové nebo uživatelské zprávy. Všimněte si také, že obsah zprávy může být částečně oříznut, pokud finish_reason="length", což znamená, že generování překročilo max_tokens nebo konverzace překročila maximální délku kontextu.

Name Typ Popis
type ChatCompletionResponseFormatType Typ formátu odpovědi.

ChatCompletionResponseFormatType

Typ formátu odpovědi.

Name Typ Popis
json_object string
text string

ChatCompletionResponseMessage

Zpráva o dokončení chatu vygenerovaná modelem

Name Typ Popis
content string Obsah zprávy.
role ChatMessageRole Role autora této zprávy
tool_calls ChatCompletionMessageToolCall[] Nástroj volá volání vygenerovaná modelem, například volání funkcí.

ChatCompletionTool

Name Typ Popis
function FunctionObject
type ToolType Typ nástroje. V současné době se podporuje pouze function .

ChatMessageRole

Role autora této zprávy

Name Typ Popis
asistent string
systém string
nástroj string
user string

Volby

Seznam možností dokončení chatu Pokud je větší než 1, může být více než jedna n .

Name Typ Popis
finish_reason ChatCompletionFinishReason Důvod, proč model přestal generovat tokeny To bude v stop případě, že model dosáhne přirozeného bodu zastavení nebo zadané sekvence zastavení, length pokud byl dosažen maximální počet tokenů zadaných v požadavku, content_filter pokud byl obsah vynechán kvůli příznaku z našich filtrů obsahu, tool_calls pokud model volal nástroj.
index integer Index výběru v seznamu voleb.
zpráva ChatCompletionResponseMessage Zpráva o dokončení chatu vygenerovaná modelem

Dokončení

Statistiky využití žádosti o dokončení

Name Typ Popis
completion_tokens integer Počet tokenů ve vygenerovaném dokončení
prompt_tokens integer Počet tokenů v příkazovém řádku
total_tokens integer Celkový počettokench

ContentFilterError

Volání rozhraní API selže, když výzva aktivuje filtr obsahu podle konfigurace. Upravte výzvu a zkuste to znovu.

Name Typ Popis
code string Kód chyby.
chyba string Popis chyby.
zpráva string Chybová zpráva
Param string Parametr, který aktivoval filtr obsahu.
stav integer Stavový kód HTTP

CreateChatCompletionRequest

Name Type Výchozí hodnota Popis
frequency_penalty Číslo 0 Pomáhá zabránit opakování slov snížením pravděpodobnosti výběru slova, pokud už bylo použito. Čím vyšší je trest frekvence, tím méně pravděpodobné je, že model bude ve výstupu opakovat stejná slova. Vrátí chybu 422, pokud model nepodporuje hodnotu nebo parametr.
max_tokens integer Maximální počet tokenů, které lze vygenerovat v dokončení chatu.

Celková délka vstupních tokenů a vygenerovaných tokenů je omezená délkou kontextu modelu. Předání hodnoty null způsobí, že model použije maximální délku kontextu.
zprávy ChatCompletionRequestMessage[] Seznam zpráv, které tvoří dosud konverzaci. Vrátí chybu 422, pokud model nerozumí alespoň některým zprávům.
presence_penalty Číslo 0 Pomáhá zabránit tomu, aby se stejná témata opakovala tím, že zatěžuje slovo, pokud už v dokončení existuje, a to i jen jednou. Vrátí chybu 422, pokud model nepodporuje hodnotu nebo parametr.
response_format ChatCompletionResponseFormat text
semeno integer Pokud je zadáno, náš systém se bude snažit vzorkovat deterministicky, aby opakované požadavky se stejnými seed parametry měly vrátit stejný výsledek. Determinismus není zaručený a měli byste odkazovat na system_fingerprint parametr odpovědi pro monitorování změn v back-endu.
Zastavit Sekvence, ve kterých rozhraní API přestane generovat další tokeny
datový proud boolean False Pokud je tato možnost nastavená, budou odeslány částečné rozdíly zpráv. Tokeny se posílají jako události odesílané jen pro data, jakmile budou k dispozici, a datový proud je ukončen zprávoudata: [DONE].
Teplota Číslo 0 Nezáporné číslo. Pokud model nepodporuje hodnotu 422, vrátí hodnotu 422.
tool_choice ChatCompletionToolChoiceOption Určuje, která funkce (pokud existuje) volána modelem. none znamená, že model nebude volat funkci a místo toho vygeneruje zprávu. auto znamená, že model může vybrat mezi generováním zprávy nebo voláním funkce. Zadáním konkrétní funkce vynutíte {"type": "function", "function": {"name": "my_function"}} , aby model volal danou funkci.

none je výchozí, pokud nejsou k dispozici žádné funkce. auto je výchozí, pokud jsou k dispozici funkce. Vrátí chybu 422, pokud model nástroj nepodporuje.
tools ChatCompletionTool[] Seznam nástrojů, které model může volat. V současné době se jako nástroj podporují jenom funkce. Pomocí tohoto příkazu můžete poskytnout seznam funkcí, pro které může model generovat vstupy JSON. Vrátí chybu 422, pokud model nástroj nepodporuje.
top_p Číslo 0 Alternativou k odběru vzorků s teplotou, označovanou jako vzorkování jádra, kde model bere v úvahu výsledky tokenů s top_p hmotností pravděpodobnosti. Hodnota 0,1 tedy znamená, že se považují pouze tokeny, které tvoří 10% hmotnost pravděpodobnosti.

Obecně doporučujeme tuto změnu změnit, temperature ale ne obojí.

ChatCompletionRequestMessage

Name Typ Popis
content string nebo ChatCompletionMessageContentPart[] Obsah zprávy.
role ChatMessageRole Role autora této zprávy
tool_calls ChatCompletionMessageToolCall[] Nástroj volá volání vygenerovaná modelem, například volání funkcí.

ChatCompletionMessageContentPart

Name Typ Popis
content string Buď adresa URL obrázku, nebo data s kódováním base64 obrázku.
detail ImageDetail Určuje úroveň podrobností obrázku.
type ChatCompletionMessageContentPartType Typ části obsahu.

ChatCompletionMessageContentPartType

Name Typ Popis
text string
image string
image_url string

ChatCompletionToolChoiceOption

Určuje, který (pokud existuje) nástroj, který model volá.

Name Typ Popis
Žádná string Model nebude volat žádný nástroj a místo toho vygeneruje zprávu.
auto string Model si může vybrat mezi generováním zprávy nebo voláním jednoho nebo více nástrojů.
povinné string Model musí volat jeden nebo více nástrojů.
string Zadáním konkrétního nástroje vynutíte {"type": "function", "function": {"name": "my_function"}} model, aby tento nástroj volal.

ImageDetail

Určuje úroveň podrobností obrázku.

Name Typ Popis
auto string
low string
vysoko string

CreateChatCompletionResponse

Představuje odpověď na dokončení chatu vrácenou modelem na základě zadaného vstupu.

Name Typ Popis
volby Volby[] Seznam možností dokončení chatu Pokud je větší než 1, může být více než jedna n .
vytvořil integer Časové razítko unixu (v sekundách) doby vytvoření dokončení chatu.
ID řetězec Jedinečný identifikátor dokončení chatu.
model string Model použitý k dokončení chatu.
objekt ChatCompletionObject Typ objektu, který je vždy chat.completion.
system_fingerprint string Tento otisk prstu představuje konfiguraci back-endu, se kterou model běží.

Lze použít společně s parametrem seed požadavku, abyste pochopili, kdy byly provedeny změny back-endu, které by mohly ovlivnit determinismus.
využití Dokončení Statistiky využití žádosti o dokončení

Podrobnosti

Podrobnosti o chybě UnprocessableContentError

Name Typ Popis
Loc string[] Parametr způsobující problém
hodnota string Hodnota předaná parametru způsobuje problémy.

Function

Funkce, kterou model volal.

Name Typ Popis
argumenty string Argumenty pro volání funkce s vygenerovaným modelem ve formátu JSON. Všimněte si, že model negeneruje vždy platný JSON a může generovat nesprávné parametry, které nejsou definovány schématem funkce. Před voláním funkce ověřte argumenty v kódu.
name string Název funkce, která se má volat.

FunctionObject

Definice funkce, ke které má model přístup.

Name Typ Popis
description string Popis toho, co funkce dělá, kterou model používá k výběru, kdy a jak tuto funkci volat.
name string Název funkce, která se má volat. Musí být a-z, A-Z, 0-9 nebo obsahovat podtržítka a pomlčky s maximální délkou 64.
parametry objekt Parametry, které funkce přijímají, jsou popsané jako objekt schématu JSON. Vynechání parameters definuje funkci s prázdným seznamem parametrů.

NotFoundError

Name Typ Popis
chyba string Popis chyby.
zpráva string Chybová zpráva
stav integer Stavový kód HTTP

ToolType

Typ nástroje. V současné době se podporuje pouze function .

Name Typ Popis
function string

TooManyRequestsError

Name Typ Popis
chyba string Popis chyby.
zpráva string Chybová zpráva
stav integer Stavový kód HTTP

Neautorizovaná chyba

Name Typ Popis
chyba string Popis chyby.
zpráva string Chybová zpráva
stav integer Stavový kód HTTP

UnprocessableContentError

Požadavek obsahuje nezpracovaný obsah. Chyba se vrátí, když je datová část uvedená v souladu s touto specifikací platná. Základní model ale nepodporuje některé pokyny uvedené v datové části. V této details části se seznamte s parametrem pro odsunutí.

Name Typ Popis
code string Kód chyby.
detail Podrobnosti
chyba string Popis chyby.
zpráva string Chybová zpráva
stav integer Stavový kód HTTP