Como Criar uma API de Chatbot com Bun, Hono e Cloudflare AI

Atualizado em

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:

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!