Referenční informace k rozhraní Azure OpenAI Service REST API

Tento článek obsahuje podrobnosti o koncových bodech rozhraní REST API pro odvozování pro Azure OpenAI.

Ověřování

Azure OpenAI poskytuje dvě metody ověřování. Můžete použít klíče rozhraní API nebo ID Microsoft Entra.

  • Ověřování pomocí klíče rozhraní API: Pro tento typ ověřování musí všechny požadavky rozhraní API obsahovat klíč rozhraní API v api-key hlavičce HTTP. Rychlý start obsahuje pokyny k volání s tímto typem ověřování.

  • Ověřování ID Microsoft Entra: Volání rozhraní API můžete ověřit pomocí tokenu Microsoft Entra. Ověřovací tokeny jsou součástí požadavku jako hlavičky Authorization . Zadaný token musí předcházet Bearernapříklad Bearer YOUR_AUTH_TOKEN. Můžete si přečíst náš návod k ověřování pomocí Microsoft Entra ID.

Správa verzí rozhraní REST API

Rozhraní API služby se označují verzí pomocí parametru dotazu api-version. Všechny verze mají datovou strukturu RRRR-MM-DD. Příklad:

POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/completions?api-version=2024-02-01

Dokončení

Při operaci Dokončení model vygeneruje jedno nebo více předpovídaných dokončení na základě zadané výzvy. Služba může také vrátit pravděpodobnosti alternativních tokenů na každé pozici.

Vytvoření dokončení

POST https://{your-resource-name}.openai.azure.com/openai/deployments/{deployment-id}/completions?api-version={api-version}

Parametry cesty

Parametr Typ Povinné? Popis
your-resource-name string Požaduje se Název prostředku Azure OpenAI
deployment-id řetězec Požaduje se Název nasazení, který jste zvolili při nasazování modelu.
api-version řetězec Požaduje se Verze rozhraní API, která se má použít pro tuto operaci. To má formát RRRR-MM-DD.

Podporované verze

Text požadavku

Parametr Typ Povinné? Výchozí Popis
prompt řetězec nebo pole Volitelné <\|endoftext\|> Výzva nebo výzva k vygenerování dokončení pro, zakódované jako řetězec nebo pole řetězců. <\|endoftext\|> je oddělovač dokumentu, který model vidí během trénování, takže pokud není zadána výzva, model se vygeneruje, jako by byl od začátku nového dokumentu.
max_tokens integer Volitelné 16 Maximální počet tokenů, které se mají vygenerovat v dokončení. Počet tokenů výzvy plus max_tokens nesmí překročit délku kontextu modelu. Většina modelů má kontextovou délku 2048 tokenů (s výjimkou nejnovějších modelů, které podporují 4096).
temperature Číslo Volitelné 0 Jakou teplotu vzorkování použít, mezi 0 a 2. Vyšší hodnoty znamenají, že model riskuje více. Zkuste 0,9 pro kreativní aplikace a 0 (argmax sampling) pro ty s dobře definovanou odpovědí. Obecně doporučujeme toto nebo top_p změnit, ale ne obojí.
top_p Číslo Volitelné 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 změnit tuto nebo teplotu, ale ne obojí.
logit_bias map Volitelné null Upravte pravděpodobnost výskytu zadaných tokenů v dokončení. Přijímá objekt JSON, který mapuje tokeny (určené jejich ID tokenu v tokenizátoru GPT) na přidruženou hodnotu předsudku od -100 do 100. Tento nástroj tokenizátoru (který funguje pro GPT-2 i GPT-3) můžete použít k převodu textu na ID tokenů. Matematicky se před vzorkováním přidá do logitů vygenerovaných modelem. Přesný účinek se liší podle modelu, ale hodnoty mezi -1 a 1 by měly snížit nebo zvýšit pravděpodobnost výběru; hodnoty jako -100 nebo 100 by měly vést k zákazu nebo výhradnímu výběru příslušného tokenu. Můžete například předat {"50256": -100}, abyste zabránili generování tokenu <|endoftext|> .
user řetězec Volitelné Jedinečný identifikátor představující koncového uživatele, který může pomoct s monitorováním a zjišťováním zneužití
n integer Volitelné 0 Kolik dokončení se má vygenerovat pro každou výzvu. Poznámka: Protože tento parametr generuje mnoho dokončení, může rychle spotřebovat kvótu tokenu. Pečlivě používejte a ujistěte se, že máte rozumné nastavení pro max_tokens a zastavit.
stream boolean Volitelné False Zda se má streamovat zpět částečný průběh. Pokud je tato sada nastavená, tokeny se posílají jako události odesílané pouze daty, jakmile budou dostupné, a datový proud se ukončí zprávou [DONE].
logprobs integer Volitelné null Zahrňte pravděpodobnosti protokolu do nejpravděpodobnějších tokenů protokolu a také zvolených tokenů. Pokud je například logprobs 10, rozhraní API vrátí seznam 10 nejpravděpodobnějších tokenů. Rozhraní API vždy vrátí protokolprob ukázkového tokenu, takže v odpovědi může být až logprobs+1 prvků. Tento parametr nelze použít s parametrem gpt-35-turbo.
suffix řetězec Volitelné null Přípona, která následuje po dokončení vloženého textu.
echo boolean Volitelné False Ozvěte se vedle dokončení výzvy. Tento parametr nelze použít s parametrem gpt-35-turbo.
stop řetězec nebo pole Volitelné null Až čtyři sekvence, ve kterých rozhraní API přestane generovat další tokeny. Vrácený text nebude obsahovat sekvenci zastavení. U GPT-4 Turbo s vision se podporují až dvě sekvence.
presence_penalty Číslo Volitelné 0 Číslo mezi -2,0 a 2,0 Kladné hodnoty sankují nové tokeny na základě toho, jestli se zatím zobrazují v textu, což zvyšuje pravděpodobnost, že model mluví o nových tématech.
frequency_penalty Číslo Volitelné 0 Číslo mezi -2,0 a 2,0 Kladné hodnoty sankují nové tokeny na základě jejich stávající frekvence v textu, což snižuje pravděpodobnost opakování stejného doslovného znění řádku modelu.
best_of integer Volitelné 0 Vygeneruje best_of dokončení na straně serveru a vrátí "nejlepší" (ten s nejnižší pravděpodobností protokolu na token). Výsledky se nedají streamovat. Při použití s argumentem n best_of určuje počet dokončení kandidáta a n určuje, kolik se má vrátit – best_of musí být větší než n. Poznámka: Protože tento parametr generuje mnoho dokončení, může rychle spotřebovat kvótu tokenu. Pečlivě používejte a ujistěte se, že máte rozumné nastavení pro max_tokens a zastavit. Tento parametr nelze použít s parametrem gpt-35-turbo.

