Compartilhar via


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:

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:

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.