Referencia de la API REST de los servicios de Azure OpenAI

En este artículo se proporcionan detalles sobre los puntos de conexión de la API de REST de inferencia de Azure OpenAI.

Authentication

Azure OpenAI proporciona dos métodos de autenticación. Puede usar claves de API o Microsoft Entra ID.

  • Autenticación con claves de API:: para este tipo de autenticación, todas las solicitudes de API deben incluir la clave de API en el encabezado HTTP api-key. El inicio rápido proporciona una guía sobre cómo realizar llamadas con este tipo de autenticación.

  • Autenticación de Microsoft Entra ID: puede autenticar una llamada a la API usando un token de Microsoft Entra. Los tokens de autenticación se incluyen en una solicitud como encabezado Authorization. El token proporcionado debe ir precedido de Bearer, por ejemplo Bearer YOUR_AUTH_TOKEN. Puede leer nuestra guía sobre la autenticación con Microsoft Entra ID.

Control de versiones de la API REST

Las API de servicio se versionan mediante el parámetro de consulta api-version. Todas las versiones siguen la estructura de fecha AAAA-MM-DD. Por ejemplo:

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

Finalizaciones

Con la operación de finalización, el modelo genera una o más previsiones de finalización basadas en una solicitud proporcionada. El servicio también puede devolver las probabilidades de los tokens alternativos en cada posición.

Creación de una inalización

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

Parámetros de la ruta de acceso

Parámetro Tipo ¿Necesario? Descripción
your-resource-name string Obligatorio Nombre del recurso de Azure OpenAI.
deployment-id string Obligatorio El nombre de implementación que eligió al implementar el modelo.
api-version string Obligatorio Versión de API que se usará para la operación. Sigue el formato AAAA-MM-DD.

Versiones compatibles

Cuerpo de la solicitud