Příklad požadavku

curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/completions?api-version=2024-02-01\
  -H "Content-Type: application/json" \
  -H "api-key: YOUR_API_KEY" \
  -d "{
  \"prompt\": \"Once upon a time\",
  \"max_tokens\": 5
}"

Příklad odpovědi

{
    "id": "cmpl-4kGh7iXtjW4lc9eGhff6Hp8C7btdQ",
    "object": "text_completion",
    "created": 1646932609,
    "model": "ada",
    "choices": [
        {
            "text": ", a dark line crossed",
            "index": 0,
            "logprobs": null,
            "finish_reason": "length"
        }
    ]
}

V ukázkové odpovědi se finish_reason rovná stop. Pokud finish_reason se rovná, content_filter projděte si průvodce filtrováním obsahu a zjistěte, proč k tomu dochází.

Vkládání

Získejte vektorové znázornění daného vstupu, které lze snadno využívat modely strojového učení a další algoritmy.

Poznámka:

OpenAI v současné době umožňuje větší počet vstupů pole s text-embedding-ada-002. Azure OpenAI aktuálně podporuje vstupní pole až 16 pro text-embedding-ada-002 (Version 2). Obě vyžadují maximální limit vstupního tokenu pro každý požadavek rozhraní API, aby pro tento model zůstal pod 8191.

Vytvoření vkládání

POST https://{your-resource-name}.openai.azure.com/openai/deployments/{deployment-id}/embeddings?api-version={api-version}

Parametry cesty

Parametr Typ Povinné? Popis
your-resource-name string Požaduje se Název prostředku Azure OpenAI
deployment-id řetězec Požaduje se Název nasazení modelu. Než budete moct volat, musíte nejprve nasadit model.
api-version řetězec Požaduje se Verze rozhraní API, která se má použít pro tuto operaci. To má formát RRRR-MM-DD.

Podporované verze

Text požadavku

Parametr Typ Povinné? Výchozí Popis
input řetězec nebo pole Yes Vstupní text pro získání vkládání pro, kódované jako pole nebo řetězec. Počet vstupních tokenů se liší podle toho, jaký model používáte. Podporuje pouze text-embedding-ada-002 (Version 2) vstup pole.
user string No Null Jedinečný identifikátor představující koncového uživatele. To pomůže Službě Azure OpenAI monitorovat a zjišťovat zneužití. Nepředávejte identifikátory PII místo toho pseudoanonymizované hodnoty, jako jsou identifikátory GUID.
encoding_format string No float Formát pro vrácení vložených objektů. Může to být buď float nebo base64. Výchozí hodnota floatje .

[Přidáno do 2024-03-01-preview].
dimensions integer No Početdimenzích Podporováno pouze v text-embedding-3 novějších modelech.

[Přidáno do 2024-03-01-preview]

Příklad požadavku

curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/embeddings?api-version=2024-02-01 \
  -H "Content-Type: application/json" \
  -H "api-key: YOUR_API_KEY" \
  -d "{\"input\": \"The food was delicious and the waiter...\"}"

Příklad odpovědi

{
  "object": "list",
  "data": [
    {
      "object": "embedding",
      "embedding": [
        0.018990106880664825,
        -0.0073809814639389515,
        .... (1024 floats total for ada)
        0.021276434883475304,
      ],
      "index": 0
    }
  ],
  "model": "text-similarity-babbage:001"
}

