Eventos
Compilación de Intelligent Apps
17 mar, 21 - 21 mar, 10
Únase a la serie de reuniones para crear soluciones de inteligencia artificial escalables basadas en casos de uso reales con compañeros desarrolladores y expertos.
Regístrese ahoraEste explorador ya no se admite.
Actualice a Microsoft Edge para aprovechar las características y actualizaciones de seguridad más recientes, y disponer de soporte técnico.
Los modelos o-series
de Azure OpenAI están diseñados para abordar tareas de razonamiento y resolución de problemas con un mayor foco y capacidad. Estos modelos invierten más tiempo en procesar y comprender la solicitud del usuario, lo que hace que sean excepcionalmente fuertes en áreas como ciencia, codificación y matemáticas en comparación con las iteraciones anteriores.
Funcionalidades clave de los modelos de la serie o
Para obtener acceso a o3-mini
, o1
y o1-preview
, es necesario registrarse y se le concederá acceso en función de los criterios de idoneidad de Microsoft.
Los clientes que aplicaron y recibieron acceso previamente a o1
o o1-preview
no tienen que volver a aplicarlos, ya que se encuentran automáticamente en la lista de espera para el modelo más reciente.
Solicitud de acceso: aplicación de modelo de acceso limitado
Modelo | Region | Acceso limitado |
---|---|---|
o3-mini |
Disponibilidad del modelo. | Aplicación de modelo de acceso limitado |
o1 |
Disponibilidad del modelo. | Aplicación de modelo de acceso limitado |
o1-preview |
Disponibilidad del modelo. | Este modelo solo está disponible para los clientes a los que se les concedió acceso como parte de la versión de acceso limitado original. Por el momento no vamos a ampliar el acceso a o1-preview . |
o1-mini |
Disponibilidad del modelo. | No es necesaria ninguna solicitud de acceso para las implementaciones estándar globales. Las implementaciones estándar (regionales) solo están disponibles actualmente para aquellos clientes que obtuvieron acceso como parte de la versión de o1-preview . |
Característica | o3-mini, 2025-01-31 | o1, 2024-12-17 | o1-preview, 2024-09-12 | o1-mini, 2024-09-12 |
---|---|---|---|---|
Versión de la API | 2024-12-01-preview 2025-01-01-preview |
2024-12-01-preview 2025-01-01-preview |
2024-09-01-preview 2024-10-01-preview 2024-12-01-preview |
2024-09-01-preview 2024-10-01-preview 2024-12-01-preview |
Mensajes para desarrolladores | ✅ | ✅ | - | - |
Salidas estructuradas | ✅ | ✅ | - | - |
Ventana de contexto | Entrada: 200 000 Salida: 100 000 |
Entrada: 200 000 Salida: 100 000 |
Entrada: 128 000 Salida: 32,768 |
Entrada: 128 000 Salida: 65,536 |
Esfuerzo de razonamiento | ✅ | ✅ | - | - |
Compatibilidad con la visión | - | ✅ | - | - |
Funciones y herramientas | ✅ | ✅ | - | - |
max_completion_tokens * |
✅ | ✅ | ✅ | ✅ |
Mensajes del sistema** | ✅ | ✅ | - | - |
Streaming | ✅ | - | - | - |
Los modelos de razonamiento de * solo funcionarán con el parámetro max_completion_tokens
.
**El modelo de la serie o* más reciente admite mensajes del sistema para facilitar la migración. Cuando use un mensaje del sistema con o3-mini
y o1
, se tratará como un mensaje de desarrollador. No debe usar un mensaje de desarrollador y un mensaje del sistema en la misma solicitud de API.
Los siguientes modelos no son compatibles actualmente con los modelos de razonamiento:
temperature
, top_p
, presence_penalty
, frequency_penalty
, logprobs
, top_logprobs
, logit_bias
, max_tokens
Estos modelos actualmente no admiten el mismo conjunto de parámetros que otros modelos que usan la API de finalizaciones de chat.
Deberá actualizar la biblioteca cliente de OpenAI para acceder a los parámetros más recientes.
pip install openai --upgrade
Si no está familiarizado con el uso de Microsoft Entra ID para la autenticación, consulte Configuración de Azure OpenAI Service con autenticación de Microsoft Entra ID.
from openai import AzureOpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
token_provider = get_bearer_token_provider(
DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"
)
client = AzureOpenAI(
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT"),
azure_ad_token_provider=token_provider,
api_version="2024-12-01-preview"
)
response = client.chat.completions.create(
model="o1-new", # replace with the model deployment name of your o1-preview, or o1-mini model
messages=[
{"role": "user", "content": "What steps should I think about when writing my first Python API?"},
],
max_completion_tokens = 5000
)
print(response.model_dump_json(indent=2))
Salida:
{
"id": "chatcmpl-AEj7pKFoiTqDPHuxOcirA9KIvf3yz",
"choices": [
{
"finish_reason": "stop",
"index": 0,
"logprobs": null,
"message": {
"content": "Writing your first Python API is an exciting step in developing software that can communicate with other applications. An API (Application Programming Interface) allows different software systems to interact with each other, enabling data exchange and functionality sharing. Here are the steps you should consider when creating your first Python API...truncated for brevity.",
"refusal": null,
"role": "assistant",
"function_call": null,
"tool_calls": null
},
"content_filter_results": {
"hate": {
"filtered": false,
"severity": "safe"
},
"protected_material_code": {
"filtered": false,
"detected": false
},
"protected_material_text": {
"filtered": false,
"detected": false
},
"self_harm": {
"filtered": false,
"severity": "safe"
},
"sexual": {
"filtered": false,
"severity": "safe"
},
"violence": {
"filtered": false,
"severity": "safe"
}
}
}
],
"created": 1728073417,
"model": "o1-2024-12-17",
"object": "chat.completion",
"service_tier": null,
"system_fingerprint": "fp_503a95a7d8",
"usage": {
"completion_tokens": 1843,
"prompt_tokens": 20,
"total_tokens": 1863,
"completion_tokens_details": {
"audio_tokens": null,
"reasoning_tokens": 448
},
"prompt_tokens_details": {
"audio_tokens": null,
"cached_tokens": 0
}
},
"prompt_filter_results": [
{
"prompt_index": 0,
"content_filter_results": {
"custom_blocklists": {
"filtered": false
},
"hate": {
"filtered": false,
"severity": "safe"
},
"jailbreak": {
"filtered": false,
"detected": false
},
"self_harm": {
"filtered": false,
"severity": "safe"
},
"sexual": {
"filtered": false,
"severity": "safe"
},
"violence": {
"filtered": false,
"severity": "safe"
}
}
}
]
}
Nota
Los modelos de razonamiento tienen reasoning_tokens
como parte de completion_tokens_details
en la respuesta del modelo. Estos son tokens ocultos que no se devuelven como parte del contenido de respuesta del mensaje, pero que el modelo usa para ayudar a generar una respuesta final a la solicitud.
2024-12-01-preview
agrega un nuevo parámetro reasoning_effort
adicional que se puede establecer en low
, medium
o high
con el modelo más reciente o1
. Cuanto mayor sea la configuración de esfuerzo, más tiempo pasará el modelo procesando la solicitud, lo que generalmente dará lugar a un mayor número de reasoning_tokens
.
Los mensajes "role": "developer"
de desarrollador funcionalmente son los mismos que los mensajes del sistema.
Agregar un mensaje de desarrollador al ejemplo de código anterior tendría el siguiente aspecto:
Deberá actualizar la biblioteca cliente de OpenAI para acceder a los parámetros más recientes.
pip install openai --upgrade
Si no está familiarizado con el uso de Microsoft Entra ID para la autenticación, consulte Configuración de Azure OpenAI Service con autenticación de Microsoft Entra ID.
from openai import AzureOpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
token_provider = get_bearer_token_provider(
DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"
)
client = AzureOpenAI(
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT"),
azure_ad_token_provider=token_provider,
api_version="2024-12-01-preview"
)
response = client.chat.completions.create(
model="o1-new", # replace with the model deployment name of your o1-preview, or o1-mini model
messages=[
{"role": "developer","content": "You are a helpful assistant."}, # optional equivalent to a system message for reasoning models
{"role": "user", "content": "What steps should I think about when writing my first Python API?"},
],
max_completion_tokens = 5000
)
print(response.model_dump_json(indent=2))
De forma predeterminada, los modelos o3-mini
y o1
no intentarán generar resultados que incluyan formato Markdown. Un caso de uso común en el que este comportamiento no es deseable es cuando se quiere que el modelo produzca código contenido en un bloque de código Markdown. Cuando el modelo genera una salida sin formato Markdown, pierde características, como el resaltado de sintaxis y bloques de código que se pueden copiar en experiencias interactivas del área de juegos. Para invalidar este nuevo comportamiento predeterminado y fomentar la inclusión de Markdown en las respuestas del modelo, agregue la cadena Formatting re-enabled
al principio del mensaje del desarrollador.
Agregar Formatting re-enabled
al principio del mensaje del desarrollador no garantiza que el modelo incluya formato Markdown en su respuesta, solo aumenta la probabilidad. Hemos observado en las pruebas internas que Formatting re-enabled
es menos eficaz por sí mismo con el modelo de o1
que con o3-mini
.
Para mejorar el rendimiento de Formatting re-enabled
, puede aumentar aún más el principio del mensaje del desarrollador, lo que a menudo dará lugar al resultado deseado. En lugar de agregar Formatting re-enabled
al principio del mensaje del desarrollador, puede experimentar con la adición de una instrucción inicial más descriptiva, como una de los ejemplos siguientes:
Formatting re-enabled - please enclose code blocks with appropriate markdown tags.
Formatting re-enabled - code output should be wrapped in markdown.
En función del resultado esperado, quizá tenga que personalizar el mensaje inicial del desarrollador para adaptarlo al caso de uso específico.
Eventos
Compilación de Intelligent Apps
17 mar, 21 - 21 mar, 10
Únase a la serie de reuniones para crear soluciones de inteligencia artificial escalables basadas en casos de uso reales con compañeros desarrolladores y expertos.
Regístrese ahoraCursos
Módulo
Aplicación de ingeniería de avisos con el servicio Azure OpenAI - Training
En este módulo, obtenga información sobre cómo la ingeniería rápida puede ayudar a crear y ajustar los mensajes para los modelos de procesamiento de lenguaje natural. La ingeniería de avisos implica diseñar y probar varias indicaciones para optimizar el rendimiento del modelo al generar respuestas precisas y pertinentes.
Documentación
Modelos de Azure OpenAI Service - Azure OpenAI
Conozca las diferentes capacidades de modelos disponibles en Azure OpenAI.
Ciclo de vida de la versión de la API de Azure OpenAI Service - Azure AI services
Más información sobre la retirada de versiones de la API en Azure OpenAI Services.
Descripción de los tipos de implementación de Azure OpenAI Service - Azure AI services
Aprenda a usar los tipos de implementación de Azure OpenAI | Global-Standard | Estándar | Provisionado.