O que é Cloudflare Workers AI
Cloudflare Workers AI é um serviço que permite executar inferência de IA no edge. Executa modelos em data centers ao redor do mundo, oferecendo funcionalidades de IA com baixa latência.
Referência: Cloudflare Workers AI
Novos Modelos Adicionados
Modelos Disponíveis (final de 2024)
| Categoria | Modelo | Uso |
|---|---|---|
| LLM | Llama 3.2 | Geração de texto |
| LLM | Mistral 7B | Inferência rápida |
| LLM | Gemma 2 | Suporte multilíngue |
| Imagem | Stable Diffusion XL | Geração de imagens |
| Imagem | FLUX.1 | Geração de imagens de alta qualidade |
| Áudio | Whisper | Reconhecimento de voz |
| Embedding | BGE | Vetorização |
Exemplo de Uso
// Inferência com Workers AI
export default {
async fetch(request, env) {
const response = await env.AI.run('@cf/meta/llama-3.2-3b-instruct', {
messages: [
{ role: 'user', content: 'Me conte sobre as características do Cloudflare' }
],
max_tokens: 512
});
return new Response(JSON.stringify(response));
}
};
Referência: Workers AI Models
Vectorize GA (Versão Final)
Banco de Dados Vetorial
Armazena vetores de embedding e executa buscas por similaridade.
// Criação do Vectorize (wrangler CLI)
// wrangler vectorize create my-index --dimensions=768 --metric=cosine
// Inserção de vetores
export default {
async fetch(request, env) {
// Converter texto em embedding
const embedding = await env.AI.run('@cf/baai/bge-base-en-v1.5', {
text: 'Edge computing da Cloudflare'
});
// Salvar no Vectorize
await env.VECTORIZE.insert([{
id: 'doc-1',
values: embedding.data[0],
metadata: { title: 'Cloudflare Edge' }
}]);
return new Response('Inserted');
}
};
Busca por Similaridade
// Busca de documentos similares
const queryEmbedding = await env.AI.run('@cf/baai/bge-base-en-v1.5', {
text: 'Inferência de IA no edge'
});
const results = await env.VECTORIZE.query(queryEmbedding.data[0], {
topK: 5,
returnMetadata: true
});
// results: [{ id: 'doc-1', score: 0.95, metadata: {...} }, ...]
Referência: Cloudflare Vectorize
AI Gateway
Gerenciamento e Monitoramento de API
Gerencie múltiplos provedores de IA de forma unificada.
// Requisição via AI Gateway
const response = await fetch(
'https://gateway.ai.cloudflare.com/v1/account-id/gateway-name/openai/chat/completions',
{
method: 'POST',
headers: {
'Authorization': `Bearer ${OPENAI_API_KEY}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
model: 'gpt-4',
messages: [{ role: 'user', content: 'Hello' }]
})
}
);
Principais Funcionalidades
| Funcionalidade | Descrição |
|---|---|
| Cache | Cache de resultados para requisições idênticas |
| Rate Limiting | Limitação de requisições de API |
| Retry | Retry automático em caso de falha |
| Fallback | Mudança para outro provedor |
| Logging | Registro de todas as requisições |
// Configuração de fallback
{
"providers": [
{ "provider": "openai", "model": "gpt-4" },
{ "provider": "anthropic", "model": "claude-3-sonnet" }
],
"fallback": true
}
Referência: AI Gateway
AutoRAG (Preview)
Pipeline RAG Automático
Construa um sistema RAG apenas fazendo upload de documentos.
// Configuração do AutoRAG
export default {
async fetch(request, env) {
// Indexar documento
await env.AUTORAG.index({
content: 'Cloudflare é a maior rede edge do mundo...',
metadata: { source: 'docs', title: 'About Cloudflare' }
});
// Responder pergunta
const answer = await env.AUTORAG.query({
question: 'O que é Cloudflare?',
max_tokens: 256
});
return new Response(JSON.stringify(answer));
}
};
Estrutura de Preços
Workers AI
| Plano | Neurons | Preço |
|---|---|---|
| Gratuito | 10,000/dia | $0 |
| Pay-as-you-go | Ilimitado | $0.011/1,000 neurons |
Vectorize
| Item | Gratuito | Pago |
|---|---|---|
| Número de vetores | 200,000 | Ilimitado |
| Queries/mês | 30M | $0.01/1M |
| Armazenamento | 1GB | $0.05/GB |
Referência: Preços Cloudflare
Performance
Comparação de Latência
| Região | Servidor Central | Cloudflare Edge |
|---|---|---|
| Tóquio | 200ms | 20ms |
| Nova York | 50ms | 15ms |
| Londres | 100ms | 18ms |
Throughput
Llama 3.2 3B: ~50 tokens/seg
Mistral 7B: ~30 tokens/seg
Whisper: 2x velocidade em tempo real
Exemplo de Implementação: Chatbot RAG
export default {
async fetch(request, env) {
const { question } = await request.json();
// 1. Converter pergunta em embedding
const questionEmbedding = await env.AI.run('@cf/baai/bge-base-en-v1.5', {
text: question
});
// 2. Buscar documentos relacionados
const docs = await env.VECTORIZE.query(questionEmbedding.data[0], {
topK: 3,
returnMetadata: true
});
// 3. Gerar resposta com contexto
const context = docs.matches.map(d => d.metadata.content).join('\n');
const answer = await env.AI.run('@cf/meta/llama-3.2-3b-instruct', {
messages: [
{ role: 'system', content: `Responda baseado nas seguintes informações:\n${context}` },
{ role: 'user', content: question }
]
});
return Response.json({ answer: answer.response });
}
};
Resumo
Cloudflare Workers AI continua evoluindo como uma opção viável para inferência de IA no edge.
- Diversos modelos: LLM, imagem, áudio, embedding
- Vectorize GA: Versão final do banco de dados vetorial
- AI Gateway: Gerenciamento multi-provedor
- Baixa latência: Menos de 20ms globalmente
Vale a pena considerar ao construir aplicações de IA serverless e escaláveis.
← Voltar para a lista