Dokončení chatu

Vytvářejte dokončování pro zprávy chatu pomocí modelů GPT-35-Turbo a GPT-4.

Vytváření dokončování chatů

POST https://{your-resource-name}.openai.azure.com/openai/deployments/{deployment-id}/chat/completions?api-version={api-version}

Parametry cesty

Parametr Typ Povinné? Popis
your-resource-name string Požaduje se Název prostředku Azure OpenAI
deployment-id řetězec Požaduje se Název nasazení modelu. Než budete moct volat, musíte nejprve nasadit model.
api-version řetězec Požaduje se Verze rozhraní API, která se má použít pro tuto operaci. To se řídí formátem RRRR-MM-DD nebo RRRR-MM-DD-preview.

Podporované verze

Text požadavku

Text požadavku se skládá z řady zpráv. Model vygeneruje odpověď na poslední zprávu s použitím dřívějších zpráv jako kontextu.

Parametr Typ Povinné? Výchozí Popis
messages pole Yes Série zpráv přidružených k této žádosti o dokončení chatu. Měla by obsahovat předchozí zprávy v konverzaci. Každá zpráva má a rolecontent.
role string Yes Určuje, kdo dává aktuální zprávu. Může to být system,user,assistant,tool, nebo function.
content řetězec nebo pole Yes Obsah zprávy. Musí to být řetězec, pokud se nejedná o scénář s podporou zpracování obrazu. Pokud je součástí user zprávy pomocí modelu GPT-4 Turbo s obrazem s nejnovější verzí rozhraní API, musí content být pole struktur, kde každá položka představuje text nebo obrázek:
  • text: Vstupní text je reprezentován jako struktura s následujícími vlastnostmi:
    • type = "text"
    • text = vstupní text
  • images: Vstupní obrázek je reprezentován jako struktura s následujícími vlastnostmi:
    • type = "image_url"
    • image_url = struktura s následujícími vlastnostmi:
      • url = adresa URL obrázku
      • (volitelné) detail = highnebo lowauto
contentPart objekt No Část vícemodální zprávy uživatele Může to být typ textu nebo typ obrázku. Pokud se jedná o text, bude to textový řetězec. Pokud je obrázek, bude contentPartImage to objekt.
contentPartImage objekt No Představuje obrázek nahraný uživatelem. url Má vlastnost, která je buď adresa URL obrázku, nebo základní 64 kódovaná data obrázku. Má také detail vlastnost, která může být auto, lownebo high.
enhancements objekt No Představuje funkce vylepšení obrazu požadované pro chat. grounding Má a ocr vlastnosti, každý má logickou enabled vlastnost. Použijte je k vyžádání služby OCR nebo služby rozpoznávání objektů nebo uzemnění [Tento parametr preview není k dispozici v 2024-02-01 rozhraní API ga a už není k dispozici v rozhraních API ve verzi Preview po 2024-03-01-preview.]
dataSources objekt No Představuje další data o prostředcích. Počítačové zpracování obrazu data prostředků jsou potřebná pro vylepšení zpracování obrazu. type Má vlastnost, která by měla být "AzureComputerVision" a parameters vlastnost, která má vlastnost endpoint a key vlastnost. Tyto řetězce by měly být nastavené na adresu URL koncového bodu a přístupový klíč vašeho prostředku Počítačové zpracování obrazu.

Příklad požadavku

Chat jen pro text

curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/chat/completions?api-version=2024-02-01 \
  -H "Content-Type: application/json" \
  -H "api-key: YOUR_API_KEY" \
  -d '{"messages":[{"role": "system", "content": "You are a helpful assistant."},{"role": "user", "content": "Does Azure OpenAI support customer managed keys?"},{"role": "assistant", "content": "Yes, customer managed keys are supported by Azure OpenAI."},{"role": "user", "content": "Do other Azure AI services support this too?"}]}'

Chat s obrazem

curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/chat/completions?api-version=2023-12-01-preview \
  -H "Content-Type: application/json" \
  -H "api-key: YOUR_API_KEY" \
  -d '{"messages":[{"role":"system","content":"You are a helpful assistant."},{"role":"user","content":[{"type":"text","text":"Describe this picture:"},{ "type": "image_url", "image_url": { "url": "https://learn.microsoft.com/azure/ai-services/computer-vision/media/quickstarts/presentation.png", "detail": "high" } }]}]}'

Vylepšený chat se zrakem

  • Verze modelugpt-4GPT-4 Turbo GA se nepodporuje:turbo-2024-04-09
  • Nepodporovaná2024-02-01verze rozhraní API a2024-04-01-preview novějších verzí.
curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/extensions/chat/completions?api-version=2023-12-01-preview \
  -H "Content-Type: application/json" \
  -H "api-key: YOUR_API_KEY" \
  -d '{"enhancements":{"ocr":{"enabled":true},"grounding":{"enabled":true}},"dataSources":[{"type":"AzureComputerVision","parameters":{"endpoint":" <Computer Vision Resource Endpoint> ","key":"<Computer Vision Resource Key>"}}],"messages":[{"role":"system","content":"You are a helpful assistant."},{"role":"user","content":[{"type":"text","text":"Describe this picture:"},{"type":"image_url","image_url":"https://learn.microsoft.com/azure/ai-services/computer-vision/media/quickstarts/presentation.png"}]}]}'

Příklad odpovědi

{
    "id": "chatcmpl-6v7mkQj980V1yBec6ETrKPRqFjNw9",
    "object": "chat.completion",
    "created": 1679072642,
    "model": "gpt-35-turbo",
    "usage":
    {
        "prompt_tokens": 58,
        "completion_tokens": 68,
        "total_tokens": 126
    },
    "choices":
    [
        {
            "message":
            {
                "role": "assistant",
                "content": "Yes, other Azure AI services also support customer managed keys.
                    Azure AI services offer multiple options for customers to manage keys, such as
                    using Azure Key Vault, customer-managed keys in Azure Key Vault or
                    customer-managed keys through Azure Storage service. This helps customers ensure
                    that their data is secure and access to their services is controlled."
            },
            "finish_reason": "stop",
            "index": 0
        }
    ]
}

Formátování výstupu upravené pro snadné čtení, skutečný výstup je jeden blok textu bez konců řádků.

V ukázkové odpovědi se finish_reason rovná stop. Pokud finish_reason se rovná, content_filter projděte si průvodce filtrováním obsahu a zjistěte, proč k tomu dochází.

Důležité

Parametry functions jsou function_call zastaralé s vydáním 2023-12-01-preview verze rozhraní API. Nahrazením functions parametru tools je. Nahrazením function_call parametru tool_choice je. Paralelní volání funkcí, které bylo zavedeno jako součást aplikace 2023-12-01-preview , je podporováno pouze v gpt-35-turbo (1106) a gpt-4 (1106-Preview) známé také jako GPT-4 Turbo Preview.

