Delen via


Naslaginformatie over REST API voor Azure OpenAI-service

Dit artikel bevat informatie over de REST API-eindpunten voor deductie voor Azure OpenAI.

Verificatie

Azure OpenAI biedt twee methoden voor verificatie. U kunt API-sleutels of Microsoft Entra-id gebruiken.

  • API-sleutelverificatie: voor dit type verificatie moeten alle API-aanvragen de API-sleutel in de api-key HTTP-header bevatten. De quickstart bevat richtlijnen voor het maken van aanroepen met dit type verificatie.

  • Microsoft Entra ID-verificatie: u kunt een API-aanroep verifiëren met behulp van een Microsoft Entra-token. Verificatietokens worden als header Authorization opgenomen in een aanvraag. Het opgegeven token moet worden voorafgegaan door Bearerbijvoorbeeld Bearer YOUR_AUTH_TOKEN. U kunt onze handleiding voor verificatie met Microsoft Entra ID lezen.

REST API-versiebeheer

De service-API's hebben versiebeheer met behulp van de api-version queryparameter. Alle versies volgen de datumstructuur JJJJ-MM-DD. Voorbeeld:

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

Voltooiingen

Met de bewerking Voltooiingen genereert het model een of meer voorspelde voltooiingen op basis van een opgegeven prompt. De service kan ook de waarschijnlijkheid van alternatieve tokens op elke positie retourneren.

Een voltooiing maken

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

Padparameters

Parameter Type Vereist? Beschrijving
your-resource-name tekenreeks Vereist De naam van uw Azure OpenAI-resource.
deployment-id tekenreeks Vereist De implementatienaam die u hebt gekozen bij het implementeren van het model.
api-version tekenreeks Vereist De API-versie die voor deze bewerking moet worden gebruikt. Dit volgt de indeling JJJJ-MM-DD.

Ondersteunde versies

Aanvraagbody

Parameter Type Vereist? Default Beschrijving
prompt tekenreeks of matrix Optioneel <\|endoftext\|> De prompt of prompts voor het genereren van voltooiingen voor, gecodeerd als een tekenreeks of matrix met tekenreeksen. <\|endoftext\|> is het documentscheidingsteken dat het model tijdens de training ziet, dus als er geen prompt is opgegeven, wordt het model gegenereerd alsof het vanaf het begin van een nieuw document wordt gegenereerd.
max_tokens geheel getal Optioneel 16 Het maximum aantal tokens dat moet worden gegenereerd tijdens de voltooiing. Het tokenaantal van uw prompt plus max_tokens kan de contextlengte van het model niet overschrijden. De meeste modellen hebben een contextlengte van 2048 tokens (met uitzondering van de nieuwste modellen, die 4096 ondersteunen).
temperature Nummer Optioneel 1 Welke steekproeftemperatuur moet worden gebruikt, tussen 0 en 2. Hogere waarden betekenen dat het model meer risico's neemt. Probeer 0.9 voor creatievere toepassingen en 0 (argmax sampling) voor degenen met een goed gedefinieerd antwoord. Over het algemeen wordt aangeraden dit of top_p te wijzigen, maar niet beide.
top_p Nummer Optioneel 1 Een alternatief voor steekproeven met temperatuur, zogenaamde kernsampling, waarbij het model rekening houdt met de resultaten van de tokens met top_p waarschijnlijkheidsmassa. 0,1 betekent dus dat alleen de tokens die de top 10% kansdichtheid omvatten, worden beschouwd. Over het algemeen raden we u aan deze of temperatuur te wijzigen, maar niet beide.
logit_bias map Optioneel Nul Wijzig de kans dat opgegeven tokens worden weergegeven in de voltooiing. Accepteert een json-object dat tokens toe wijst (opgegeven door de token-id in de GPT-tokenizer) aan een bijbehorende bias-waarde van -100 tot 100. U kunt dit tokenizer-hulpprogramma (dat werkt voor zowel GPT-2 als GPT-3) gebruiken om tekst naar token-id's te converteren. Wiskundig wordt de vooroordelen toegevoegd aan de logboeken die door het model worden gegenereerd voordat ze worden genomen. Het exacte effect varieert per model, maar waarden tussen -1 en 1 moeten de kans op selectie verkleinen of vergroten; waarden zoals -100 of 100 moeten resulteren in een verbod of exclusieve selectie van het relevante token. U kunt bijvoorbeeld {"50256": -100} doorgeven om te voorkomen dat het <token |endoftext|> wordt gegenereerd.
user tekenreeks Optioneel Een unieke id die uw eindgebruiker vertegenwoordigt, die kan helpen bij het bewaken en detecteren van misbruik
n geheel getal Optioneel 1 Hoeveel voltooiingen moeten worden gegenereerd voor elke prompt. Opmerking: Omdat deze parameter veel voltooiingen genereert, kan deze snel uw tokenquotum gebruiken. Gebruik zorgvuldig en zorg ervoor dat u redelijke instellingen hebt voor max_tokens en stop.
stream boolean Optioneel Onwaar Of gedeeltelijke voortgang moet worden gestreamd. Als deze optie is ingesteld, worden tokens verzonden als gebeurtenissen die alleen door de server worden verzonden zodra ze beschikbaar zijn, waarbij de stream wordt beëindigd door een gegevensbericht: [GEREED] bericht.
logprobs geheel getal Optioneel Nul Neem de logboekkans op de meest waarschijnlijke tokens van de logprobs op, evenals de gekozen tokens. Als logprobs bijvoorbeeld 10 zijn, retourneert de API een lijst met de 10 meest waarschijnlijke tokens. De API retourneert altijd de logprob van het voorbeeldtoken, dus er kunnen maximaal logprobs+1 elementen in het antwoord zijn. Deze parameter kan niet worden gebruikt met gpt-35-turbo.
suffix tekenreeks Optioneel Nul Het achtervoegsel dat na een voltooiing van ingevoegde tekst komt.
echo boolean Optioneel Onwaar Echo terug de prompt naast de voltooiing. Deze parameter kan niet worden gebruikt met gpt-35-turbo.
stop tekenreeks of matrix Optioneel Nul Maximaal vier reeksen waarin de API stopt met het genereren van verdere tokens. De geretourneerde tekst bevat de stopvolgorde niet. Voor GPT-4 Turbo met Vision worden maximaal twee reeksen ondersteund.
presence_penalty Nummer Optioneel 0 Getal tussen -2.0 en 2.0. Positieve waarden bestraffen nieuwe tokens op basis van of ze tot nu toe worden weergegeven in de tekst, waardoor de kans op het model groter wordt om over nieuwe onderwerpen te praten.
frequency_penalty Nummer Optioneel 0 Getal tussen -2.0 en 2.0. Positieve waarden bestraffen nieuwe tokens op basis van hun bestaande frequentie in de tekst, waardoor de kans dat het model dezelfde regelzin herhaalt, afneemt.
best_of geheel getal Optioneel 1 Genereert best_of voltooiingen aan de serverzijde en retourneert de 'beste' (de waarde met de laagste kans op logboeken per token). Resultaten kunnen niet worden gestreamd. Bij gebruik met n bepaalt best_of het aantal voltooiingen van de kandidaat en n geeft aan hoeveel u wilt retourneren: best_of moet groter zijn dan n. Opmerking: Omdat deze parameter veel voltooiingen genereert, kan deze snel uw tokenquotum gebruiken. Gebruik zorgvuldig en zorg ervoor dat u redelijke instellingen hebt voor max_tokens en stop. Deze parameter kan niet worden gebruikt met gpt-35-turbo.

