Usar o ponto de extremidade de inferência de modelo de IA do Azure para consumir modelos
A inferência de modelo de IA do Azure nos serviços de IA do Azure permite que os clientes consumam os modelos mais poderosos de provedores de modelos principais usando um único ponto de extremidade e credenciais. Isso significa que você pode alternar entre modelos e consumi-los do seu aplicativo sem alterar uma única linha de código.
Este artigo explica como usar o ponto de extremidade de inferência para invocá-los.
Pontos finais
Os serviços de IA do Azure expõem vários pontos de extremidade, dependendo do tipo de trabalho que você está procurando:
- Ponto de extremidade de inferência do modelo de IA do Azure
- Ponto de extremidade do Azure OpenAI
O ponto de extremidade de inferência da IA do Azure (geralmente com o formulário https://<resource-name>.services.ai.azure.com/models
) permite que os clientes usem um único ponto de extremidade com a mesma autenticação e esquema para gerar inferência para os modelos implantados no recurso. Todos os modelos suportam esta capacidade. Esse ponto de extremidade segue a API de inferência de modelo de IA do Azure.
Os modelos OpenAI do Azure implantados em serviços de IA também dão suporte à API do Azure OpenAI (geralmente com o formulário https://<resource-name>.openai.azure.com
). Este endpoint expõe todos os recursos dos modelos OpenAI e suporta mais recursos como assistentes, threads, arquivos e inferência em lote.
Para saber mais sobre como aplicar o ponto de extremidade do Azure OpenAI, consulte a documentação do serviço Azure OpenAI.
Usando o recurso de roteamento no ponto de extremidade de inferência do modelo de IA do Azure
O ponto de extremidade de inferência roteia solicitações para uma determinada implantação fazendo a correspondência entre o parâmetro name
dentro da solicitação e o nome da implantação. Isso significa que as implantações funcionam como um alias de um determinado modelo em determinadas configurações. Essa flexibilidade permite que você implante um determinado modelo várias vezes no serviço, mas sob configurações diferentes, se necessário.
Por exemplo, se você criar uma implantação chamada Mistral-large
, essa implantação poderá ser invocada como:
Instale o pacote azure-ai-inference
usando seu gerenciador de pacotes, como pip:
pip install azure-ai-inference>=1.0.0b5
Aviso
O recurso Serviços de IA do Azure requer a versão azure-ai-inference>=1.0.0b5
para Python.
Em seguida, você pode usar o pacote para consumir o modelo. O exemplo a seguir mostra como criar um cliente para consumir finalizações 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 nossos exemplos e leia a documentação de referência da API para começar.
Para um modelo de chat, você pode criar uma solicitação da seguinte maneira:
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)
Se você especificar um nome de modelo que não corresponda a nenhuma implantação de modelo, receberá um erro informando que o modelo não existe. Você pode controlar quais modelos estão disponíveis para os usuários criando implantações de modelo, conforme explicado em adicionar e configurar implantações de modelo.
Limitações
- O Azure OpenAI Batch não pode ser usado com o ponto de extremidade de inferência do modelo de IA do Azure. Você precisa usar a URL de implantação dedicada conforme explicado em Suporte à API em lote na documentação do Azure OpenAI.
- A API em tempo real não é suportada no ponto de extremidade de inferência. Use a URL de implantação dedicada.