Compartilhar via


Usar o ponto de extremidade de inferência de modelo de IA do Azure

O serviço de inferência 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 é possível alternar entre modelos e consumi-los do aplicativo sem alterar uma única linha de código.

O artigo explica como os modelos são organizados dentro do serviço e como usar o ponto de extremidade de inferência para invocá-los.

Implantações

O serviço de inferência de modelo de IA do Azure disponibiliza modelos usando o conceito de implantação. As implantações são uma maneira de dar um nome a um modelo em determinadas configurações. Em seguida, invoque essa configuração de modelo indicando seu nome em suas solicitações.

Captura de implantações:

  • Nome de um modelo
  • Uma versão de modelo
  • Um tipo de provisionamento/capacidade1
  • Uma configuração de filtragem de conteúdo1
  • Uma configuração de limitação de taxa1

1 As configurações podem variar dependendo do modelo selecionado.

Um recurso de serviços de IA do Azure pode ter quantas implantações de modelo forem necessárias e elas não incorrem em custo, a menos que a inferência seja executada para esses modelos. As implantações são recursos do Azure e, portanto, estão sujeitas às políticas do Azure.

Para saber mais sobre como criar implantações, consulte Adicionar e configurar implantações de modelo.

Ponto de extremidade de inferência de IA do Azure

O ponto de extremidade de inferência de IA do Azure 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. Esse ponto de extremidade segue a API de inferência de modelo de IA do Azure que tem suporte de todos os modelos no serviço de inferência de modelo de IA do Azure.

Visualize o URL do ponto de extremidade e as credenciais na seção Visão geral. O ponto de extremidade geralmente tem o formulário https://<resource-name>.services.ai.azure.com/models:

Uma captura de tela mostrando como obter o URL e a chave associados ao recurso.

Você pode se conectar ao ponto de extremidade usando o SDK de Inferência de IA do Azure:

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

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

Explore nossos exemplos e leia a documentação de referência da API para começar.

Consulte Linguagens e SDKs com suporte para mais exemplos de código e recursos.

Roteamento

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.

Uma ilustração mostrando como o roteamento funciona para um modelo Meta-llama-3.2-8b-instruct indicando esse nome no parâmetro 'modelo' dentro da solicitação de conteúdo.

Por exemplo, se você criar uma implantação nomeada Mistral-large, essa implantação poderá ser invocada 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)

Dica

O roteamento de implantação não diferencia maiúsculas de minúsculas.

Linguagens e SDKs compatíveis

Todos os modelos implantados no serviço de inferência de modelo de IA do Azure dão suporte à API de inferência de modelo de IA do Azure e à sua família associada de SDKs, que estão disponíveis nas seguintes linguagens:

Idioma Documentação Pacote Exemplos
C# Referência azure-ai-inference (NuGet) Exemplos de C#
Java Referência azure-ai-inference (Maven) Exemplos de Java
JavaScript Referência @azure/ai-inference (npm) Exemplos de JavaScript
Python Referência azure-ai-inference (PyPi) Exemplos do Python

Ponto de extremidade de inferência do OpenAI do Azure

Os modelos do OpenAI do Azure também dão suporte à API do OpenAI do Azure. Essa API expõe todos os recursos de modelos de OpenAI e dá suporte a recursos adicionais, como assistentes, threads, arquivos e inferência em lote.

Cada implantação de modelo de OpenAI tem seu próprio URL associado a essa implantação no ponto de extremidade de inferência do OpenAI do Azure. No entanto, o mesmo mecanismo de autenticação pode ser usado para consumi-lo. Os URLs geralmente estão na forma de https://<resource-name>.openai.azure.com/openai/deployments/<model-deployment-name>. Saiba mais na página de referência da API do OpenAI do Azure

Uma ilustração mostrando como as implantações do OpenAI do Azure contêm um único URL para cada implantação.

Cada implantação tem um URL que são as concatenações do URL base do OpenAI do Azure e da rota /deployments/<model-deployment-name>.

Importante

Não há nenhum mecanismo de roteamento para o ponto de extremidade do OpenAI do Azure, pois cada URL é exclusivo para cada implantação de modelo.

Linguagens e SDKs compatíveis

O ponto de extremidade do OpenAI do Azure é compatível com o SDK do OpenAI (classe AzureOpenAI) e os SDKs do OpenAI do Azure, que estão disponíveis em várias linguagens:

Idioma Código-fonte Pacote Exemplos
C# Código-fonte Azure.AI.OpenAI (NuGet) Exemplos de C#
Go Código-fonte azopenai (Go) Exemplos de Go
Java Código-fonte azure-ai-openai (Maven) Exemplos de Java
JavaScript Código-fonte @azure/openai (npm) Exemplos de JavaScript
Python Código-fonte openai (PyPi) Exemplos do Python

Próximas etapas