Voorbeeld van aanvraag

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

Voorbeeld van een antwoord

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

In het voorbeeldantwoord is finish_reason gelijk aan stop. Als finish_reason dit gelijk is aan onze gids voor inhoudsfilters content_filter , raadpleegt u de handleiding voor het filteren van inhoud om te begrijpen waarom dit gebeurt.

Insluitingen

Haal een vectorweergave op van een bepaalde invoer die eenvoudig kan worden gebruikt door machine learning-modellen en andere algoritmen.

Notitie

OpenAI staat momenteel een groter aantal matrixinvoer toe met text-embedding-ada-002. Azure OpenAI ondersteunt momenteel invoermatrices tot 16 voor text-embedding-ada-002 (Version 2). Beide vereisen de maximale limiet voor invoertoken per API-aanvraag om minder dan 8191 te blijven voor dit model.

Een insluiting maken

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

Padparameters

Parameter Type Vereist? Beschrijving
your-resource-name tekenreeks Vereist De naam van uw Azure OpenAI-resource.
deployment-id tekenreeks Vereist De naam van uw modelimplementatie. U moet eerst een model implementeren voordat u aanroepen kunt doen.
api-version tekenreeks Vereist De API-versie die voor deze bewerking moet worden gebruikt. Dit volgt de indeling JJJJ-MM-DD.

Ondersteunde versies

Aanvraagbody

Parameter Type Vereist? Default Beschrijving
input tekenreeks of matrix Ja N.v.t. Invoertekst voor het ophalen van insluitingen voor, gecodeerd als een matrix of tekenreeks. Het aantal invoertokens is afhankelijk van het model dat u gebruikt. Ondersteunt alleen text-embedding-ada-002 (Version 2) matrixinvoer.
user tekenreeks Nee Null Een unieke id die uw eindgebruiker vertegenwoordigt. Dit helpt Azure OpenAI bij het bewaken en detecteren van misbruik. Geef in plaats daarvan geen PII-id's op met pseudoanoniemiseerde waarden zoals GUID's
encoding_format tekenreeks Nee float De indeling waarin de insluitingen moeten worden geretourneerd. Kan een van float beide zijn of base64. Standaard ingesteld op float.

