Use o ponto de extremidade de inferência do modelo de IA do Azure para consumir modelos
A inferência do modelo de IA do Azure nos serviços de IA do Azure permite que os clientes consumam os modelos mais avançados dos principais provedores de modelos usando um único ponto de extremidade e credenciais. Isso significa que é possível alternar entre modelos e consumi-los do 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 de extremidade
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 OpenAI do Azure
O ponto de extremidade de inferência do modelo de IA do Azure (geralmente com o formato 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 dão suporte a essa capacidade. Este ponto de extremidade segue a API de inferência do modelo de IA do Azure.
Os modelos OpenAI do Azure implantados em Serviços de IA também dão suporte à API da OpenAI do Azure (geralmente com o formato https://<resource-name>.openai.azure.com
). Este ponto de extremidade expõe todas as funcionalidades dos modelos OpenAI e dá suporte a mais recursos, como assistentes, threads, arquivos e inferência em lote.
Para saber mais sobre como aplicar o ponto de extremidade da OpenAI do Azure, consulte a documentação do serviço OpenAI do Azure.
Usar a capacidade 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, correspondendo ao parâmetro name
dentro da solicitação com 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 implantar um determinado modelo várias vezes no serviço, mas em configurações diferentes, se necessário.
Por exemplo, se você criar uma implantação nomeada Mistral-large
, essa implantação poderá ser invocada como:
Instale o pacote azure-ai-inference
usando seu gerenciador de pacotes, como o pip:
pip install azure-ai-inference>=1.0.0b5
Aviso
O recurso dos Serviços de IA do Azure requer a versão azure-ai-inference>=1.0.0b5
para Python.
Em seguida, você poderá usar o pacote para consumir o modelo. O exemplo a seguir mostra como criar um cliente para consumir conclusõ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 forma:
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, será exibido 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 Lote da OpenAI do Azure 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 de Lote na documentação da OpenAI do Azure.
- A API em tempo real não tem suporte no ponto de extremidade de inferência. Use a URL de implantação dedicada.