Parametr Typ Povinné? Výchozí Popis
messages pole Požaduje se Kolekce kontextových zpráv přidružených k tomuto požadavku na dokončení chatu. Typické použití začíná chatovou zprávou pro roli Systém, která poskytuje pokyny pro chování asistenta, následované alternací zpráv mezi rolemi Uživatel a Asistent.
temperature Číslo Volitelné 0 Jakou teplotu vzorkování použít, mezi 0 a 2. Vyšší hodnoty jako 0,8 způsobí, že výstup bude náhodnější, zatímco nižší hodnoty, jako je 0,2, zajistí větší zaměření a deterministiku. Obecně doporučujeme tuto změnu změnit, top_p ale ne obojí.
n integer Volitelné 0 Kolik možností dokončení chatu se má vygenerovat pro každou vstupní zprávu.
stream boolean Volitelné false (nepravda) Pokud je tato možnost nastavená, budou odeslány částečné rozdíly zpráv, například v ChatGPT. Tokeny se posílají jako události odesílané jen pro data, jakmile budou k dispozici, s datovým proudem ukončeným zprávou data: [DONE] ."
stop řetězec nebo pole Volitelné null Až 4 sekvence, ve kterých rozhraní API přestane generovat další tokeny.
max_tokens integer Volitelné Inf Maximální počet tokenů povolených pro vygenerovanou odpověď. Ve výchozím nastavení bude počet tokenů, které model může vrátit, (4096 – tokeny výzvy).
presence_penalty Číslo Volitelné 0 Číslo mezi -2,0 a 2,0 Kladné hodnoty sankují nové tokeny na základě toho, jestli se zatím zobrazují v textu, což zvyšuje pravděpodobnost, že model mluví o nových tématech.
frequency_penalty Číslo Volitelné 0 Číslo mezi -2,0 a 2,0 Kladné hodnoty sankují nové tokeny na základě jejich stávající frekvence v textu, což snižuje pravděpodobnost opakování stejného doslovného znění řádku modelu.
logit_bias objekt Volitelné null Upravte pravděpodobnost výskytu zadaných tokenů v dokončení. Přijímá objekt JSON, který mapuje tokeny (určené jejich ID tokenu v tokenizátoru) na přidruženou hodnotu předsudku od -100 do 100. Matematicky se před vzorkováním přidá do logitů vygenerovaných modelem. Přesný účinek se liší podle modelu, ale hodnoty mezi -1 a 1 by měly snížit nebo zvýšit pravděpodobnost výběru; hodnoty jako -100 nebo 100 by měly vést k zákazu nebo výhradnímu výběru příslušného tokenu.
user řetězec Volitelné Jedinečný identifikátor představující koncového uživatele, který může azure OpenAI pomoct monitorovat a zjišťovat zneužití.
function_call Volitelné [Deprecated in 2023-12-01-preview replacement parameter is tools_choice]Určuje, jak model reaguje na volání funkcí. "none" znamená, že model nevolá funkci a reaguje na koncového uživatele. auto znamená, že model může vybrat mezi koncovým uživatelem nebo voláním funkce. Určení konkrétní funkce prostřednictvím {"name": "my_function"} vynutí, aby model volal danou funkci. "none" je výchozí, pokud nejsou k dispozici žádné funkce. auto je výchozí, pokud jsou k dispozici funkce. Tento parametr vyžaduje verzi rozhraní API. 2023-07-01-preview
functions FunctionDefinition[] Volitelné [Deprecated in 2023-12-01-preview replacement paremeter is tools] Seznam funkcí, pro které může model generovat vstupy JSON. Tento parametr vyžaduje verzi rozhraní API. 2023-07-01-preview
tools string (Typ nástroje. Podporuje se jenom function .) Volitelné 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. Tento parametr vyžaduje verzi rozhraní API. 2023-12-01-preview
tool_choice řetězec nebo objekt Volitelné žádná není výchozí, pokud nejsou k dispozici žádné funkce. auto je výchozí, pokud jsou k dispozici funkce. Určuje, která funkce (pokud existuje) volána modelem. Žádný 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. Určení konkrétní funkce prostřednictvím typu {"type: "function", "function": {"name": "my_function"}} vynutí, aby model volal danou funkci. Tento parametr vyžaduje verzi 2023-12-01-preview rozhraní API nebo novější.

ChatMessage

Jedna zpráva s atributem role v rámci interakce dokončení chatu.

Name Typ Popis
content string Text přidružený k této datové části zprávy.
function_call FunctionCall Název a argumenty funkce, které by se měly volat, jak je vygeneroval model.
name string Autor name této zprávy. name je vyžadována, pokud je functionrole a měla by to být název funkce, jejíž odpověď je v content. Může obsahovat a-z, A-Z, 0-9 a podtržítka s maximální délkou 64 znaků.
role ChatRole Role přidružená k této datové části zprávy

ChatRole

Popis zamýšleného účelu zprávy v rámci interakce s dokončením chatu.

Name Typ Popis
Asistent string Role, která poskytuje odpovědi na vstup s pokynem systému a uživatelem.
function string Role, která poskytuje výsledky funkce pro dokončování chatu.
systém string Role, která dává pokyn nebo nastavuje chování asistenta.
user string Role, která poskytuje vstup pro dokončování chatu.

Function

Používá se s parametrem tools přidaným ve verzi 2023-12-01-previewrozhraní API .

Name Typ Popis
description string Popis toho, co funkce dělá, kterou model používá k výběru, kdy a jak 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. Dokumentaci k formátu najdete v referenčních informacích ke schématu JSON.

FunctionCall – zastaralé

Název a argumenty funkce, které by se měly volat, jak je vygeneroval model. To vyžaduje verzi rozhraní API. 2023-07-01-preview

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

FunkceDefinition– zastaralé

Definice funkce zadané volajícího, která může dokončení chatu vyvolat v reakci na odpovídající vstup uživatele. To vyžaduje verzi rozhraní API. 2023-07-01-preview

Name Typ Popis
description string Popis toho, co funkce dělá. Model používá tento popis při výběru funkce a interpretaci jejích parametrů.
name string Název funkce, která se má volat.
parametry Parametry, které funkce přijímají, jsou popsané jako objekt schématu JSON.

Rozšíření dokončení

Dokumentace pro tuto část se přesunula. Místo toho si prohlédněte referenční dokumentaci k Azure OpenAI ve vašich datech.

Generování obrázků

Žádost o vygenerovanou image (DALL-E 3)

Vygenerujte a načtěte dávku obrázků z textového popis.

POST https://{your-resource-name}.openai.azure.com/openai/deployments/{deployment-id}/images/generations?api-version={api-version} 

Parametry cesty

Parametr Typ Povinné? Popis
your-resource-name string Požaduje se Název prostředku Azure OpenAI
deployment-id řetězec Požaduje se Název nasazení modelu DALL-E 3, například MyDalle3. Před voláním musíte nejprve nasadit model DALL-E 3.
api-version řetězec Požaduje se Verze rozhraní API, která se má použít pro tuto operaci. To má formát RRRR-MM-DD.

Podporované verze

Text požadavku

Parametr Typ Povinné? Výchozí Popis
prompt string Požaduje se Textový popispožadovaných Maximální délka je 4000 znaků.
n integer Volitelné 0 Počet obrázků, které se mají vygenerovat. Podporuje se pouze n=1 pro DALL-E 3.
size řetězec Volitelné 1024x1024 Velikost vygenerovaných obrázků. Musí být jedním z 1792x1024, 1024x1024nebo 1024x1792.
quality řetězec Volitelné standard Kvalita vygenerovaných obrázků. Musí být hd nebo standard.
response_format řetězec Volitelné url Formát, ve kterém se generované obrázky vrátí, musí být url (adresa URL odkazující na obrázek) nebo b64_json (základní kód 64 bajtů ve formátu JSON).
style řetězec Volitelné vivid Styl vygenerovaných obrázků Musí být natural nebo vivid (pro hyperrealistické nebo dramatické obrazy).
user řetězec Volitelné Jedinečný identifikátor představující koncového uživatele, který může pomoct monitorovat a zjišťovat zneužití.

Příklad požadavku

curl -X POST https://{your-resource-name}.openai.azure.com/openai/deployments/{deployment-id}/images/generations?api-version=2023-12-01-preview \
  -H "Content-Type: application/json" \
  -H "api-key: YOUR_API_KEY" \
  -d '{
    "prompt": "An avocado chair",
    "size": "1024x1024",
    "n": 1,
    "quality": "hd", 
    "style": "vivid"
  }'

