API de Inferência de Modelo de IA do Azure | Estúdio de IA do Azure
Importante
Alguns dos recursos descritos nesse artigo podem estar disponíveis apenas na versão prévia. Essa versão prévia é fornecida sem um contrato de nível de serviço e não recomendamos isso para cargas de trabalho de produção. Alguns recursos podem não ter suporte ou podem ter restrição de recursos. Para obter mais informações, consulte Termos de Uso Complementares de Versões Prévias do Microsoft Azure.
A Inferência do Modelo de IA do Azure é uma API que expõe um conjunto comum de recursos para modelos fundamentais e que pode ser usada pelos desenvolvedores para consumir previsões de um conjunto diversificado de modelos de maneira uniforme e consistente. Os desenvolvedores pode conversar com diferentes modelos implantados no Estúdio de IA do Azure sem alterar o código subjacente que estão usando.
Benefícios
Modelos fundamentais, como modelos de linguagem, realmente tiveram avanços notáveis nos últimos anos. Esses avanços revolucionaram vários campos, incluindo o processamento de linguagem natural e a pesquisa visual computacional, e habilitaram aplicativos como chatbots, assistentes virtuais e serviços de tradução de idiomas.
Embora os modelos fundamentais se destaquem em domínios específicos, eles não têm um conjunto uniforme de funcionalidades. Alguns modelos são melhores em tarefas específicas e, mesmo na mesma tarefa, alguns modelos podem abordar o problema de uma forma, enquanto outros abordam de outra forma. Os desenvolvedores podem se beneficiar dessa diversidade usando o modelo certo para o trabalho certo, permitindo que eles:
- Melhorem o desempenho em uma tarefa downstream específica.
- Usem modelos mais eficientes para tarefas mais simples.
- Usem modelos menores que podem ser executados mais rapidamente em tarefas específicas.
- Redijam vários modelos para desenvolver experiências inteligentes.
Ter uma maneira uniforme de consumir modelos fundamentais permite que os desenvolvedores realizem todos esses benefícios sem sacrificarem a portabilidade ou alterarem o código subjacente.
Disponibilidade
A API de Inferência do Modelo de IA do Azure está disponível nos seguintes modelos:
Modelos implantados para pontos de extremidade de API sem servidor:
- Família de modelos Cohere Embed V3
- Família de modelos Cohere Command R
- Família de modelos do Chat do Meta Llama 2
- Família de modelos da Instrução do Meta Llama 3
- Mistral-Small
- Mistral-Large
- Família de modelos Phi-3
A API é compatível com implantações de modelo do OpenAI do Azure.
Funcionalidades
A seção a seguir descreve alguns dos recursos expostos pela API. Para obter uma especificação completa da API, veja a seção de referência.
Modalidades
A API indica como os desenvolvedores podem consumir previsões para as seguintes modalidades:
- Obter informações: retorna as informações sobre o modelo implantado no ponto de extremidade.
- Inserções de texto: cria um vetor de inserção que representa o texto de entrada.
- Conclusões de texto: cria uma conclusão para o prompt e os parâmetros fornecidos.
- Conclusões de chat: cria uma resposta de modelo para a conversa de chat fornecida.
- Inserções de imagem: cria um vetor de inserção que representa o texto e a imagem de entrada.
Extensibilidade
A API de Inferência do Modelo de IA do Azure especifica um conjunto de modalidades e parâmetros aos quais os modelos podem assinar. No entanto, alguns modelos podem ter outros recursos diferentes dos que a API indica. Nesses casos, a API permite que o desenvolvedor os passe como parâmetros extras no conteúdo.
Ao definir um cabeçalho extra-parameters: allow
, a API tentará passar qualquer parâmetro desconhecido diretamente para o modelo subjacente. Se o modelo puder lidar com esse parâmetro, a solicitação será concluída.
O exemplo a seguir mostra uma solicitação passando o parâmetro safe_prompt
com suporte de Mistral-Large, que não é especificado na API de Inferência do Modelo de IA do Azure:
Solicitar
POST /chat/completions?api-version=2024-04-01-preview
Authorization: Bearer <bearer-token>
Content-Type: application/json
extra-parameters: allow
{
"messages": [
{
"role": "system",
"content": "You are a helpful assistant"
},
{
"role": "user",
"content": "Explain Riemann's conjecture in 1 paragraph"
}
],
"temperature": 0,
"top_p": 1,
"response_format": { "type": "text" },
"safe_prompt": true
}
Dica
Como alternativa, você pode definir extra-parameters: drop
para remover qualquer parâmetro desconhecido na solicitação. Use essa funcionalidade caso você esteja enviando solicitações com parâmetros extras que você sabe que o modelo não oferecerá suporte, mas você deseja que a solicitação seja concluída mesmo assim. Um exemplo típico disso é indicar o parâmetro seed
.
Modelos com um conjunto diferente de funcionalidades
A API de Inferência do Modelo de IA do Azure indica um conjunto geral de funcionalidades, mas cada um dos modelos pode decidir implementá-los ou não. Um erro específico é retornado nos casos em que o modelo não pode dar suporte a um parâmetro específico.
O exemplo a seguir mostra a resposta de uma solicitação de conclusão de chat indicando o parâmetro reponse_format
e solicitando uma resposta no formato JSON
. No exemplo, como o modelo não dá suporte a essa funcionalidade, um erro 422 é retornado ao usuário.
Solicitar
POST /chat/completions?api-version=2024-04-01-preview
Authorization: Bearer <bearer-token>
Content-Type: application/json
{
"messages": [
{
"role": "system",
"content": "You are a helpful assistant"
},
{
"role": "user",
"content": "Explain Riemann's conjecture in 1 paragraph"
}
],
"temperature": 0,
"top_p": 1,
"response_format": { "type": "json_object" },
}
Response
{
"status": 422,
"code": "parameter_not_supported",
"detail": {
"loc": [ "body", "response_format" ],
"input": "json_object"
},
"message": "One of the parameters contain invalid values."
}
Dica
Você pode inspecionar a propriedade details.loc
para entender o local do parâmetro incorreto e details.input
para ver o valor que foi passado na solicitação.
Segurança de conteúdo
A API de inferência do modelo de IA do Azure dá suporte de Segurança de Conteúdo de IA do Azure. Ao usar as implantações com a Segurança de Conteúdo de IA do Azure ativada, as entradas e saídas passam por um conjunto de modelos de classificação destinados a detectarem e impedirem a saída de conteúdo prejudicial. O sistema de filtragem de conteúdo detecta e executa ações em categorias específicas de conteúdo potencialmente prejudicial em prompts de entrada e conclusões de saída.
O exemplo a seguir mostra a resposta de uma solicitação de conclusão de chat que disparou a segurança do conteúdo.
Solicitar
POST /chat/completions?api-version=2024-04-01-preview
Authorization: Bearer <bearer-token>
Content-Type: application/json
{
"messages": [
{
"role": "system",
"content": "You are a helpful assistant"
},
{
"role": "user",
"content": "Chopping tomatoes and cutting them into cubes or wedges are great ways to practice your knife skills."
}
],
"temperature": 0,
"top_p": 1,
}
Response
{
"status": 400,
"code": "content_filter",
"message": "The response was filtered",
"param": "messages",
"type": null
}
Introdução
Atualmente, há suporte para a API de Inferência do Modelo de IA do Azure em modelos implantados como pontos de extremidade de API sem servidor. Implante qualquer um dos modelos com suporte em novos pontos de extremidade de API sem servidor para começar. Em seguida, você pode consumir a API das seguintes maneiras:
Você pode usar a API de Inferência de Modelo de IA do Azure para executar avaliações ou durante a compilação com o fluxo de prompt. Crie uma Conexão de modelo sem servidor para um ponto de extremidade de API sem servidor e consuma suas previsões. A API de Inferência do Modelo de IA do Azure é usada nos bastidores.
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de