Compartir a través de


Uso del punto de conexión de inferencia del modelo de Azure AI

El servicio de inferencia 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 credenciales. Esto significa que puede cambiar entre modelos y consumirlos desde la aplicación sin cambiar una sola línea de código.

En el artículo se explica cómo se organizan los modelos dentro del servicio y cómo usar el punto de conexión de inferencia para invocarlos.

Implementaciones

El servicio de inferencia de modelos de Azure AI hace que los modelos estén disponibles mediante el concepto de implementación. Las implementaciones son una manera de asignar un nombre a un modelo en determinadas configuraciones. A continuación, puede invocar dicha configuración de modelo indicando su nombre en las solicitudes.

Captura de implementaciones:

  • Un nombre de modelo
  • Una versión de modelo
  • Un tipo de aprovisionamiento o capacidad1
  • Una configuración de filtrado de contenido1
  • Una configuración de limitación de frecuencia1

1 Las configuraciones puede variar en función del modelo seleccionado.

Un recurso de servicios de Azure AI puede tener tantas implementaciones de modelos como sea necesario y no se incurrirá en costos a menos que se realice la inferencia para esos modelos. Las implementaciones son recursos de Azure y, por tanto, están sujetas a directivas de Azure.

Para obtener más información sobre cómo crear implementaciones, consulte Agregar y configurar implementaciones de modelos.

Punto de conexión de inferencia de Azure AI

El punto de conexión de inferencia de Azure AI 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. Este punto de conexión sigue la API de inferencia del modelo de Azure AI que es compatible con todos los modelos del servicio de inferencia de modelos de Azure AI.

Puede ver la dirección URL del punto de conexión y las credenciales en la sección Información general. Normalmente, el punto de conexión tiene el formato https://<resource-name>.services.ai.azure.com/models:

Captura de pantalla que muestra cómo obtener la dirección URL y la clave asociadas al recurso.

Puede conectarse al punto de conexión mediante el SDK de inferencia de Azure AI:

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

client = ChatCompletionsClient(
    endpoint=os.environ["AZUREAI_ENDPOINT_URL"],
    credential=AzureKeyCredential(os.environ["AZUREAI_ENDPOINT_KEY"]),
)

Explore nuestros ejemplos y lea la documentación de referencia de API para empezar a trabajar.

Consulte Idiomas y SDK admitidos para obtener más ejemplos de código y recursos.

Enrutamiento

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.

Ilustración en la que se muestra cómo funciona el enrutamiento para un modelo Meta-llama-3.2-8b-instruct indicando dicho nombre en el parámetro

Por ejemplo, si crea una implementación denominada Mistral-large, esta implementación se puede invocar como:

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)

Sugerencia

El enrutamiento de implementación no distingue mayúsculas de minúsculas.

Lenguajes y SDK admitidos

Todos los modelos implementados en el servicio de inferencia de modelos de Azure AI admiten la API de inferencia de modelos de Azure AI y su familia asociada de SDK, que están disponibles en los siguientes lenguajes:

Lenguaje Documentación Paquete Ejemplos
C# Referencia azure-ai-inference (NuGet) Ejemplos de C#
Java Referencia azure-ai-inference (Maven) Ejemplos de Java
JavaScript Referencia @azure/ai-inference (npm) Ejemplos de JavaScript
Python Referencia azure-ai-inference (PyPi) Ejemplos de Python

Punto de conexión de inferencia de Azure OpenAI

Los modelos de Azure OpenAI también admiten la API de Azure OpenAI. Esta API expone las funcionalidades completas de los modelos de OpenAI y admite características adicionales, como asistentes, subprocesos, archivos e inferencia por lotes.

Cada implementación de modelo de OpenAI tiene su propia dirección URL asociada a dicha implementación en el punto de conexión de inferencia de Azure OpenAI. Sin embargo, se puede usar el mismo mecanismo de autenticación para consumirlo. Las direcciones URL suelen tener el formato https://<resource-name>.openai.azure.com/openai/deployments/<model-deployment-name>. Obtenga más información en la página de referencia de la API de Azure OpenAI

Ilustración en la que se muestra cómo las implementaciones de Azure OpenAI contienen una única dirección URL para cada implementación.

Cada implementación tiene una dirección URL que es la concatenación de la dirección URL base de Azure OpenAI y la ruta /deployments/<model-deployment-name>.

Importante

No hay ningún mecanismo de enrutamiento para el punto de conexión de Azure OpenAI, ya que cada dirección URL es exclusiva para cada implementación de modelo.

Lenguajes y SDK admitidos

El punto de conexión de Azure OpenAI es compatible con el SDK de OpenAI (claseAzureOpenAI) y el SDK de Azure OpenAI, que están disponibles en varios idiomas:

Lenguaje Código fuente Paquete Ejemplos
C# Código fuente Azure.AI.OpenAI (NuGet) Ejemplos de C#
Go Código fuente azopenai (Go) Ejemplos de Go
Java Código fuente azure-ai-openai (Maven) Ejemplos de Java
JavaScript Código fuente @azure/openai (npm) Ejemplos de JavaScript
Python Código fuente openai (PyPi) Ejemplos de Python

Pasos siguientes