Příklad odpovědi

Operace vrátí stavový 202 kód a GenerateImagesResponse objekt JSON obsahující ID a stav operace.

{ 
    "created": 1698116662, 
    "data": [ 
        { 
            "url": "url to the image", 
            "revised_prompt": "the actual prompt that was used" 
        }, 
        { 
            "url": "url to the image" 
        },
        ...
    ]
} 

Vyžádání vygenerované image (DALL-E 2 Preview)

Vygenerujte dávku obrázků z textového popis.

POST https://{your-resource-name}.openai.azure.com/openai/images/generations:submit?api-version={api-version}

Parametry cesty

Parametr Typ Povinné? Popis
your-resource-name string Požaduje se Název prostředku Azure OpenAI
api-version řetězec Požaduje se Verze rozhraní API, která se má použít pro tuto operaci. To má formát RRRR-MM-DD.

Podporované verze

Text požadavku

Parametr Typ Povinné? Výchozí Popis
prompt string Požaduje se Textový popispožadovaných Maximální délka je 1000 znaků.
n integer Volitelné 0 Počet obrázků, které se mají vygenerovat. Musí být mezi 1 a 5.
size řetězec Volitelné 1024 × 1024 Velikost vygenerovaných obrázků. Musí být jedním z 256x256, 512x512nebo 1024x1024.

Příklad požadavku

curl -X POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/images/generations:submit?api-version=2023-06-01-preview \
  -H "Content-Type: application/json" \
  -H "api-key: YOUR_API_KEY" \
  -d '{
"prompt": "An avocado chair",
"size": "512x512",
"n": 3
}'

Příklad odpovědi

Operace vrátí stavový 202 kód a GenerateImagesResponse objekt JSON obsahující ID a stav operace.

{
  "id": "f508bcf2-e651-4b4b-85a7-58ad77981ffa",
  "status": "notRunning"
}

Získání vygenerovaného výsledku obrázku (DALL-E 2 Preview)

Toto rozhraní API slouží k načtení výsledků operace generování image. Generování imagí je aktuálně k dispozici pouze s api-version=2023-06-01-preview.

GET https://{your-resource-name}.openai.azure.com/openai/operations/images/{operation-id}?api-version={api-version}

Parametry cesty

Parametr Typ Povinné? Popis
your-resource-name string Požaduje se Název prostředku Azure OpenAI
operation-id řetězec Požaduje se Identifikátor GUID, který identifikuje původní požadavek na generování image.

Podporované verze

Příklad požadavku

curl -X GET "https://{your-resource-name}.openai.azure.com/openai/operations/images/{operation-id}?api-version=2023-06-01-preview"
-H "Content-Type: application/json"
-H "Api-Key: {api key}"

Příklad odpovědi

Po úspěšném dokončení operace vrátí stavový 200 kód a OperationResponse objekt JSON. Pole status může být "notRunning" (úkol je zařazen do fronty, ale ještě není spuštěn), "running", , , "succeeded"( "canceled" úkol vypršel časový limit), "failed"nebo "deleted". succeeded Stav označuje, že vygenerovaný obrázek je k dispozici ke stažení na dané adrese URL. Pokud se vygenerovalo více obrázků, vrátí se v result.data poli všechny jejich adresy URL.

{
  "created": 1685064331,
  "expires": 1685150737,
  "id": "4b755937-3173-4b49-bf3f-da6702a3971a",
  "result": {
    "data": [
      {
        "url": "<URL_TO_IMAGE>"
      },
      {
        "url": "<URL_TO_NEXT_IMAGE>"
      },
      ...
    ]
  },
  "status": "succeeded"
}

Odstranění vygenerované image ze serveru (DALL-E 2 Preview)

K odstranění odpovídající image ze serveru Azure můžete použít ID operace vrácené požadavkem. Ve výchozím nastavení se vygenerované image automaticky odstraní po 24 hodinách, ale pokud chcete, můžete odstranění aktivovat dříve.

DELETE https://{your-resource-name}.openai.azure.com/openai/operations/images/{operation-id}?api-version={api-version}

Parametry cesty

Parametr Typ Povinné? Popis
your-resource-name string Požaduje se Název prostředku Azure OpenAI
operation-id řetězec Požaduje se Identifikátor GUID, který identifikuje původní požadavek na generování image.

Podporované verze

Příklad požadavku

curl -X DELETE "https://{your-resource-name}.openai.azure.com/openai/operations/images/{operation-id}?api-version=2023-06-01-preview"
-H "Content-Type: application/json"
-H "Api-Key: {api key}"

