Se você quer aprender a criar uma API de chatbot com Bun e Hono em TypeScript de forma rápida e fácil, este tutorial POC é para você. Recentemente, decidi explorar uma stack moderna para construir uma API conversacional simples. Meu objetivo? Testar como integrar Cloudflare AI com Bun TypeScript em um projeto rápido. Embora o projeto não tenha virado um produto final, o aprendizado foi incrível — e vou compartilhar tudo aqui, desde o setup até os desafios. Continue lendo para ver como usar essas ferramentas em seu próximo chatbot POC!
Por que escolhi Bun, Hono e Cloudflare AI?
Escolher a stack certa é essencial para qualquer projeto. Aqui está o porquê de cada ferramenta:
- Bun: Um runtime mais rápido que Node.js, com suporte nativo a TypeScript. Perfeito para desenvolvimento local ágil.
- Hono: Um framework leve e rápido, ideal para criar APIs solidas e deploy no Cloudflare Workers.
- TypeScript: Garante tipagem estática, reduzindo erros em projetos como esse.
- Cloudflare AI: Oferece modelos de IA acessíveis direto no ecossistema Cloudflare, sem precisar de servidores pesados.
Essa combinação me permitiu explorar Bun TypeScript, aprender Cloudflare AI benefícios e construir algo funcional em pouco tempo.
Configurando o Projeto com Bun e TypeScript
Para começar, configurei o ambiente com Bun e TypeScript. Aqui está o passo a passo básico:
bun create cloudflare@latest
Então, você preenche com o nome do seu projeto e escolhe a opção “Framework Starter” e seleciona Hono.
O setup com Bun é extremamente simples e rápido — não precisei de ferramentas extras como ts-node, já que Bun roda TypeScript nativamente. Essa é uma maravilha! Isso torna o fluxo de desenvolvimento mais fluido para um chatbot POC.
Criando a API de Chatbot com Hono e Cloudflare AI
O coração do POC é a API de chatbot com Hono. Usei Cloudflare AI para gerar respostas e Hono Bindings para estruturar prompts simples. Veja o código principal:
import { Hono } from "hono";
const app = new Hono<{ Bindings: CloudflareBindings }>();
app.post("/chat", async (c) => {
const { character, prompt } = await c.req.json();
const messages = [
{
role: "system",
content: `Você é ${character}, uma figura histórica. Responda: ${prompt}\n${character}:`,
},
{ role: "user", content: prompt || "Conte-me uma história." },
];
const response = await c.env.AI.run("@cf/meta/llama-3.1-8b-instruct", {
messages,
});
return c.json(response);
});
export default app;
Como Testar a API
Para testar a Hono API chatbot, usei este comando:
curl -X POST http://localhost:8787/chat \
-H "Content-Type: application/json" \
-d '{"character": "Líder Histórico", "prompt": "O que você fez de importante?"}'
O Cloudflare AI gerou uma resposta baseada no prompt, como: “Eu sou Abraham Lincoln, o 16º presidente dos Estados Unidos, e minha atuação mais importante foi o que fiz durante a Guerra Civil Americana. Trabalhei incansavelmente para preservar a União e garantir a abolição da escravidão nos Estados Unidos.”.
Por que Prompts Simples?
Optei por prompts simples em vez de fine-tuning para acelerar o desenvolvimento. Consegui moldar respostas sem treinar um modelo do zero, o que é ideal para um chatbot POC tutorial.
Lições Aprendidas com Bun, Hono e Cloudflare AI
Depois de montar essa API, aqui estão minhas principais lições:
Bun vantagens: Rápido para desenvolvimento local e não precisar configurar o TypeScript é sensacional, mas exige cuidado com bibliotecas Node-specific (como algumas dependências de IA).
Hono desempenho: Perfeito para APIs leves e deploy no Cloudflare Workers. A integração com Cloudflare Workers é facilitada, basta adicionar a configuração ai
no arquivo wrangler.jsonc
:
{
"ai": {
"binding": "AI"
}
}
Cloudflare AI dicas: Uma alternativa acessível a APIs como OpenAI, mas os modelos são menos flexíveis sem personalização.
Esses insights foram valiosos para entender como combinar Bun Hono Cloudflare em projetos reais.
Desafios e Soluções
Nem tudo foi fácil. Aqui estão os principais desafios que enfrentei: Cloudflare AI configuração: Precisei configurar o Account ID e API Token no .env. Solução: Segui a documentação do Cloudflare Workers AI. Prompts genéricos: Às vezes gerava respostas vagas. Solução: Testei diferentes templates até encontrar um tom aceitável. Bun TypeScript problemas: Algumas libs de IA não são nativas no Bun. Solução: Foquei no deploy com Cloudflare, que resolveu compatibilidade.
Conclusão
Esse chatbot POC tutorial me mostrou como criar uma API de chatbot com Bun, Hono e Cloudflare AI de forma incrivelmente rápida e fácil. Não finalizei o projeto por motivos pessoais, mas o aprendizado foi incrível. Se você quer explorar TypeScript ou testar Bun, Hono Cloudflare, recomendo essa stack para protótipos.
O que achou? Já usou Cloudflare AI ou Hono framework em seus projetos? Deixe um comentário com suas experiências ou dúvidas!