Parámetro Tipo ¿Necesario? Valor predeterminado Descripción
prompt cadena o matriz Opcionales <\|endoftext\|> La solicitud o solicitudes para las que generar las finalizaciones, codificadas como una cadena, o matriz de cadenas. <\|endoftext\|> es el separador de documentos que el modelo ve durante el entrenamiento, por lo que si no se especifica una indicación el modelo se genera como si fuera desde el principio de un nuevo documento.
max_tokens integer Opcional 16 El número máximo de tokens a generar en la finalización. El número de tokens de su pregunta más max_tokens no puede exceder la longitud del contexto del modelo. La mayoría de los modelos tienen una longitud de contexto de 2048 tokens (excepto los modelos más recientes, que admiten 4096).
temperature number Opcional 1 Temperatura de muestreo que se vaya a usar, entre 0 y 2. Cuando más altos sean los valores, más riesgos asume el modelo. Pruebe con 0,9 para aplicaciones más creativas, y con 0 (argmax sampling) para las que tienen una respuesta bien definida. Por lo general, recomendamos modificar esto o top_p, pero no ambos.
top_p number Opcional 1 Una alternativa al muestreo con temperatura, llamada muestreo de núcleo, donde el modelo considera los resultados de los tokens con masa de probabilidad top_p. Así, 0,1 significa que solo se consideran los tokens que comprenden la masa de probabilidad del 10% superior. Por lo general, recomendamos modificar esto o la temperatura, pero no ambos.
logit_bias mapa Opcional null Modifica la probabilidad de que los tokens especificados aparezcan en la finalización. Acepta un objeto json que asigna tokens (especificados por su ID de token en el tokenizador GPT) a un valor de sesgo asociado de -100 a 100. Puede usar esta herramienta tokenizadora (que funciona tanto para GPT-2 como para GPT-3) para convertir texto en ID de token. Matemáticamente, el sesgo se agrega a los logits generados por el modelo antes del muestreo. El efecto exacto varía según el modelo, pero los valores entre -1 y 1 deberían disminuir o aumentar la probabilidad de selección; valores como -100 o 100 deberían dar lugar a una prohibición o selección exclusiva del token correspondiente. Como ejemplo, puede pasar {"50256": -100} para evitar que se genere el token <<|endoftext|>>.
user string Opcional Un identificador único que representa al usuario final, que podría ayudar a supervisar y detectar abusos
n integer Opcional 1 Cuántas terminaciones generar para cada pregunta. Nota: Dado que este parámetro genera muchas finalizaciones, puede consumir rápidamente la cuota de tokens. Use cuidadosamente y asegúrese de que tiene una configuración razonable para max_tokens y detener.
stream boolean Opcionales False Si se transmite el progreso parcial. Si se establece, los tokens se envían como eventos enviados por el servidor solo de datos a medida que estén disponibles, con el flujo terminado por un mensaje de datos: [DONE].
logprobs integer Opcional null Incluya las probabilidades de registro en los tokens más probables de logprobs, así como los tokens elegidos. Por ejemplo, si logprobs es 10, la API devolverá una lista de los 10 tokens más probables. La API siempre devolverá el logprob del token muestreado, por lo que en la respuesta puede haber un máximo de logprobs+1 elementos. Este parámetro no se puede usar con gpt-35-turbo.
suffix string Opcional null Sufijo que viene después de completar el texto insertado.
echo boolean Opcionales False Devuelve la solicitud además de la finalización. Este parámetro no se puede usar con gpt-35-turbo.
stop cadena o matriz Opcional null Hasta cuatro secuencias en las que la API dejará de generar más tokens. El texto devuelto no contendrá la secuencia de detención. Para GPT-4 Turbo con Vision, se admiten hasta dos secuencias.
presence_penalty number Opcionales 0 Número entre 2.0 y 2.0. Los valores positivos penalizan los nuevos tokens en función de su aparición en el texto hasta el momento, aumentando la probabilidad de que el modelo hable de nuevos temas.
frequency_penalty number Opcionales 0 Número entre 2.0 y 2.0. Los valores positivos penalizan los nuevos tokens en función de su frecuencia existente en el texto hasta el momento, disminuyendo la probabilidad del modelo de repetir la misma línea textualmente.
best_of integer Opcional 1 Genera las mejores terminaciones del lado del servidor y devuelve la "mejor" (la que tiene la menor probabilidad logarítmica por token). Los resultados no se pueden transmitir. Cuando se usa con n, best_of controla el número de terminaciones candidatas y n especifica cuántas devolver - best_of debe ser mayor que n. Nota: Dado que este parámetro genera muchas finalizaciones, puede consumir rápidamente la cuota de tokens. Use cuidadosamente y asegúrese de que tiene una configuración razonable para max_tokens y detener. Este parámetro no se puede usar con gpt-35-turbo.

Solicitud de ejemplo

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

Respuesta de ejemplo

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

En la respuesta de ejemplo, finish_reason es igual a stop. Si finish_reason fuera igual a content_filter, consulte nuestra guía de filtrado de contenido para comprender por qué ocurre esto.

Inserciones

Obtenga una representación vectorial de una entrada dada que pueda ser fácilmente consumida por modelos de Machine Learning y otros algoritmos.

Nota:

OpenAI actualmente permite un mayor número de entradas de matriz con text-embedding-ada-002. Actualmente, Azure OpenAI admite matrices de entrada de hasta 16 para text-embedding-ada-002 (Version 2). Ambos requieren el límite máximo de tokens de entrada por solicitud de API para permanecer en 8191 para este modelo.

Crear una inserción

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

Parámetros de la ruta de acceso

Parámetro Tipo ¿Necesario? Descripción
your-resource-name string Obligatorio Nombre del recurso de Azure OpenAI.
deployment-id string Obligatorio Nombre de la implementación de modelo. Es necesario implementar primero un modelo antes de poder hacer llamadas.
api-version cadena Obligatorio Versión de API que se usará para la operación. Sigue el formato AAAA-MM-DD.

Versiones compatibles

Cuerpo de la solicitud

