Compartir a través de


Azure OpenAI en microsoft Foundry Models v1 API

En este artículo se muestra cómo usar la API de OpenAI v1 Azure. La API v1 simplifica la autenticación, elimina la necesidad de parámetros con fecha api-version y admite llamadas de modelo entre proveedores.

Nota:

Es posible que se agreguen nuevos objetos de respuesta de API a la respuesta de api en cualquier momento. Se recomienda analizar solo los objetos de respuesta que necesite.

Prerrequisitos

Evolución de la API

Anteriormente, Azure OpenAI recibió actualizaciones mensuales de nuevas versiones de API. Aprovechar las nuevas características necesarias para actualizar constantemente el código y las variables de entorno con cada nueva versión de API. Azure OpenAI también requería el paso adicional de usar Azure clientes específicos que crearon sobrecarga al migrar código entre OpenAI y Azure OpenAI.

A partir de agosto de 2025, puede suscribirse a la próxima generación de las APIs de Azure OpenAI v1 que añaden compatibilidad con:

  • Acceso continuo a las características más recientes sin necesidad de especificar nuevas api-version todos los meses.
  • Ciclo de lanzamiento de API más rápido con nuevas características que se inician con más frecuencia.
  • Soporte para clientes de OpenAI con cambios mínimos en el código para alternar entre OpenAI y Azure OpenAI al usar la autenticación basada en claves.
  • Compatibilidad con el cliente de OpenAI para la autenticación basada en tokens y la actualización automática de tokens sin necesidad de depender de un cliente de OpenAI independiente Azure.
  • Realice llamadas de finalización de chat con modelos de otros proveedores, como DeepSeek y Grok, que admiten la sintaxis de finalizaciones de chat v1.

El acceso a las nuevas llamadas a la API que todavía están en versión preliminar se controlará pasando encabezados de vista previa específicos de características, lo que le permite optar por las funciones que desea, sin tener que intercambiar versiones de la API. Como alternativa, algunas características indicarán el estado de vista previa a través de su ruta de acceso de API y no requieren un encabezado adicional.

Ejemplos:

  • Cuando /openai/v1/evals se encontraba anteriormente en versión preliminar, era necesario pasar un encabezado "aoai-evals":"preview". /evals ya no está en versión preliminar.
  • /openai/v1/fine_tuning/alpha/graders/ está en versión preliminar y no requiere ningún encabezado personalizado debido a la presencia de alpha en la ruta de acceso de la API.

Para el lanzamiento inicial de la API v1 de disponibilidad general, solo se admite un subconjunto de las funcionalidades de inferencia y autoría de la API. Todas las características de disponibilidad general se admiten para su uso en producción. La compatibilidad con más funcionalidades se agrega rápidamente.

Cambios en el código

API v1

Ejemplos de Python v1

Clave de API:

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.getenv("AZURE_OPENAI_API_KEY"),
    base_url="https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/"
)

response = client.responses.create(   
  model="gpt-4.1-nano", # Replace with your model deployment name 
  input="This is a test.",
)

print(response.model_dump_json(indent=2)) 

Diferencias clave de la API anterior:

  • OpenAI() el cliente se usa en lugar de AzureOpenAI().
  • base_url pasa al punto de conexión de OpenAI de Azure y /openai/v1 se añade a la dirección del punto de conexión.
  • api-version ya no es un parámetro necesario con la API de disponibilidad general v1.

Clave de API con variables de entorno:

Establezca las siguientes variables de entorno antes de ejecutar el código:

Variable Importancia
OPENAI_BASE_URL https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/
OPENAI_API_KEY La clave de API de OpenAI de Azure

A continuación, cree el cliente sin parámetros:

client = OpenAI()

Microsoft Entra ID:

Importante

El control de la actualización automática de tokens se controló previamente mediante el uso del AzureOpenAI() cliente. La API v1 quita esta dependencia al agregar compatibilidad con la actualización automática de tokens al cliente de OpenAI().

