Referenční informace: Dokončení chatu | Azure Machine Learning
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í pass-through 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í ignore 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řené | 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 |