Parámetro Tipo ¿Necesario? Valor predeterminado Descripción
input cadena o matriz N/D Texto de entrada para el que se desea obtener incrustaciones, codificado como cadena o matriz. El número de tokens de entrada varía en función del modelo que se use. Solo text-embedding-ada-002 (Version 2) admite la entrada de matriz.
user cadena No Null Un identificador único que representa a su usuario final. Esto ayudará a Azure OpenAI a supervisar y detectar abusos. No pase identificadores PII, sino que use valores pseudoanónimos como GUID
encoding_format string No float Formato en el que se devuelven las incrustaciones. Puede ser float o base64. Tiene como valor predeterminado float.

[Agregado en 2024-03-01-preview].
dimensions integer No Número de dimensiones que deben tener las incrustaciones de salida resultantes. Solo se admite en modelos text-embedding-3 y versiones posteriores.

[Agregado en 2024-03-01-preview]

Solicitud de ejemplo

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

Respuesta de ejemplo

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

Finalizaciones de chat

Cree finalizaciones para mensajes de chat con los modelos GPT-35-Turbo y GPT-4.

Creación de finalizaciones de chat

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

Parámetros de la ruta de acceso

Parámetro Tipo ¿Necesario? Descripción
your-resource-name string Obligatorio Nombre del recurso de Azure OpenAI.
deployment-id string Obligatorio Nombre de la implementación de modelo. Es necesario implementar primero un modelo antes de poder hacer llamadas.
api-version cadena Obligatorio Versión de API que se usará para la operación. Esto sigue el formato de versión preliminar AAAA-MM-DD.

Versiones compatibles

Cuerpo de la solicitud

El cuerpo de la solicitud consta de una serie de mensajes. El modelo generará una respuesta al último mensaje, usando mensajes anteriores como contexto.

Parámetro Tipo ¿Necesario? Valor predeterminado Descripción
messages array N/D La serie de mensajes asociados a esta solicitud de finalización de chat. Debe incluir mensajes anteriores en la conversación. Cada mensaje tiene un role y content.
role string N/D Indica quién está dando el mensaje actual. Puede ser system,user,assistant,toolo function.
content cadena o matriz N/D Contenido del mensaje. Debe ser una cadena, a menos que se trate de un escenario habilitado para Vision. Si forma parte del mensaje de user, con el modelo GPT-4 Turbo con Vision, con la versión de API más reciente, content debe ser una matriz de estructuras, donde cada elemento representa texto o una imagen:
  • text: el texto de entrada se representa como una estructura con las siguientes propiedades:
    • type = "text"
    • text = el texto introducido
  • images: una imagen de entrada se representa como una estructura con las siguientes propiedades:
    • type = "image_url"
    • image_url = una estructura con las siguientes propiedades:
      • url = la dirección URL de la imagen
      • (opcional) detail = high, low o auto
contentPart object No N/D Parte del mensaje multi modal de un usuario. Puede ser de tipo de texto o de imagen. Si es texto, será una cadena de texto. Si es una imagen, será un objeto contentPartImage.
contentPartImage object No N/D Representa una imagen cargada por el usuario. Tiene una propiedad url, que es una dirección URL de la imagen o los datos de imagen codificados en base 64. También tiene una propiedad detail que puede ser auto, lowo high.
enhancements object No N/D Representa las características de mejora de Vision solicitadas para el chat. Tiene propiedades grounding y ocr, cada una tiene una propiedad enabled booleana. Úselos para solicitar el servicio OCR o el servicio de detección o conexión a tierra de objetos [Este parámetro de versión preliminar no está disponible en la API de disponibilidad general 2024-02-01 y ya no está disponible en las API de versión preliminar después de 2024-03-01-preview].
dataSources objeto No N/D Representa datos de recursos adicionales. Se necesitan datos de recursos de Computer Vision para mejorar Vision. Tiene una propiedad type que debe ser "AzureComputerVision" y una propiedad parameters que tiene una propiedad endpoint y key. Estas cadenas deben establecerse en la dirección URL del punto de conexión y la clave de acceso del recurso de Computer Vision.

Solicitud de ejemplo

Chat de solo texto

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 con visión

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

