2026 · Proyecto personal · Backend & AI Engineer
Nexus — agente de compras por Telegram con LangGraph
Un agente conversacional en Telegram que registra mis compras en lenguaje natural y recuerda cada conversación, construido con LangGraph y FastAPI.
Ver en GitHubPythonFastAPILangGraphTelegram Bot APIOllamaGeminiSupabaseDockerGitHub Actions
- Problema
- Quería anotar mis gastos sin abrir una app ni llenar formularios: escribir "ayer compré leche por 2.50" y que quede guardado. Un LLM solo no alcanza: hace falta un canal, memoria por usuario, datos estructurados y poder cambiar de modelo sin reescribir código.
- Enfoque
- FastAPI como runtime con el bot de Telegram en long polling. Un StateGraph de LangGraph con dos nodos (agent ⇄ save_purchase): el LLM usa tool calling para guardar la compra en Supabase. La memoria vive en un checkpointer de Postgres con un thread por usuario. El proveedor (Ollama local o Gemini) se elige por variable de entorno y se valida al arrancar. Las migraciones se manejan con la Supabase CLI y hay CI/CD con GitHub Actions que testea y publica la imagen en GHCR.
- Resultado
- Un agente propio que pasa de la conversación a datos estructurados: cada compra queda en una tabla consultable, con el usuario tomado del hilo y no del modelo. Corre en local con Ollama sin costo y está listo para producción con Gemini cambiando solo el .env.