Response

Operace v případě úspěchu vrátí stavový 204 kód. Toto rozhraní API je úspěšné pouze v případě, že je operace v koncovém stavu (ne running).

Převod řeči na text

V Azure OpenAI Service můžete použít model Šepta pro převod řeči na přepis textu nebo překlad řeči. Další informace o použití modelu Whisper najdete v rychlém startu a přehledu modelu Whisper.

Vyžádání přepisu řeči na text

Přepíše zvukový soubor.

POST https://{your-resource-name}.openai.azure.com/openai/deployments/{deployment-id}/audio/transcriptions?api-version={api-version}

Parametry cesty

Parametr Typ Povinné? Popis
your-resource-name string Požaduje se Název vašeho prostředku Azure OpenAI.
deployment-id řetězec Požaduje se Název nasazení modelu Whisper, například MyWhisperDeployment. Než budete moct volat, musíte nejprve nasadit model Whisper.
api-version řetězec Požaduje se Verze rozhraní API, která se má použít pro tuto operaci. Tato hodnota se řídí formátem RRRR-MM-DD.

Podporované verze

Text požadavku

Parametr Typ Povinné? Výchozí Popis
file soubor Yes Objekt zvukového souboru (nikoli název souboru) pro přepis v jednom z těchto formátů: flac, , mp3mp4, mpeg, mpgam4a, , oggnebo wavwebm.

Limit velikosti souboru pro model Whisper ve službě Azure OpenAI je 25 MB. Pokud potřebujete přepsat soubor větší než 25 MB, rozdělte ho do bloků dat. Alternativně můžete použít rozhraní API pro dávkový přepis služby Azure AI Speech.

Ukázkové zvukové soubory můžete získat z úložiště Azure AI Speech SDK na GitHubu.
language string No Null Jazyk vstupního zvuku, například fr. Poskytování jazyka zadávání vstupu ve formátu ISO-639-1 zlepšuje přesnost a latenci.

Seznam podporovaných jazyků najdete v dokumentaci k OpenAI.
prompt string No Null Volitelný text pro vodítko stylu modelu nebo pokračování v předchozím zvukovém segmentu. Výzva by měla odpovídat jazyku zvuku.

Další informace o výzev, včetně ukázkových případů použití, najdete v dokumentaci k OpenAI.
response_format string No json Formát výstupu přepisu v jedné z těchto možností: json, text, srt, verbose_json nebo vtt.

Výchozí hodnota je json.
temperature Číslo No 0 Teplota vzorkování mezi 0 a 1.

Vyšší hodnoty jako 0,8 zvýtožní výstup náhodněji, zatímco nižší hodnoty, jako je 0,2, zvýší jejich zaměření a deterministiku. Pokud je nastavená hodnota 0, model používá pravděpodobnost protokolu k automatickému zvýšení teploty , dokud se nenarazí na určité prahové hodnoty.

Výchozí hodnota je 0.
timestamp_granularities pole Volitelné segment Členitosti časového razítka, které se mají pro tento přepis naplnit. response_format musí být nastavená verbose_json tak, aby používala členitosti časového razítka. Podporují se obě tyto možnosti: wordnebo segment. Poznámka: Pro časová razítka segmentů neexistuje žádná další latence, ale generování časových razítek slov způsobuje další latenci. [Přidáno v roce 2024-04-01-prevew]

Příklad požadavku

curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/audio/transcriptions?api-version=2023-09-01-preview \
  -H "Content-Type: multipart/form-data" \
  -H "api-key: $YOUR_API_KEY" \
  -F file="@./YOUR_AUDIO_FILE_NAME.wav" \
  -F "language=en" \
  -F "prompt=The transcript contains zoology terms and geographical locations." \
  -F "temperature=0" \
  -F "response_format=srt"

Příklad odpovědi

1
00:00:00,960 --> 00:00:07,680
The ocelot, Lepardus paradalis, is a small wild cat native to the southwestern United States,

2
00:00:07,680 --> 00:00:13,520
Mexico, and Central and South America. This medium-sized cat is characterized by

3
00:00:13,520 --> 00:00:18,960
solid black spots and streaks on its coat, round ears, and white neck and undersides.

4
00:00:19,760 --> 00:00:27,840
It weighs between 8 and 15.5 kilograms, 18 and 34 pounds, and reaches 40 to 50 centimeters

5
00:00:27,840 --> 00:00:34,560
16 to 20 inches at the shoulders. It was first described by Carl Linnaeus in 1758.

6
00:00:35,360 --> 00:00:42,880
Two subspecies are recognized, L. p. paradalis and L. p. mitis. Typically active during twilight

7
00:00:42,880 --> 00:00:48,480
and at night, the ocelot tends to be solitary and territorial. It is efficient at climbing,

8
00:00:48,480 --> 00:00:54,480
leaping, and swimming. It preys on small terrestrial mammals such as armadillo, opossum,

9
00:00:54,480 --> 00:00:56,480
and lagomorphs.

Vyžádání překladu řeči na text