Chat mejorado con visión

  • No es compatible con lagpt-4versiónturbo-2024-04-09 del modelo de disponibilidad general de GPT-4 Turbo:
  • No es compatible con las versiones2024-02-01e2024-04-01-preview y más recientes de la API.
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"}]}]}'

Respuesta de ejemplo

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

El formato de salida ajustado para la facilidad de lectura. La salida real es un único bloque de texto sin saltos de línea.

En la respuesta de ejemplo, finish_reason es igual a stop. Si finish_reason fuera igual a content_filter, consulte nuestra guía de filtrado de contenido para comprender por qué ocurre esto.

Importante

Los parámetros functions y function_call han quedado en desuso con la versión de 2023-12-01-preview de la API. El reemplazo de functions es el parámetro tools. El reemplazo de function_call es el parámetro tool_choice. Las llamadas a funciones paralelas que se introdujeron como parte de 2023-12-01-preview solo se admiten con gpt-35-turbo (1106) y gpt-4 (1106-preview) también conocidos como versión preliminar de GPT-4 Turbo.

Parámetro Tipo ¿Necesario? Valor predeterminado Descripción
messages array Obligatorio Colección de mensajes de contexto asociados a esta solicitud de finalización de chat. El uso típico comienza con un mensaje de chat para el rol Sistema que proporciona instrucciones para el comportamiento del asistente, seguido de mensajes alternados entre los roles Usuario y Asistente.
temperature number Opcional 1 Temperatura de muestreo que se vaya a usar, entre 0 y 2. Los valores más altos, como 0,8, harán que la salida sea más aleatoria, mientras que los valores más bajos, como 0,2, la harán más enfocada y determinista. Por lo general, recomendamos modificar esto o top_p, pero no ambos.
n integer Opcional 1 Cuántas opciones de finalización de chat se van a generar para cada mensaje de entrada.
stream boolean Opcionales false Si se establece, se enviarán deltas de mensajes parciales, como en ChatGPT. Los tokens se enviarán como eventos enviados por el servidor solo de datos a medida que estén disponibles, con la transmisión terminada por un mensaje data: [DONE]."
stop cadena o matriz Opcional null Hasta 4 secuencias en las que la API dejará de generar más tokens.
max_tokens integer Opcional inf Número máximo de tokens permitidos para la respuesta generada. De forma predeterminada, el número de tokens que puede devolver el modelo será (4096: tokens de aviso).
presence_penalty number Opcionales 0 Número entre 2.0 y 2.0. Los valores positivos penalizan los nuevos tokens en función de su aparición en el texto hasta el momento, aumentando la probabilidad de que el modelo hable de nuevos temas.
frequency_penalty number Opcionales 0 Número entre 2.0 y 2.0. Los valores positivos penalizan los nuevos tokens en función de su frecuencia existente en el texto hasta el momento, disminuyendo la probabilidad del modelo de repetir la misma línea textualmente.
logit_bias object Opcional null Modifica la probabilidad de que los tokens especificados aparezcan en la finalización. Acepta un objeto JSON que asignará tokens (especificados por su id. de token en el tokenizador) a un valor de sesgo asociado de -100 a 100. Matemáticamente, el sesgo se agrega a los logits generados por el modelo antes del muestreo. El efecto exacto varía según el modelo, pero los valores entre -1 y 1 deberían disminuir o aumentar la probabilidad de selección; valores como -100 o 100 deberían dar lugar a una prohibición o selección exclusiva del token correspondiente.
user string Opcional Identificador único que representa al usuario final y puede ayudar a Azure OpenAI a supervisar y detectar abusos.
function_call Opcional [Deprecated in 2023-12-01-preview replacement parameter is tools_choice]Controla cómo responde el modelo a las llamadas de función. "none" significa que el modelo no llama a una función y responde al usuario final. auto significa que el modelo puede elegir entre un usuario final o llamar a una función. Especificar una función determinada a través de {"name": "my_function"} obliga al modelo a llamar a esa función. "none" es el valor predeterminado cuando no hay funciones presentes. auto es el valor predeterminado si hay funciones. Este parámetro requiere la versión de la API 2023-07-01-preview
functions FunctionDefinition[] Opcionales [Deprecated in 2023-12-01-preview replacement paremeter is tools] Una lista de funciones para las que el modelo puede generar entradas JSON. Este parámetro requiere la versión de la API 2023-07-01-preview
tools cadena (el tipo de la herramienta. Solo se admite function). Opcionales Una lista de herramientas a las que puede llamar el modelo. Actualmente, solo se admiten funciones como una herramienta. Úselo para proporcionar una lista de funciones para las que el modelo puede generar entradas JSON. Este parámetro requiere la versión de la API 2023-12-01-preview
tool_choice cadena u objeto Opcionales none es el valor predeterminado cuando no hay funciones presentes. auto es el valor predeterminado si hay funciones. Controla la función (si existe) a la que llama el modelo. None significa que el modelo no llamará a una función, sino que generará un mensaje. auto significa que el modelo puede elegir entre generar un mensaje o llamar a una función. Especificar una función determinada a través de {"type: "function", "function": {"name": "my_function"}} obliga al modelo a llamar a esa función. Este parámetro requiere la versión 2023-12-01-preview de la API, o cualquier versión posterior.

ChatMessage

Un único mensaje con atributos de rol dentro de una interacción de finalización del chat.

Nombre Escribir Descripción
contenido cadena Texto asociado a esta carga del mensaje.
function_call FunctionCall Nombre y argumentos de una función a la que se debe llamar, según lo generado por el modelo.
name cadena El name del autor de este mensaje. name es necesario si el rol es function y debe ser el nombre de la función cuya respuesta está en el content. Puede contener caracteres a-z, A-Z, 0-9 y de subrayado, con una longitud máxima de 64 caracteres.
rol ChatRole Rol asociado a esta carga de mensajes

ChatRole

Descripción del propósito previsto de un mensaje dentro de una interacción de finalizaciones de chat.

Nombre Escribir Descripción
assistant cadena Rol que proporciona respuestas a la entrada indicada por el sistema y al usuario.
function cadena Rol que proporciona resultados de función para finalizaciones de chat.
sistema cadena Rol que indica o establece el comportamiento del asistente.
usuario cadena Rol que proporciona la entrada para las finalizaciones de chat.

Función

Esto se usa con el parámetro tools que se agregó en la versión de API 2023-12-01-preview.

Nombre Escribir Descripción
descripción string Descripción de lo que hace la función, que usa el modelo para elegir cuándo y cómo llamar a la función
name cadena El nombre de la función que se llamará. Debe ser a-z, A-Z, 0-9, o contener caracteres de subrayado y guiones, con una longitud máxima de 64
parámetros object Los parámetros que aceptan las funciones, que se describen como un objeto de Esquema JSON. Consulte la referencia del esquema JSON para obtener documentación sobre el formato".

FunctionCall-Deprecated

Nombre y argumentos de una función a la que se debe llamar, según lo generado por el modelo. Esto requiere la versión de la API 2023-07-01-preview

Nombre Escribir Descripción
argumentos string Argumentos para llamar a la función, según lo generado por el modelo en formato JSON. El modelo no siempre genera JSON válido y puede fabricar parámetros no definidos por el esquema de función. Valide los argumentos del código antes de llamar a la función.
name cadena El nombre de la función que se va a llamar.

FunctionDefinition-Deprecated

La definición de una función especificada por el autor de la llamada que las finalizaciones de chat pueden invocar en respuesta a la entrada del usuario coincidente. Esto requiere la versión de la API 2023-07-01-preview

Nombre Escribir Descripción
descripción cadena Descripción de lo que hace la función. El modelo usa esta descripción al seleccionar la función e interpretar sus parámetros.
name cadena El nombre de la función que se llamará.
parameters Los parámetros que aceptan las funciones, que se describen como un objeto de Esquema JSON.

Extensiones de finalizaciones

La documentación de esta sección se ha movido. En su lugar, consulte la documentación de referencia de Azure OpenAI On Your Data.

Imagen y generación

Solicitud de una imagen generada (DALL-E 3)

Genere y recupere un lote de imágenes a partir de un título de texto.

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

Parámetros de la ruta de acceso

Parámetro Tipo ¿Necesario? Descripción
your-resource-name string Obligatorio Nombre del recurso de Azure OpenAI.
deployment-id string Obligatorio Nombre de la implementación del modelo DALL-E 3, como MyDalle3. Es necesario que primero implemente un modelo de DALL-E 3 antes de poder hacer llamadas.
api-version cadena Obligatorio Versión de API que se usará para la operación. Sigue el formato AAAA-MM-DD.

Versiones compatibles

Cuerpo de la solicitud

Parámetro Tipo ¿Necesario? Valor predeterminado Descripción
prompt string Obligatorio Descripción de texto de las imágenes deseadas. La longitud máxima es de 4000 caracteres.
n integer Opcional 1 Número de imágenes que se van a generar. Solo se admite n=1 para DALL-E 3.
size cadena Opcional 1024x1024 Tamaño de las imágenes generadas. Debe ser uno de los siguientes valores: 1792x1024, 1024x1024 o 1024x1792.
quality cadena Opcional standard Calidad de las imágenes generadas. Debe ser hd o standard.
response_format cadena Opcionales url El formato en el que se devuelven las imágenes generadas debe ser url (una dirección URL que apunte a la imagen) o b64_json (el código de bytes base 64 en formato JSON).
style string Opcional vivid Estilo de las imágenes generadas. Debe ser natural o vivid (para imágenes hiper-realistas o dramáticas).
user string Opcionales Identificador único que representa al usuario final, lo que puede ayudar a supervisar y detectar abusos.

Solicitud de ejemplo

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

Respuesta de ejemplo

La operación devuelve un código de estado 202 y un objeto JSON GenerateImagesResponse que contiene el identificador y el estado de la operación.

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

Solicitud de una imagen generada (versión preliminar de DALL-E 2)

Genere un lote de imágenes a partir de una descripción de texto.

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

Parámetros de la ruta de acceso

Parámetro Tipo ¿Necesario? Descripción
your-resource-name string Obligatorio Nombre del recurso de Azure OpenAI.
api-version string Obligatorio Versión de API que se usará para la operación. Sigue el formato AAAA-MM-DD.

Versiones compatibles

Cuerpo de la solicitud

Parámetro Tipo ¿Necesario? Valor predeterminado Descripción
prompt string Obligatorio Descripción de texto de las imágenes deseadas. La longitud máxima es de 1000 caracteres.
n integer Opcional 1 Número de imágenes que se van a generar. Debe estar entre 1 y 5.
size string Opcional 1024x1024 Tamaño de las imágenes generadas. Debe ser uno de los siguientes valores: 256x256, 512x512 o 1024x1024.

Solicitud de ejemplo

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

Respuesta de ejemplo

La operación devuelve un código de estado 202 y un objeto JSON GenerateImagesResponse que contiene el identificador y el estado de la operación.

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

Obtención de un resultado de imagen generado (versión preliminar de DALL-E 2)

Use esta API para recuperar los resultados de una operación de generación de imágenes. La generación de imágenes solo está disponible actualmente con api-version=2023-06-01-preview.

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

Parámetros de la ruta de acceso

Parámetro Tipo ¿Necesario? Descripción
your-resource-name string Obligatorio Nombre del recurso de Azure OpenAI.
operation-id string Obligatorio GUID que identifica la solicitud de generación de imágenes original.

Versiones compatibles

Solicitud de ejemplo

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

Respuesta de ejemplo

Una vez realizada correctamente, la operación devolverá un código de estado 200 y un objeto JSON OperationResponse. El campo status puede ser "notRunning" (la tarea está en cola pero aún no se ha iniciado), "running", "succeeded", "canceled" (la tarea ha agotado el tiempo de espera), "failed" o "deleted". Un estado succeeded indica que la imagen generada está disponible para su descarga en la dirección URL especificada. Si se generaron varias imágenes, todas sus direcciones URL se devolverán en el campo result.data.

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

Eliminar una imagen generada del servidor (versión preliminar DALL-E 2)

Puede usar el identificador de operación devuelto por la solicitud para eliminar la imagen correspondiente del servidor de Azure. Las imágenes generadas se eliminarán automáticamente después de 24 horas de forma predeterminada, pero es posible desencadenar la eliminación antes si lo desea.

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

Parámetros de la ruta de acceso

Parámetro Tipo ¿Necesario? Descripción
your-resource-name string Obligatorio Nombre del recurso de Azure OpenAI.
operation-id string Obligatorio GUID que identifica la solicitud de generación de imágenes original.

Versiones compatibles

Solicitud de ejemplo

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

La operación devuelve un código de estado 204 si se ejecuta correctamente. Esta API solo será exitosa si la operación está en un estado final (no running).

Conversión de voz en texto

Puede usar un modelo de Whisper en Azure OpenAI Service para la transcripción de texto o la traducción de voz. Para obtener más información sobre el uso de un modelo de Whisper, consulte la guía de inicio rápido y la introducción al modelo de Whisper.

Solicitud de una transcripción de conversión de voz en texto

Transcribe un archivo de audio.

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

Parámetros de la ruta de acceso

Parámetro Tipo ¿Necesario? Descripción
your-resource-name string Obligatorio El nombre del recurso de Azure OpenAI.
deployment-id string Obligatorio Nombre de la implementación de modelo de Whisper, como MyWhisperDeployment. Es necesario que primero implemente un modelo de Whisper antes de poder hacer llamadas.
api-version cadena Obligatorio Versión de API que se usará para la operación. Este valor sigue el formato AAAA-MM-DD.

Versiones compatibles

Cuerpo de la solicitud

Parámetro Tipo ¿Necesario? Valor predeterminado Descripción
file file N/D Objeto de archivo de audio (no nombre de archivo) que se va a transcribir, en uno de estos formatos: flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav o webm.

El límite de tamaño de archivo para el modelo Whisper en Azure OpenAI Service es de 25 MB. Si necesita transcribir un archivo de más de 25 MB, divídalo en fragmentos. Como alternativa, puede usar la API de transcripción por lotes de Voz de Azure AI.

Es posible obtener archivos de audio de ejemplo desde el repositorio de SDK de Voz de Azure AI en GitHub.
language cadena No Null Idioma del audio de entrada, como fr. Proporcionar el idioma de entrada en formato ISO-639-1 mejora la precisión y la latencia.

Para obtener la lista de idiomas admitidos, consulte la Documentación de OpenAI.
prompt cadena No Null Texto opcional para guiar el estilo del modelo o continuar con un segmento de audio anterior. El mensaje debe coincidir con el idioma del audio.

Para obtener más información sobre las solicitudes, incluidos los casos de uso de ejemplo, consulte la Documentación de OpenAI.
response_format cadena No json El formato de la salida de la transcripción, en una de estas opciones: json, text, srt, verbose_json o vtt.

El valor predeterminado es json.
temperature number No 0 Temperatura de muestreo, entre 0 y 1.

Los valores más altos, como 0,8, hacen que la salida sea más aleatoria, mientras que los valores más bajos, como 0,2, la hacen más enfocada y determinista. Si se establece en 0, el modelo usa la probabilidad de registro para aumentar automáticamente la temperatura hasta que se alcancen determinados umbrales.

El valor predeterminado es 0.
timestamp_granularities array Opcionales segmento Granularidades de marca de tiempo que se van a rellenar para esta transcripción. response_format debe establecerse en verbose_json para usar granularidades de marca de tiempo. Se admiten una o ambas opciones: word o segment. Nota: no hay ninguna latencia adicional para las marcas de tiempo de segmento, pero la generación de marcas de tiempo de palabra incurre en una latencia adicional. [Agregado el 2024-04-01-preview]

Solicitud de ejemplo

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"

Respuesta de ejemplo

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.

Solicitud de una traducción de conversión de voz en texto

Traduce un archivo de audio de otro idioma al inglés. Para obtener la lista de idiomas admitidos, consulte la Documentación de OpenAI.

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

Parámetros de la ruta de acceso

Parámetro Tipo ¿Necesario? Descripción
your-resource-name string Obligatorio El nombre del recurso de Azure OpenAI.
deployment-id string Obligatorio Nombre de la implementación de modelo de Whisper, como MyWhisperDeployment. Es necesario que primero implemente un modelo de Whisper antes de poder hacer llamadas.
api-version cadena Obligatorio Versión de API que se usará para la operación. Este valor sigue el formato AAAA-MM-DD.

Versiones compatibles

Cuerpo de la solicitud

Parámetro Tipo ¿Necesario? Valor predeterminado Descripción
file file N/D Objeto de archivo de audio (no el nombre de archivo) para transcribir, en uno de estos formatos: flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav o webm.

El límite de tamaño de archivo para el modelo Whisper de Azure OpenAI es de 25 MB. Si necesita transcribir un archivo de más de 25 MB, divídalo en fragmentos.

Puede descargar archivos de audio de ejemplo desde el repositorio de SDK de Voz de Azure AI en GitHub.
prompt cadena No Null Texto opcional para guiar el estilo del modelo o continuar con un segmento de audio anterior. El mensaje debe coincidir con el idioma del audio.

Para obtener más información sobre las solicitudes, incluidos los casos de uso de ejemplo, consulte la Documentación de OpenAI.
response_format cadena No json El formato de la salida de la transcripción, en una de estas opciones: json, text, srt, verbose_json o vtt.

El valor predeterminado es json.
temperature number No 0 Temperatura de muestreo, entre 0 y 1.

Los valores más altos, como 0,8, hacen que la salida sea más aleatoria, mientras que los valores más bajos, como 0,2, la hacen más enfocada y determinista. Si se establece en 0, el modelo usa la probabilidad de registro para aumentar automáticamente la temperatura hasta que se alcancen determinados umbrales.

El valor predeterminado es 0.

Solicitud de ejemplo

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"

Respuesta de ejemplo

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

Texto a voz

Síntesis de texto a voz.

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

Parámetros de la ruta de acceso

Parámetro Tipo ¿Necesario? Descripción
your-resource-name string Obligatorio El nombre del recurso de Azure OpenAI.
deployment-id string Obligatorio Nombre de la implementación del modelo de texto a voz, como MyTextToSpeechDeployment. Es necesario implementar primero un modelo de texto a voz (como tts-1 o tts-1-hd) para poder realizar llamadas.
api-version string Obligatorio Versión de API que se usará para la operación. Este valor sigue el formato AAAA-MM-DD.

Versiones compatibles

Cuerpo de la solicitud

Parámetro Tipo ¿Necesario? Valor predeterminado Descripción
model string N/D Uno de los modelos de este tipo disponibles: tts-1 o tts-1-hd
input string N/D Texto para el que se va a generar audio. La longitud máxima es de 4096 caracteres. Especifique el texto de entrada en el idioma que prefiera.1
voice string N/D Voz que se va a usar al generar el audio. Las voces admitidas son alloy, echo, fable, onyx, nova y shimmer. Las vistas previas de las voces están disponibles en la guía de texto a voz de OpenAI.

1 Los modelos de texto a voz generalmente admiten los mismos idiomas que el modelo Whisper. Para obtener la lista de idiomas admitidos, consulte la Documentación de OpenAI.

Solicitud de ejemplo

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

Respuesta de ejemplo

La voz se devuelve como un archivo de audio de la solicitud anterior.

API de administración

Azure OpenAI se implementa como parte de los servicios de Azure AI. Todos los servicios de Azure AI se basan en el mismo conjunto de administración de API para las operaciones de creación, actualización y eliminación. Las API de administración también se usan para implementar modelos dentro de un recurso de Azure OpenAI.

Documentación de referencia de las API de administración

Pasos siguientes

Obtenga información sobre los Modelos y ajustes con la API de REST. Más información sobre los modelos subyacentes que impulsan Azure OpenAI.