AI Inference
Chame um modelo de linguagem, de visão, de embedding ou de reranking de dentro de uma função com Azion.AI.run, em infraestrutura que você não provisiona.
Inferência é o ato de executar um modelo de AI treinado. Você envia uma entrada e o modelo retorna uma saída calculada a partir dos pesos que ele aprendeu no treinamento: um texto gerado, um ranking ou um vetor de números que representa a entrada. Um modelo não responde nada enquanto esses pesos não estiverem carregados em memória, em hardware dimensionado para eles. Um serviço de inferência assume essa parte, mantendo os modelos carregados e colocando cada um atrás de uma requisição.
AI Inference executa os modelos na infraestrutura distribuída da Azion, no Azion Runtime. Um modelo não é um objeto que você cria. Você nomeia um modelo pelo id dele dentro de uma função, e essa chamada é o que o invoca. Use AI Inference para gerar texto a partir de um prompt, ler o texto de uma imagem, transformar um documento em um vetor para recuperação ou ranquear um conjunto de documentos em relação a uma consulta.
Primeiros passos Modelos de AIChamada de modelo
Uma função alcança um modelo por meio de Azion.AI.run, o binding do runtime que recebe o id do modelo e um corpo de requisição compatível com OpenAI:
- O primeiro argumento é o id do modelo, a string à qual o modelo responde. Os ids não seguem uma forma única, então copie o id declarado na página do próprio modelo em Modelos de AI.
- O segundo argumento é o corpo da requisição.
messagescarrega a conversa e campos comostream,max_tokensetemperaturemoldam a saída. Todos os campos que um corpo aceita estão em Invocação de modelos. - A chamada é assíncrona. A função a aguarda e o texto gerado fica em
choices[0].message.contentno valor resolvido. - O id seleciona o modelo e o código não nomeia nenhum host, nenhuma URL base nem nenhuma credencial.
Se você já escreveu código para o formato de chat completions da OpenAI, o corpo da requisição e o objeto de resposta são os que você já conhece, e o binding é o que muda.
Caminho de invocação
Uma chamada de modelo não sai da requisição que a iniciou. A função que já está tratando a requisição é a que chama o modelo, então a chamada é um passo dentro de uma execução, e não uma ida e volta a um serviço separado.
- Um usuário envia uma requisição para o domínio da sua aplicação.
- O data center mais próximo recebe a requisição e a encaminha para a aplicação, que aplica as suas políticas e chama a função.
- A função pré-processa a entrada e chama o modelo com
Azion.AI.run, por meio da Azion Cells API. - A resposta volta para o usuário pelo mesmo caminho.
Quatro produtos sustentam essa cadeia. Applications recebe a requisição e aplica políticas a ela, Functions executa o código que faz a chamada, Orchestrator coloca a chamada na Azion Cells e AI Inference executa o modelo. Para a mesma cadeia com a linha traçada entre o que a Azion opera e o que é seu, consulte Como AI Inference funciona.
Escopo e limites
- Modelos: AI Inference executa um catálogo de modelos open source. Ele reúne large language models, vision language models que leem texto e imagens, um modelo de embedding e um reranker. Cada página de modelo declara o id ao qual o modelo responde e as capacidades que ele suporta. Para o catálogo, consulte Modelos de AI.
- Tamanho do contexto: um valor por modelo, de 8k tokens a 131k tokens no catálogo. Dimensione um prompt em relação ao modelo que você chama, e não em relação ao catálogo.
- Entrada: todos os modelos leem texto. Os modelos cuja entrada também cobre imagens leem uma imagem passada como URL, em uma parte de conteúdo da mensagem.
- Interfaces: duas delas alcançam os mesmos modelos. Uma função chama
Azion.AI.rundiretamente, ou uma aplicação que você implanta serve um endpoint compatível com OpenAI em/v1/chat/completionsno domínio dela e chama o binding por trás dele. As duas carregam o mesmo corpo de requisição, documentado em Invocação de modelos. - Gerenciamento: AI Inference não tem uma superfície de gerenciamento própria nem uma API própria. Você não cria, não configura nem implanta um modelo. Você chama um modelo pelo id de dentro de uma função, então a função é o objeto que você cria e gerencia, pelas interfaces que Functions declara.
- Adaptação de modelos: adaptar um modelo a uma tarefa com Low-Rank Adaptation é LoRA Fine-Tune, uma extensão do AI Inference. As páginas de modelo declaram quais modelos aceitam essa adaptação.
- Vetores: um modelo de embedding retorna vetores e SQL Database os armazena e consulta. As consultas semânticas e híbridas de que um fluxo de retrieval-augmented generation se serve estão em Vector Search.
- Encerramento: a Azion pode encerrar um modelo que consome mais do que a memória máxima definida ou que roda por mais tempo do que o tempo máximo permitido. Um modelo criado e depois não executado por mais de três dias pode ser desprovisionado. Para o que cada condição cobre, consulte Limites do AI Inference.
- Observabilidade: uma chamada de modelo roda dentro de uma função, em uma aplicação, então o que ela fez em produção é lido onde esse tráfego é lido. Real-Time Metrics reporta o tráfego, e Real-Time Events carrega as requisições e os logs.
- Cobrança: para saber como o consumo de uma chamada de modelo é medido e cobrado, consulte Preços.
Azion não hospeda nenhum endpoint de inferência e não emite nenhuma credencial para uma chamada de modelo. O endpoint compatível com OpenAI pertence a uma aplicação que você implanta, e a autenticação na frente dele é você quem define.