Přeloží zvukový soubor z jiného jazyka do angličtiny. Seznam podporovaných jazyků najdete v dokumentaci k OpenAI.

POST https://{your-resource-name}.openai.azure.com/openai/deployments/{deployment-id}/audio/translations?api-version={api-version}

Parametry cesty

Parametr Typ Povinné? Popis
your-resource-name string Požaduje se Název vašeho prostředku Azure OpenAI.
deployment-id řetězec Požaduje se Název nasazení modelu Whisper, například MyWhisperDeployment. Než budete moct volat, musíte nejprve nasadit model Whisper.
api-version řetězec Požaduje se Verze rozhraní API, která se má použít pro tuto operaci. Tato hodnota se řídí formátem RRRR-MM-DD.

Podporované verze

Text požadavku

Parametr Typ Povinné? Výchozí Popis
file soubor Yes Objekt zvukového souboru (ne název souboru) pro přepis v jednom z těchto formátů: flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav nebo webm.

Limit velikosti souboru pro model Azure OpenAI Whisper je 25 MB. Pokud potřebujete přepsat soubor větší než 25 MB, rozdělte ho do bloků dat.

Ukázkové zvukové soubory si můžete stáhnout z úložiště Azure AI Speech SDK na GitHubu.
prompt string No Null Volitelný text pro vodítko stylu modelu nebo pokračování v předchozím zvukovém segmentu. Výzva by měla odpovídat jazyku zvuku.

Další informace o výzev, včetně ukázkových případů použití, najdete v dokumentaci k OpenAI.
response_format string No json Formát výstupu přepisu v jedné z těchto možností: json, text, srt, verbose_json nebo vtt.

Výchozí hodnota je json.
temperature Číslo No 0 Teplota vzorkování mezi 0 a 1.

Vyšší hodnoty jako 0,8 zvýtožní výstup náhodněji, zatímco nižší hodnoty, jako je 0,2, zvýší jejich zaměření a deterministiku. Pokud je nastavená hodnota 0, model používá pravděpodobnost protokolu k automatickému zvýšení teploty , dokud se nenarazí na určité prahové hodnoty.

Výchozí hodnota je 0.

Příklad požadavku

curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/audio/translations?api-version=2023-09-01-preview \
  -H "Content-Type: multipart/form-data" \
  -H "api-key: $YOUR_API_KEY" \
  -F file="@./YOUR_AUDIO_FILE_NAME.wav" \
  -F "temperature=0" \
  -F "response_format=json"

Příklad odpovědi

{
  "text": "Hello, my name is Wolfgang and I come from Germany. Where are you heading today?"
}

Text na řeč

Syntetizace textu na řeč.

POST https://{your-resource-name}.openai.azure.com/openai/deployments/{deployment-id}/audio/speech?api-version={api-version}

Parametry cesty

Parametr Typ Povinné? Popis
your-resource-name string Požaduje se Název vašeho prostředku Azure OpenAI.
deployment-id řetězec Požaduje se Název vašeho textu pro nasazení modelu řeči, například MyTextToSpeechDeployment. Než budete moct volat, musíte nejdřív nasadit textový model na řeč (například tts-1 nebo tts-1-hd).
api-version řetězec Požaduje se Verze rozhraní API, která se má použít pro tuto operaci. Tato hodnota se řídí formátem RRRR-MM-DD.

Podporované verze

Text požadavku

Parametr Typ Povinné? Výchozí Popis
model string Yes Jeden z dostupných modelů TTS: tts-1 nebo tts-1-hd
input string Yes Text, pro který chcete vygenerovat zvuk. Maximální délka je 4096 znaků. Zadejte vstupní text v jazyce podle vašeho výběru.1
voice string Yes Hlas, který se má použít při generování zvuku. Podporované hlasy jsou alloy, , fableechoonyx, , nova, a shimmer. Náhledy hlasů jsou k dispozici v průvodci převodem řeči na text OpenAI.

1 Text na řečové modely obecně podporují stejné jazyky jako model Šept. Seznam podporovaných jazyků najdete v dokumentaci k OpenAI.

Příklad požadavku

curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/audio/speech?api-version=2024-02-15-preview \
 -H "api-key: $YOUR_API_KEY" \
 -H "Content-Type: application/json" \
 -d '{
    "model": "tts-hd",
    "input": "I'm excited to try text to speech.",
    "voice": "alloy"
}' --output speech.mp3

Příklad odpovědi

Řeč se vrátí jako zvukový soubor z předchozího požadavku.

Rozhraní API pro správu

Azure OpenAI se nasadí jako součást služeb Azure AI. Všechny služby Azure AI spoléhají na stejnou sadu rozhraní API pro správu při vytváření, aktualizaci a odstraňování operací. Rozhraní API pro správu se také používají k nasazování modelů v rámci prostředku Azure OpenAI.

Referenční dokumentace k rozhraním API pro správu

Další kroky

Seznamte se s modely a vyladěním pomocí rozhraní REST API. Přečtěte si další informace o základních modelech, které power Azure OpenAI.