Compartilhar via


Referência da API REST de Inferência do Modelo de IA do 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 podem ser usados pelos desenvolvedores para consumir previsões de um conjunto diversificado de modelos de maneira uniforme e consistente. Os desenvolvedores podem conversar com diferentes modelos implantados no portal do Azure AI Foundry sem alterar o código subjacente que estão usando.

Benefícios

Modelos fundamentais, como modelos de linguagem, realmente fizeram avanços notáveis nos últimos anos. Esses avanços revolucionaram vários campos, incluindo processamento de linguagem natural e pesquisa visual computacional, e habilitaram aplicativos como chatbots, assistentes virtuais e serviços de tradução de idioma.

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 em outra. Os desenvolvedores podem se beneficiar dessa diversidade usando o modelo certo para o trabalho certo permitindo que eles:

  • Melhore o desempenho em uma tarefa downstream específica.
  • Use modelos mais eficientes para tarefas mais simples.
  • Use modelos menores que podem ser executados mais rapidamente em tarefas específicas.
  • Redigir 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 sacrificar a portabilidade ou alterar o código subjacente.

Suporte ao SDK de inferência

O pacote de Inferência de IA do Azure permite que você consuma todos os modelos que dão suporte à API de inferência do modelo de IA do Azure e alterem facilmente entre eles. O pacote inferência de IA do Azure faz parte do SDK do Azure AI Foundry.

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

Capacidades

A seção a seguir descreve alguns dos recursos que a API expõe:

Modalidades

A API indica como os desenvolvedores podem consumir previsões para as seguintes modalidades:

Extensibilidade

A API de Inferência de 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 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: pass-through, 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 pelo Mistral-Large, que não é especificado na API de Inferência do Modelo de IA do Azure.

de solicitação de

POST /chat/completions?api-version=2024-05-01-preview
Authorization: Bearer <bearer-token>
Content-Type: application/json
extra-parameters: pass-through
{
    "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
}

Nota

O valor padrão para extra-parameters é error que retorna um erro se um parâmetro extra for indicado no conteúdo. 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 de qualquer maneira. Um exemplo típico disso indica seed parâmetro.

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.

de solicitação de

POST /chat/completions?api-version=2024-05-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" },
}

de resposta

{
    "status": 422,
    "code": "parameter_not_supported",
    "detail": {
        "loc": [ "body", "response_format" ],
        "input": "json_object"
    },
    "message": "One of the parameters contain invalid values."
}

Ponta

Você pode inspecionar a propriedade details.loc para entender o local do parâmetro ofensivo 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 implantações com a Segurança de Conteúdo de IA do Azure ativada, entradas e saídas passam por um conjunto de modelos de classificação destinados a detectar e impedir a saída de conteúdo prejudicial. O sistema de filtragem de conteúdo (versão prévia) detecta e toma medidas 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 para uma solicitação de conclusão de chat que disparou a segurança do conteúdo.

de solicitação de

POST /chat/completions?api-version=2024-05-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,
}

de resposta

{
    "status": 400,
    "code": "content_filter",
    "message": "The response was filtered",
    "param": "messages",
    "type": null
}

Introdução

A API de inferência do modelo de IA do Azure está disponível nos recursos dos Serviços de IA do Azure. Você pode começar a usá-lo da mesma maneira que qualquer outro produto do Azure em que criar e configurar seu recurso para a inferência do modelo de IA do Azure, ou instância do serviço, em sua Assinatura do Azure. Você pode criar quantos recursos forem necessários e configurá-los de forma independente caso tenha várias equipes com requisitos diferentes.

Depois de criar um recurso dos Serviços de IA do Azure, você deve implantar um modelo antes de começar a fazer chamadas à API. Por padrão, nenhum modelo está disponível nele, para que você possa controlar de quais começar. Confira o tutorial Criar sua primeira implantação de modelo node inferência do modelo de IA do Azure.