Implemenete AI Inference em suas aplicações
O AI Inference no edge executa modelos junto às fontes de dados para reduzir latência, preservar privacidade e otimizar uso de recursos.
Diagrama da arquitetura de AI Inference
A figura a seguir ilustra uma arquitetura de referência para inferência de IA no edge.

Fluxo de dados
- O usuário envia uma requisição para o domínio da aplicação.
- O edge node mais próximo recebe a requisição e encaminha para a aplicação que aplica políticas e chama a função.
- A função orquestra a inferência: pré-processa entrada, e chama o modelo via
Azion.AI.runatravés de API do Azion Cells. - O agente processa a entrada do usuário e a envia de volta ao usuário pelo mesmo caminho.
Componentes
- Applications: camada de aplicação na rede distribuída da Azion.
- Functions: executa a lógica de inferência, orquestra RAG e integra serviços externos.
- AI Inference (Edge Runtime): executa modelos de IA diretamente no edge.
- Global Infrastructure: rede global distribuída da Azion.
- Orchestrator: gerencia requisições através do Edge Node para execução de Cells.
Obs: O Azion Cells é uma funcionalidade avançada que faz parte do Orchestrator. Para ativá-lo, é necessário entrar em contato com a equipe de vendas da Azion para verificar os requisitos e habilitar o produto na sua conta.
Implementação
Use o template AI Inference Starter Kit para acelerar sua jornada e ter uma aplicação pronta com APIs compatíveis com OpenAI, rodando no edge.
- Acesse o console da Azion.
- Clique no botão
+ Createpara abrir a página de templates. - Selecione o template
AI Inference Starter Kit. - Na página do template, digite um nome para sua aplicação e clique em
Deploy. - Aguarde a aplicação estar disponível no domínio
your-url.map.azionedge.net(ou seu domínio personalizado). - Interaja com o modelo via endpoint OpenAI-compatível da sua aplicação.
Exemplo de interação com o modelo nanonets/Nanonets-OCR-s que é um modelo OCR orientado a instruções que extrai texto de imagens/documentos:
curl -X POST https://YOUR-DOMAIN.map.azionedge.net/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{ "model": "nanonets/Nanonets-OCR-s", "max_tokens": 500, "messages": [ { "role": "user", "content": [ { "type": "image_url", "image_url": { "url": "https://www.any-url-example.com/example.jpg" } }, { "type": "text", "text": "Extraia o texto do documento acima em Markdown estruturado. Tabelas em HTML. Equações em LaTeX. Use <watermark>...</watermark> para marcas d'água e <page_number>...</page_number> para paginação." } ] } ] }'Observações:
- Acesse a página dos Modelos do AI Inference da Azion para ver mais modelos disponíveis.
- Se você adicionou autenticação na sua API, inclua o header apropriado (por exemplo,
-H "Authorization: Bearer <TOKEN>").
Exemplo de uma função que executa Azion.AI.run dentro de uma Function:
async function handleRequest(request) { const url = new URL(request.url); if (url.pathname !== "/ocr") return new Response("Not found", { status: 404 });
const modelResponse = await Azion.AI.run("nanonets/Nanonets-OCR-s", { stream: false, max_tokens: 500, messages: [ { role: "user", content: [ { type: "image_url", image_url: { url: "https://www.any-url-example.com/example.jpg" } }, { type: "text", text: "Extraia o texto do documento acima em Markdown estruturado. " + "Tabelas em HTML. Equações em LaTeX. Use <watermark>...</watermark> " + "para marcas d'água e <page_number>...</page_number> para paginação." } ] } ] });
return new Response(JSON.stringify(modelResponse), { headers: { "Content-Type": "application/json" } });}
addEventListener("fetch", (event) => { event.respondWith(handleRequest(event.request));});Observabilidade
- Real-Time Metrics: analise os eventos e obtenha insights sobre o desempenho de suas aplicações.
- Real-Time Events: rastreie requisições, dados brutos, logs e pesquisas complexas.