from openai import OpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider

token_provider = get_bearer_token_provider(
    DefaultAzureCredential(), "https://ai.azure.com/.default"
)

client = OpenAI(  
  base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",  
  api_key = token_provider  
)

response = client.responses.create(
    model="gpt-4.1-nano",
    input= "This is a test" 
)

print(response.model_dump_json(indent=2)) 
  • base_url pasa al punto de conexión de OpenAI de Azure y /openai/v1 se añade a la dirección del punto de conexión.
  • El parámetro api_key se establece en token_provider, lo que permite la recuperación automática y la actualización de un token de autenticación en lugar de usar una clave de API estática.

Compatibilidad con los modelos

Para Azure modelos de OpenAI, se recomienda usar la API de Responses, sin embargo, la API v1 también le permite realizar llamadas de finalización de chat con modelos de otros proveedores, como DeepSeek y Grok, que admiten la sintaxis de finalizaciones de chat de OpenAI v1.

base_url aceptará los formatos https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/ y https://YOUR-RESOURCE-NAME.services.ai.azure.com/openai/v1/.

Nota:

La API de respuestas también funciona con los modelos foundry vendidos directamente por Azure, como los modelos microsoft AI, DeepSeek y Grok. Para obtener información sobre cómo usar la API de respuestas con estos modelos, consulte Cómo generar respuestas de texto con modelos de Microsoft Foundry.

from openai import OpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider

token_provider = get_bearer_token_provider(
    DefaultAzureCredential(), "https://ai.azure.com/.default"
)

client = OpenAI(  
  base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",  
  api_key=token_provider,
)
completion = client.chat.completions.create(
  model="MAI-DS-R1", # Replace with your model deployment name.
  messages=[
    {"role": "system", "content": "You are a helpful assistant."},
    {"role": "user", "content": "Tell me about the attention is all you need paper"}
  ]
)

#print(completion.choices[0].message)
print(completion.model_dump_json(indent=2))

Compatibilidad con la API v1

Registro de cambios de la versión de API

En las secciones siguientes se resumen los cambios entre las versiones de API.

Cambios entre la versión preliminar v1 y 2025-04-01-preview

Cambios entre 2025-04-01-preview y 2025-03-01-preview

Cambios entre 2025-03-01-preview y 2025-02-01-preview

Cambios entre 2025-02-01-preview y 2025-01-01-preview

  • Finalizaciones almacenadas (compatibilidad con la API de destilación).

Cambios entre 2025-01-01-preview y 2024-12-01-preview

Cambios entre 2024-12-01-preview y 2024-10-01-preview

Cambios entre 2024-09-01-preview y 2024-08-01-preview

  • Se ha agregado max_completion_tokens para admitir modelos o1-preview y o1-mini. max_tokens no funciona con los modelos de la serie o1 .
  • parallel_tool_calls agregado.
  • Se agregó completion_tokens_details y reasoning_tokens.
  • Se agregó stream_options y include_usage.

Cambios entre la especificación de API 2024-07-01-preview y 2024-08-01-preview

  • Soporte de las salidas estructuradas.
  • Se ha agregado la API de carga de archivos grandes.
  • En los cambios de datos:
    • Integración de Mongo DB.
    • El parámetro role_information se ha eliminado.
    • rerank_score agregado al objeto de cita.
    • Se ha quitado el origen de datos de AML.
    • Mejoras en la integración de vectorización de Búsqueda de IA.

Cambios entre la especificación de api 2024-05-01-preview y 2024-07-01-preview

Cambios entre la especificación de API 2024-04-01-preview y 2024-05-01-preview

Cambios entre la especificación de API 2024-03-01-preview y 2024-04-01-preview

Problemas conocidos

  • La especificación de 2025-04-01-preview Azure OpenAI utiliza OpenAPI 3.1. Es un problema conocido que esta versión no es totalmente compatible con Azure API Management.

Pasos siguientes