Usar el punto de conexión de inferencia del modelo de Azure AI para consumir modelos
La inferencia del modelo de Azure AI en los servicios de Azure AI permite a los clientes consumir los modelos más eficaces de los proveedores de modelos insignia mediante un único punto de conexión y las mismas credenciales. Esto significa que puede cambiar entre modelos y consumirlos desde la aplicación sin cambiar una sola línea de código.
En este artículo se explica cómo usar el punto de conexión de inferencia para invocarlos.
Puntos de conexión
Los servicios de Azure AI exponen varios puntos de conexión en función del tipo de trabajo que busca:
- Punto de conexión de inferencia del modelo de Azure AI
- Punto de conexión de Azure OpenAI
El punto de conexión de inferencia de Azure AI (normalmente con el formato https://<resource-name>.services.ai.azure.com/models
) permite a los clientes usar un único punto de conexión con la misma autenticación y esquema para generar inferencia para los modelos implementados en el recurso. Todos los modelos admiten esta funcionalidad. Este punto de conexión sigue la API de inferencia del modelo de Azure AI.
Los modelos de Azure OpenAI implementados en los servicios de IA también admiten la API de Azure OpenAI (normalmente con el formato https://<resource-name>.openai.azure.com
). Este punto de conexión expone las funcionalidades completas de los modelos de OpenAI y admite más características, como asistentes, subprocesos, archivos e inferencia por lotes.
Para más información sobre cómo aplicar el punto de conexión de Azure OpenAI, consulte la documentación del servicio Azure OpenAI.
Usar la funcionalidad de enrutamiento en el punto de conexión de inferencia del modelo de Azure AI
El punto de conexión de inferencia enruta las solicitudes a una implementación determinada mediante la coincidencia del parámetro name
dentro de la solicitud con el nombre de la implementación. Esto significa que las implementaciones funcionan como un alias de un modelo determinado en determinadas configuraciones. Esta flexibilidad le permite implementar un modelo determinado varias veces en el servicio, pero en configuraciones diferentes si es necesario.
Por ejemplo, si crea una implementación denominada Mistral-large
, esta implementación se puede invocar como:
Instale el paquete azure-ai-inference
mediante el administrador de paquetes, como pip:
pip install azure-ai-inference>=1.0.0b5
Advertencia
El recurso de Servicios de Azure AI necesita la versión azure-ai-inference>=1.0.0b5
para Python.
A continuación, puede usar el paquete para consumir el modelo. En el ejemplo siguiente se muestra cómo crear un cliente para consumir finalizaciones de chat:
import os
from azure.ai.inference import ChatCompletionsClient
from azure.core.credentials import AzureKeyCredential
model = ChatCompletionsClient(
endpoint="https://<resource>.services.ai.azure.com/models",
credential=AzureKeyCredential(os.environ["AZUREAI_ENDPOINT_KEY"]),
)
Explore nuestros ejemplos y lea la documentación de referencia de API para empezar a trabajar.
Para un modelo de chat, puede crear una solicitud de la siguiente manera:
from azure.ai.inference.models import SystemMessage, UserMessage
response = client.complete(
messages=[
SystemMessage(content="You are a helpful assistant."),
UserMessage(content="Explain Riemann's conjecture in 1 paragraph"),
],
model="mistral-large"
)
print(response.choices[0].message.content)
Si especifica un nombre de modelo que no coincide con ninguna implementación de modelo determinada, obtendrá un error que indica que el modelo no existe. Puede controlar qué modelos están disponibles para los usuarios mediante la creación de implementaciones de modelo, como se explica en Agregar y configurar implementaciones de modelo.
Limitaciones
- Azure OpenAI Batch no se puede usar con el punto de conexión de inferencia del modelo de Azure AI. Tiene que usar la dirección URL de implementación dedicada, como se explica en la documentación de compatibilidad con la API Batch en Azure OpenAI.
- La API en tiempo real no se admite en el punto de conexión de inferencia. Use la dirección URL de implementación dedicada.