Un bot de Telegram con RAG sin bases de datos vectoriales: ejemplo en Cloudflare Workers
¿Cómo crear un bot de Telegram que busque en una base de conocimiento sin bases de datos vectoriales ni infraestructura cara? Un desarrollador ha detallado un stack que funciona: TypeScript y Telegraf para Telegram, el algoritmo de Jaccard para la búsqueda por palabras clave, la API gratuita de Groq para generar respuestas y Cloudflare KV para guardar el historial de conversaciones. El bot se despliega con un solo paso en Cloudflare Workers y su coste de funcionamiento es prácticamente nulo.
Procesado por IA desde Habr AI; editado por Hamidun News
Un bot de Telegram con búsqueda en una base de conocimiento es una tarea habitual. Lo normal es recurrir a bases de datos vectoriales como Pinecone o Weaviate, embeddings e infraestructura en la nube de pago. Un desarrollador de Habr ha demostrado que no es obligatorio: hay un camino más barato y sencillo.
Por qué las bases de datos vectoriales no son la única salida
RAG (Retrieval-Augmented Generation) no exige necesariamente embeddings vectoriales. Para una base de conocimiento de tamaño medio basta con una búsqueda de texto completo por palabras clave. El algoritmo de Jaccard calcula la similitud entre dos textos a partir de la intersección de sus palabras: es simple, rápido y no requiere aprendizaje automático.
Así funciona en la práctica: si la base contiene unas FAQ de soporte técnico y el usuario escribe «cómo reiniciar el dispositivo», el bot divide la consulta en palabras, busca coincidencias en los documentos, selecciona los que tienen mayor intersección y se los pasa al LLM. Los resultados pueden incluso ser mejores que con las costosas API de embeddings, siempre que el contenido esté bien estructurado. Además es más rápido, porque no hay que esperar a que se generen los embeddings.
La principal ventaja: cero dependencia de servicios externos, salvo una única API de LLM para generar las respuestas. El historial de conversaciones y la propia base de conocimiento se almacenan directamente en Cloudflare KV, un almacenamiento integrado que se incluye en el plan gratuito. No hay colas para desplegar infraestructura ni facturas mensuales por almacenar vectores.
Cómo funciona la arquitectura
El flujo es el siguiente: el usuario escribe una pregunta en Telegram → el bot busca documentos relevantes en la base de conocimiento con el algoritmo de Jaccard → toma los 3 mejores resultados y los envía junto con la pregunta a la API de Groq (un LLM gratuito) → Groq genera una respuesta basada en los documentos encontrados → el bot envía el resultado al chat.
El historial de la conversación se guarda en KV para dar contexto entre mensajes. Así, el bot recuerda las preguntas anteriores y puede precisar sus respuestas según el contexto de la charla.
Cabe destacar que Groq no se eligió al azar. Es un servicio de LLM rápido, con límites generosos en el plan gratuito, ideal para bots y sistemas RAG que necesitan generar la respuesta al instante.
La base de conocimiento se guarda en KV como un conjunto de documentos: la clave es el ID del documento y el valor es el texto. En cada consulta el bot carga todos los documentos, aplica Jaccard a cada uno y los ordena por puntuación de similitud. Esta solución escala hasta miles de documentos sin problemas.
Qué stack hace falta
La implementación requiere un conjunto mínimo de componentes:
- TypeScript — el lenguaje en el que se escribe todo el código, con soporte de tipos
- Telegraf — una biblioteca ligera y popular para trabajar con la API de Telegram
- Cloudflare Workers — plataforma serverless para el despliegue (plan gratuito con límites generosos)
- Cloudflare KV — almacenamiento integrado para la base de conocimiento y el historial de conversaciones
- Groq API — servicio de LLM gratuito para generar respuestas a partir de los documentos encontrados
El despliegue se hace con un solo comando a través de Wrangler, la herramienta de línea de comandos de Cloudflare Workers. No hay que configurar servidores, ni contratar hosting propio, ni usar contenedores Docker.
Si el bot no supera el plan gratuito de Workers (un millón de solicitudes al mes), el coste es exactamente cero. Como comparación, una instalación típica con base de datos vectorial cuesta como mínimo entre 20 y 50 dólares al mes solo por el almacenamiento.
Qué significa para los desarrolladores
Esto abre la puerta a sistemas RAG sencillos que antes parecían demasiado caros o complejos de implementar. Para equipos pequeños, startups y aficionados, es una forma de lanzar rápidamente un bot de IA con búsqueda de conocimiento prácticamente gratis.
Un ejemplo clásico es un bot interno de oficina que responde sobre FAQ, políticas corporativas, guías técnicas y documentación. Antes, un proyecto así exigía reservar presupuesto para infraestructura y mantener un sistema complejo. Ahora todo puede vivir en un único bucket de KV y ponerse en marcha en una hora.
Esto resulta especialmente útil para los equipos que quieren añadir una función de IA con rapidez y sin grandes inversiones.
Preguntas frecuentes sobre la noticia
¿Qué se sabe sobre Por qué las bases de datos vectoriales no son la única salida?
RAG (Retrieval-Augmented Generation) no exige necesariamente embeddings vectoriales. Para una base de conocimiento de tamaño medio basta con una búsqueda de texto completo por palabras clave. El algoritmo de Jaccard calcula la similitud entre dos textos a partir de la intersección de sus palabras: es simple, rápido y no requiere aprendizaje automático. Así funciona en la práctica: si la base contiene unas FAQ de soporte técnico y el usuario escribe «cómo reiniciar el dispositivo», el bot divide la consulta en palabras, busca coincidencias en los documentos, selecciona los q
Cómo funciona la arquitectura?
El flujo es el siguiente: el usuario escribe una pregunta en Telegram → el bot busca documentos relevantes en la base de conocimiento con el algoritmo de Jaccard → toma los 3 mejores resultados y los envía junto con la pregunta a la API de Groq (un LLM gratuito) → Groq genera una respuesta basada en los documentos encontrados → el bot envía el resultado al chat. El historial de la conversación se guarda en KV para dar contexto entre mensajes. Así, el bot recuerda las preguntas anteriores y puede precisar sus respuestas según el contexto de la charla. Cabe destacar que Groq
¿Qué se sabe sobre Qué stack hace falta?
La implementación requiere un conjunto mínimo de componentes: TypeScript — el lenguaje en el que se escribe todo el código, con soporte de tipos Telegraf — una biblioteca ligera y popular para trabajar con la API de Telegram Cloudflare Workers — plataforma serverless para el despliegue (plan gratuito con límites generosos) Cloudflare KV — almacenamiento integrado para la base de conocimiento y el historial de conversaciones Groq API — servicio de LLM gratuito para generar respuestas a partir de los documentos encontrados El despliegue se hace con un solo comando a través de
Test Frontier LLMs & Autonomous Agents in One Workspace
Run Claude Opus 5.5, GPT-6, Gemini 3.1, and DeepSeek side-by-side in Nomad AI (nomadnet.ai) — unified model routing, deep research, and multimodal workflows under one subscription.
Lo esencial de la IA — una vez por semana
Siete historias que de verdad importaron, elegidas a mano. Sin ruido ni notas de prensa.
¡Listo! Revisa tu correo para la confirmación.