[Toegevoegd in 2024-03-01-preview].
dimensions geheel getal Nee Het aantal dimensies dat de resulterende uitvoer-insluitingen moeten hebben. Alleen ondersteund in text-embedding-3 en latere modellen.

[Toegevoegd in 2024-03-01-preview]

Voorbeeld van aanvraag

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

Voorbeeld van een antwoord

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

Chatvoltooiingen

Maak voltooiingen voor chatberichten met de MODELLEN GPT-35-Turbo en GPT-4.

Chatvoltooiingen maken

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

Padparameters

Parameter Type Vereist? Beschrijving
your-resource-name tekenreeks Vereist De naam van uw Azure OpenAI-resource.
deployment-id tekenreeks Vereist De naam van uw modelimplementatie. U moet eerst een model implementeren voordat u aanroepen kunt doen.
api-version tekenreeks Vereist De API-versie die voor deze bewerking moet worden gebruikt. Dit volgt de indeling JJJJ-MM-DD of JJJJ-MM-DD-preview.

Ondersteunde versies

Belangrijk

De functions en function_call parameters zijn afgeschaft met de release van de versie van de 2023-12-01-preview API. De vervanging voor functions is de tools parameter. De vervanging voor function_call is de tool_choice parameter. Parallelle functie aanroepen die als onderdeel van de 2023-12-01-preview functie zijn geïntroduceerd, worden alleen ondersteund met gpt-35-turbo (1106) en gpt-4 (1106-preview) ook wel bekend als GPT-4 Turbo Preview.

Parameter Type Vereist? Default Beschrijving
messages matrix Vereist De verzameling contextberichten die zijn gekoppeld aan deze chat-voltooiingsaanvraag. Normaal gebruik begint met een chatbericht voor de systeemrol die instructies biedt voor het gedrag van de assistent, gevolgd door afwisselende berichten tussen de rollen Gebruiker en Assistent.
temperature Nummer Optioneel 1 Welke steekproeftemperatuur moet worden gebruikt, tussen 0 en 2. Hogere waarden zoals 0,8 zorgen ervoor dat de uitvoer willekeuriger wordt, terwijl lagere waarden zoals 0,2 ervoor zorgen dat de uitvoer meer gericht en deterministisch wordt. Over het algemeen raden we u aan dit of top_p niet beide te wijzigen.
role tekenreeks Ja N.v.t. Geeft aan wie het huidige bericht geeft. systemKan ,user,assistant,tool offunction.
content tekenreeks of matrix Ja N.v.t. De inhoud van het bericht. Dit moet een tekenreeks zijn, tenzij in een scenario met Vision-functionaliteit. Als het deel uitmaakt van het user bericht, moet u met behulp van het GPT-4 Turbo with Vision-model, met de nieuwste API-versie, content een matrix met structuren zijn, waarbij elk item tekst of een afbeelding vertegenwoordigt:
  • text: invoertekst wordt weergegeven als een structuur met de volgende eigenschappen:
    • type = "tekst"
    • text = de invoertekst
  • images: een invoerafbeelding wordt weergegeven als een structuur met de volgende eigenschappen:
    • type = "image_url"
    • image_url = een structuur met de volgende eigenschappen:
      • url = de afbeeldings-URL
      • (optioneel) detail = high, of lowauto
