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
:
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.
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
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 |