contentPart object Nee N.v.t. Onderdeel van het multimodale bericht van een gebruiker. Dit kan een teksttype of afbeeldingstype zijn. Als tekst, is dit een tekenreeks. Als afbeelding, is het een contentPartImage object.
contentPartImage object Nee N.v.t. Vertegenwoordigt een door de gebruiker geüploade afbeelding. Deze heeft een url eigenschap, een URL van de afbeelding of de met base 64 gecodeerde afbeeldingsgegevens. Het heeft ook een detail eigenschap die kan zijn auto, lowof high.
enhancements object Nee N.v.t. Vertegenwoordigt de Vision-uitbreidingsfuncties die zijn aangevraagd voor de chat. Het heeft grounding en ocr eigenschappen, elk heeft een booleaanse enabled eigenschap. Gebruik deze om de OCR-service en/of de objectdetectie-/grondingsservice aan te vragen [Deze preview-parameter is niet beschikbaar in de 2024-02-01 GA-API en is niet meer beschikbaar in preview-API's na 2024-03-01-preview.]
dataSources object Nee N.v.t. Vertegenwoordigt aanvullende resourcegegevens. Computer Vision-resourcegegevens zijn nodig voor vision-verbeteringen. Het heeft een type eigenschap, die moet zijn "AzureComputerVision" en een parameters eigenschap, die een endpoint en key eigenschap heeft. Deze tekenreeksen moeten worden ingesteld op de eindpunt-URL en de toegangssleutel van uw Computer Vision-resource.
n geheel getal Optioneel 1 Hoeveel opties voor het voltooien van chats voor elk invoerbericht moeten worden gegenereerd.
stream boolean Optioneel false Als dit is ingesteld, worden gedeeltelijke berichtdelta's verzonden, zoals in ChatGPT. Tokens worden verzonden als alleen door de server verzonden gegevens wanneer ze beschikbaar komen, waarbij de stream wordt beëindigd door een data: [DONE] bericht.
stop tekenreeks of matrix Optioneel Nul Maximaal vier reeksen waarbij de API stopt met het genereren van verdere tokens.
max_tokens geheel getal Optioneel Inf Het maximum aantal tokens dat is toegestaan voor het gegenereerde antwoord. Standaard is het aantal tokens dat het model kan retourneren (4096 - prompttokens).
presence_penalty Nummer Optioneel 0 Getal tussen -2.0 en 2.0. Positieve waarden bestraffen nieuwe tokens op basis van of ze tot nu toe worden weergegeven in de tekst, waardoor de kans op het model groter wordt om over nieuwe onderwerpen te praten.
frequency_penalty Nummer Optioneel 0 Getal tussen -2.0 en 2.0. Positieve waarden bestraffen nieuwe tokens op basis van hun bestaande frequentie in de tekst, waardoor de kans dat het model dezelfde regelzin herhaalt, afneemt.
logit_bias object Optioneel Nul Wijzig de kans dat opgegeven tokens worden weergegeven in de voltooiing. Accepteert een json-object waarmee tokens (opgegeven door de token-id in de tokenizer) worden toegewezen aan een gekoppelde bias-waarde van -100 tot 100. Wiskundig wordt de vooroordelen toegevoegd aan de logboeken die door het model worden gegenereerd voordat ze worden genomen. Het exacte effect varieert per model, maar waarden tussen -1 en 1 moeten de kans op selectie verkleinen of vergroten; waarden zoals -100 of 100 moeten resulteren in een verbod of exclusieve selectie van het relevante token.
user tekenreeks Optioneel Een unieke id die uw eindgebruiker vertegenwoordigt, waarmee Azure OpenAI misbruik kan bewaken en detecteren.
function_call Optioneel [Deprecated in 2023-12-01-preview replacement parameter is tools_choice]Hiermee bepaalt u hoe het model reageert op functie-aanroepen. 'geen': het model roept geen functie aan en reageert op de eindgebruiker. auto betekent dat het model kan kiezen tussen een eindgebruiker of het aanroepen van een functie. Als u een bepaalde functie opgeeft via {"name": "my_function"} dwingt u af dat het model die functie aanroept. 'geen' is de standaardinstelling wanneer er geen functies aanwezig zijn. auto is de standaardinstelling als er functies aanwezig zijn. Voor deze parameter is API-versie vereist 2023-07-01-preview
functions FunctionDefinition[] Optioneel [Deprecated in 2023-12-01-preview replacement paremeter is tools] Een lijst met functies waarvoor het model JSON-invoer kan genereren. Voor deze parameter is API-versie vereist 2023-07-01-preview
tools tekenreeks (het type hulpprogramma. Alleen function wordt ondersteund.) Optioneel Een lijst met hulpprogramma's die het model kan aanroepen. Op dit moment worden alleen functies ondersteund als hulpprogramma. Gebruik dit om een lijst met functies op te geven waarvoor het model JSON-invoer kan genereren. Voor deze parameter is API-versie vereist 2023-12-01-preview
tool_choice tekenreeks of object Optioneel geen is de standaardinstelling wanneer er geen functies aanwezig zijn. auto is de standaardinstelling als er functies aanwezig zijn. Hiermee bepaalt u welke functie (indien aanwezig) wordt aangeroepen door het model. Geen betekent dat het model geen functie aanroept en in plaats daarvan een bericht genereert. auto betekent dat het model kan kiezen tussen het genereren van een bericht of het aanroepen van een functie. Als u een bepaalde functie opgeeft via {"type: "function", "function": {"name": "my_function"}} dwingt u het model om die functie aan te roepen. Voor deze parameter is API-versie 2023-12-01-preview of hoger vereist.
top_p Nummer Nee Standaard:1
Min:0
Max:1
Een alternatief voor steekproeven met temperatuur, zogenaamde kernsampling, waarbij het model rekening houdt met de resultaten van de tokens met top_p waarschijnlijkheidsmassa. 0,1 betekent dus dat alleen de tokens die de top 10% kansdichtheid omvatten, worden beschouwd.\nWe raden over het algemeen aan dit of temperature niet beide te wijzigen."
log_probs boolean Nee Of u nu logboekkansen van de uitvoertokens wilt retourneren of niet. Indien waar, retourneert u de logboekkans van elk uitvoertoken dat wordt geretourneerd in de van contentmessage. Deze optie is momenteel niet beschikbaar op het gpt-4-vision-preview model.
top_logprobs geheel getal Nee Min. 0
Max: 5
Een geheel getal tussen 0 en 5 dat het aantal meest waarschijnlijke tokens aangeeft dat op elke tokenpositie moet worden geretourneerd, elk met een gekoppelde logboekkans. logprobs moet worden ingesteld op true of deze parameter wordt gebruikt.
response_format object Nee Een object dat de indeling aangeeft die het model moet uitvoeren. Wordt gebruikt om de JSON-modus in te schakelen.
seed geheel getal Nee 0 Indien opgegeven, zal ons systeem een best inspanning leveren om de steekproef deterministisch uit te voeren, zodat herhaalde aanvragen met hetzelfde seed en parameters hetzelfde resultaat moeten retourneren. Determinisme is niet gegarandeerd en u moet verwijzen naar de system_fingerprint antwoordparameter om wijzigingen in de back-end te controleren.

Niet alle parameters zijn beschikbaar in elke API-release.

Voorbeeld van aanvraag

Chat met alleen tekst

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?"}]}'

Chatten met visie

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

Verbeterde chat met visie

  • Niet ondersteund met de GPT-4 Turbo GA-modelversiegpt-4:turbo-2024-04-09
  • Niet ondersteund met de2024-02-01en2024-04-01-preview nieuwere API-releases.
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"}]}]}'

Voorbeeld van een antwoord

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

Uitvoeropmaak die is aangepast voor gemakkelijker lezen, is de werkelijke uitvoer één blok tekst zonder regeleinden.

In het voorbeeldantwoord is finish_reason gelijk aan stop. Als finish_reason dit gelijk is aan onze gids voor inhoudsfilters content_filter , raadpleegt u de handleiding voor het filteren van inhoud om te begrijpen waarom dit gebeurt.

ChatMessage

Een enkel, door rollen toegeschreven bericht binnen een interactie met chatvoltooiing.

Name Type Omschrijving
content tekenreeks De tekst die is gekoppeld aan deze nettolading van het bericht.
function_call FunctionCall De naam en argumenten van een functie die moet worden aangeroepen, zoals gegenereerd door het model.
naam tekenreeks De name auteur van dit bericht. name is vereist als de rol is function, en deze moet de naam zijn van de functie waarvan het antwoord zich in de content. Kan a-z, A-Z, 0-9 en onderstrepingstekens bevatten, met een maximale lengte van 64 tekens.
role ChatRole De rol die is gekoppeld aan deze nettolading van het bericht

ChatRole

Een beschrijving van het beoogde doel van een bericht binnen een chatinteractie.

Name Type Description
Assistent tekenreeks De rol die antwoorden biedt op door het systeem geïnstrueerde, door de gebruiker gevraagd invoer.
function tekenreeks De rol die functieresultaten biedt voor voltooiing van chats.
systeem tekenreeks De rol waarmee het gedrag van de assistent wordt geïnstrueerd of ingesteld.
Gebruiker tekenreeks De rol die invoer biedt voor het voltooien van chatgesprekken.

Functie

Dit wordt gebruikt met de tools parameter die is toegevoegd in de API-versie 2023-12-01-preview.

Name Type Description
beschrijving tekenreeks Een beschrijving van wat de functie doet, die door het model wordt gebruikt om te kiezen wanneer en hoe de functie moet worden aangeroepen
naam tekenreeks De naam van de functie die moet worden aangeroepen. Moet a-z, A-Z, 0-9 of onderstrepingstekens en streepjes bevatten, met een maximale lengte van 64
parameters object De parameters die door de functies worden geaccepteerd, worden beschreven als een JSON-schemaobject. Zie de JSON-schemareferentie voor documentatie over de indeling.

FunctionCall-afgeschaft

De naam en argumenten van een functie die moet worden aangeroepen, zoals gegenereerd door het model. Hiervoor is API-versie vereist 2023-07-01-preview

Name Type Description
Argumenten tekenreeks De argumenten waarmee de functie moet worden aangeroepen, zoals gegenereerd door het model in JSON-indeling. Het model genereert niet altijd geldige JSON en maakt mogelijk parameters die niet zijn gedefinieerd door uw functieschema. Valideer de argumenten in uw code voordat u de functie aanroept.
naam tekenreeks De naam van de functie die moet worden aangeroepen.

FunctionDefinition-Afgeschaft

De definitie van een door een beller opgegeven functie die chatvoltooiingen kan aanroepen als reactie op overeenkomende gebruikersinvoer. Hiervoor is API-versie vereist 2023-07-01-preview

Name Type Description
beschrijving tekenreeks Een beschrijving van wat de functie doet. Het model gebruikt deze beschrijving bij het selecteren van de functie en het interpreteren van de parameters.
naam tekenreeks De naam van de functie die moet worden aangeroepen.
parameters De parameters die door de functies worden geaccepteerd, worden beschreven als een JSON-schemaobject .

Uitbreidingen voor voltooiingen

De documentatie voor deze sectie is verplaatst. Raadpleeg in plaats daarvan de referentiedocumentatie voor Azure OpenAI op uw gegevens.

Genereren van afbeeldingen

Een gegenereerde installatiekopieën aanvragen (DALL-E 3)

Genereer en haal een batch afbeeldingen op uit een tekst onderschrift.

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

Padparameters

Parameter Type Vereist? Beschrijving
your-resource-name tekenreeks Vereist De naam van uw Azure OpenAI-resource.
deployment-id tekenreeks Vereist De naam van uw DALL-E 3-modelimplementatie, zoals MyDalle3. U moet eerst een DALL-E 3-model implementeren voordat u aanroepen kunt doen.
api-version tekenreeks Vereist De API-versie die voor deze bewerking moet worden gebruikt. Dit volgt de indeling JJJJ-MM-DD.

Ondersteunde versies

Aanvraagbody

Parameter Type Vereist? Default Beschrijving
prompt tekenreeks Vereist Een tekstbeschrijving van de gewenste afbeelding(en). De maximumlengte is 4000 tekens.
n geheel getal Optioneel 1 Het aantal afbeeldingen dat moet worden gegenereerd. Alleen n=1 wordt ondersteund voor DALL-E 3.
size tekenreeks Optioneel 1024x1024 De grootte van de gegenereerde afbeeldingen. Moet een van 1792x1024, 1024x1024of 1024x1792.
quality tekenreeks Optioneel standard De kwaliteit van de gegenereerde afbeeldingen. Moet of hdstandard.
response_format tekenreeks Optioneel url De indeling waarin de gegenereerde afbeeldingen worden geretourneerd, moet url zijn (een URL die verwijst naar de afbeelding) of b64_json (de base 64-bytecode in JSON-indeling).
style tekenreeks Optioneel vivid De stijl van de gegenereerde afbeeldingen. Moet zijn natural of vivid (voor hyperrealistische/ dramatische beelden).
user tekenreeks Optioneel Een unieke id die uw eindgebruiker vertegenwoordigt, die kan helpen bij het bewaken en detecteren van misbruik.

Dalle-2 wordt nu ondersteund in 2024-05-01-preview.

Voorbeeld van aanvraag

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

Voorbeeld van een antwoord

De bewerking retourneert een 202 statuscode en een GenerateImagesResponse JSON-object met de id en status van de bewerking.

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

Een gegenereerde afbeelding aanvragen (DALL-E 2 preview)

Genereer een batch afbeeldingen van een tekst onderschrift.

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

Padparameters

Parameter Type Vereist? Beschrijving
your-resource-name tekenreeks Vereist De naam van uw Azure OpenAI-resource.
api-version tekenreeks Vereist De API-versie die voor deze bewerking moet worden gebruikt. Dit volgt de indeling JJJJ-MM-DD.

Ondersteunde versies

Aanvraagbody

Parameter Type Vereist? Default Beschrijving
prompt tekenreeks Vereist Een tekstbeschrijving van de gewenste afbeelding(en). De maximale lengte is 1000 tekens.
n geheel getal Optioneel 1 Het aantal afbeeldingen dat moet worden gegenereerd. Moet tussen 1 en 5 zijn.
size tekenreeks Optioneel 1024x1024 De grootte van de gegenereerde afbeeldingen. Moet een van 256x256, 512x512of 1024x1024.

Voorbeeld van aanvraag

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

Voorbeeld van een antwoord

De bewerking retourneert een 202 statuscode en een GenerateImagesResponse JSON-object met de id en status van de bewerking.

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

Een gegenereerd afbeeldingsresultaat ophalen (DALL-E 2 preview)

Gebruik deze API om de resultaten van een bewerking voor het genereren van afbeeldingen op te halen. Het genereren van installatiekopieën is momenteel alleen beschikbaar met api-version=2023-06-01-preview.

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

Padparameters

Parameter Type Vereist? Beschrijving
your-resource-name tekenreeks Vereist De naam van uw Azure OpenAI-resource.
operation-id tekenreeks Vereist De GUID die de oorspronkelijke aanvraag voor het genereren van installatiekopieën identificeert.

Ondersteunde versies

Voorbeeld van aanvraag

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

Voorbeeld van een antwoord

Wanneer de bewerking is geslaagd, wordt een 200 statuscode en een OperationResponse JSON-object geretourneerd. Het status veld kan zijn "notRunning" (taak is in de wachtrij geplaatst, maar is nog niet gestart), "running", ( "succeeded""canceled" er is een time-out opgetreden voor de taak), "failed"of "deleted". Een succeeded status geeft aan dat de gegenereerde installatiekopieën beschikbaar zijn om te downloaden op de opgegeven URL. Als er meerdere afbeeldingen zijn gegenereerd, worden de URL's allemaal in het result.data veld geretourneerd.

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

Een gegenereerde installatiekopieën verwijderen van de server (DALL-E 2 preview)

U kunt de bewerkings-id die door de aanvraag wordt geretourneerd, gebruiken om de bijbehorende installatiekopieën van de Azure-server te verwijderen. Gegenereerde installatiekopieën worden standaard na 24 uur automatisch verwijderd, maar u kunt de verwijdering desgewenst eerder activeren.

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

Padparameters

Parameter Type Vereist? Beschrijving
your-resource-name tekenreeks Vereist De naam van uw Azure OpenAI-resource.
operation-id tekenreeks Vereist De GUID die de oorspronkelijke aanvraag voor het genereren van installatiekopieën identificeert.

Ondersteunde versies

Voorbeeld van aanvraag

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

Respons

De bewerking retourneert een 204 statuscode als deze is geslaagd. Deze API slaagt alleen als de bewerking de eindstatus heeft (niet running).

Spraak-naar-tekst

U kunt een Whisper-model in Azure OpenAI Service gebruiken voor spraak-naar-teksttranscriptie of spraakomzetting. Zie de quickstart en het overzicht van het Whisper-model voor meer informatie over het gebruik van een Fluistermodel.

Een spraak-naar-teksttranscriptie aanvragen

Een audiobestand transcriberen.

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

Padparameters

Parameter Type Vereist? Beschrijving
your-resource-name tekenreeks Vereist De naam van uw Azure OpenAI-resource.
deployment-id tekenreeks Vereist De naam van de implementatie van uw Whisper-model, zoals MyWhisperDeployment. U moet eerst een Whisper-model implementeren voordat u aanroepen kunt doen.
api-version tekenreeks Vereist De API-versie die voor deze bewerking moet worden gebruikt. Deze waarde volgt de notatie JJJJ-MM-DD.

Ondersteunde versies

Aanvraagbody

Parameter Type Vereist? Default Beschrijving
file bestand Ja N.v.t. Het audiobestandsobject (geen bestandsnaam) om te transcriberen, in een van deze indelingen: flac, , mp4mp3, , mpeg, mpga, , m4a, ogg, of wavwebm.

De bestandsgrootte voor het Fluistermodel in de Azure OpenAI-service is 25 MB. Als u een bestand wilt transcriberen dat groter is dan 25 MB, moet u het opsplitsen in segmenten. U kunt ook de Transcriptie-API voor Azure AI Speech-batch gebruiken.

U kunt voorbeeldaudiobestanden ophalen uit de Azure AI Speech SDK-opslagplaats op GitHub.
language tekenreeks Nee Null De taal van de invoeraudio, zoals fr. Het leveren van de invoertaal in ISO-639-1-indeling verbetert de nauwkeurigheid en latentie.

Zie de OpenAI-documentatie voor de lijst met ondersteunde talen.
prompt tekenreeks Nee Null Een optionele tekst om de stijl van het model te begeleiden of door te gaan met een vorig audiosegment. De prompt moet overeenkomen met de audiotaal.

Zie de OpenAI-documentatie voor meer informatie over prompts, waaronder voorbeeldgebruiksvoorbeelden.
response_format tekenreeks Nee json De indeling van de transcriptuitvoer, in een van deze opties: json, tekst, srt, verbose_json of vtt.

De standaardwaarde is json.
temperature Nummer Nee 0 De steekproeftemperatuur, tussen 0 en 1.

Hogere waarden zoals 0,8 maken de uitvoer willekeuriger, terwijl lagere waarden zoals 0,2 ervoor zorgen dat de uitvoer meer gericht en deterministisch wordt. Als dit is ingesteld op 0, gebruikt het model logboekkans om de temperatuur automatisch te verhogen totdat bepaalde drempelwaarden worden bereikt.

De standaardwaarde is 0.
timestamp_granularities matrix Optioneel segment De tijdstempelgranulariteiten die moeten worden ingevuld voor deze transcriptie. response_format moet worden ingesteld verbose_json op het gebruik van tijdstempelgranulariteiten. Of beide van deze opties worden ondersteund: word, of segment. Opmerking: er is geen extra latentie voor segmenttijdstempels, maar het genereren van woordtijdstempels zorgt voor extra latentie. [Toegevoegd in 2024-04-01-prevew]

Voorbeeld van aanvraag

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"

Voorbeeld van een antwoord

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.

Een spraak-naar-tekstomzetting aanvragen

Vertaalt een audiobestand uit een andere taal in het Engels. Zie de OpenAI-documentatie voor de lijst met ondersteunde talen.

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

Padparameters

Parameter Type Vereist? Beschrijving
your-resource-name tekenreeks Vereist De naam van uw Azure OpenAI-resource.
deployment-id tekenreeks Vereist De naam van de implementatie van uw Whisper-model, zoals MyWhisperDeployment. U moet eerst een Whisper-model implementeren voordat u aanroepen kunt doen.
api-version tekenreeks Vereist De API-versie die voor deze bewerking moet worden gebruikt. Deze waarde volgt de notatie JJJJ-MM-DD.

Ondersteunde versies

Aanvraagbody

Parameter Type Vereist? Default Beschrijving
file bestand Ja N.v.t. Het audiobestandsobject (geen bestandsnaam) om te transcriberen, in een van deze indelingen: flac, mp3, mp4, mpeg, mpga, m4a, msp, wav of webm.

De bestandsgrootte voor het Azure OpenAI Whisper-model is 25 MB. Als u een bestand wilt transcriberen dat groter is dan 25 MB, moet u het opsplitsen in segmenten.

U kunt voorbeeldaudiobestanden downloaden uit de Azure AI Speech SDK-opslagplaats op GitHub.
prompt tekenreeks Nee Null Een optionele tekst om de stijl van het model te begeleiden of door te gaan met een vorig audiosegment. De prompt moet overeenkomen met de audiotaal.

Zie de OpenAI-documentatie voor meer informatie over prompts, waaronder voorbeeldgebruiksvoorbeelden.
response_format tekenreeks Nee json De indeling van de transcriptuitvoer, in een van deze opties: json, tekst, srt, verbose_json of vtt.

De standaardwaarde is json.
temperature Nummer Nee 0 De steekproeftemperatuur, tussen 0 en 1.

Hogere waarden zoals 0,8 maken de uitvoer willekeuriger, terwijl lagere waarden zoals 0,2 ervoor zorgen dat de uitvoer meer gericht en deterministisch wordt. Als dit is ingesteld op 0, gebruikt het model logboekkans om de temperatuur automatisch te verhogen totdat bepaalde drempelwaarden worden bereikt.

De standaardwaarde is 0.

Voorbeeld van aanvraag

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"

Voorbeeld van een antwoord

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

Tekst naar spraak

Tekst omzetten in spraak.

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

Padparameters

Parameter Type Vereist? Beschrijving
your-resource-name tekenreeks Vereist De naam van uw Azure OpenAI-resource.
deployment-id tekenreeks Vereist De naam van de implementatie van uw tekst naar spraakmodel, zoals MyTextToSpeechDeployment. U moet eerst een tekst implementeren in spraakmodel (zoals tts-1 of tts-1-hd) voordat u gesprekken kunt voeren.
api-version tekenreeks Vereist De API-versie die voor deze bewerking moet worden gebruikt. Deze waarde volgt de notatie JJJJ-MM-DD.

Ondersteunde versies

Aanvraagbody

Parameter Type Vereist? Default Beschrijving
model string Ja N.v.t. Een van de beschikbare TTS-modellen: tts-1 of tts-1-hd
input tekenreeks Ja N.v.t. De tekst voor het genereren van audio. De maximumlengte is 4096 tekens. Geef invoertekst op in de taal van uw keuze.1
voice tekenreeks Ja N.v.t. De stem die moet worden gebruikt bij het genereren van de audio. Ondersteunde stemmen zijn alloy, echo, fable, , onyxen nova.shimmer Previews van de stemmen zijn beschikbaar in de OpenAI-tekst voor spraakhandleiding.

1 De tekst naar spraakmodellen ondersteunt over het algemeen dezelfde talen als het Fluistermodel. Zie de OpenAI-documentatie voor de lijst met ondersteunde talen.

Voorbeeld van aanvraag

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

Voorbeeld van een antwoord

De spraak wordt geretourneerd als een audiobestand uit de vorige aanvraag.

Beheer API’s

Azure OpenAI wordt geïmplementeerd als onderdeel van de Azure AI-services. Alle Azure AI-services zijn afhankelijk van dezelfde set beheer-API's voor het maken, bijwerken en verwijderen van bewerkingen. De beheer-API's worden ook gebruikt voor het implementeren van modellen in een Azure OpenAI-resource.

Referentiedocumentatie voor beheer-API's

Volgende stappen

Meer informatie over modellen en het afstemmen met de REST API. Meer informatie over de onderliggende modellen die Azure OpenAI mogelijk maken.