Tutorial práctico para crear agentes de IA desde cero con LLM locales mediante node-llama-cpp, que abarca function calling, memoria y ReAct.
pguso/rag-from-scratch
Proyecto educativo paso a paso para crear Retrieval-Augmented Generation desde cero en JavaScript, con LLM locales y sin API en la nube.
- Estrellas
- 1,646
- Forks
- 205
- Issues abiertos
- 1
- Último commit
- hace 7 meses
¿Qué es?
RAG from Scratch es un proyecto de aprendizaje que guía a los desarrolladores en la creación manual de Retrieval-Augmented Generation. En lugar de depender de un framework, implementa cada etapa con ejemplos breves y comentados en JavaScript: cargar y dividir documentos en fragmentos, generar embeddings, almacenar vectores, recuperar contexto y pasárselo a un LLM local para obtener respuestas fundamentadas.
Los ejemplos abarcan todo el pipeline en un orden fijo: empiezan con un flujo RAG básico de menos de 70 líneas y avanzan a un almacén de vectores en memoria, la similitud coseno y el filtrado por metadatos. Los ejemplos posteriores incorporan el preprocesamiento de consultas, la búsqueda híbrida por palabras clave y vectores con BM25, la recuperación con varias consultas y fusión de rangos recíprocos, y la reescritura de consultas mediante heurísticas o un modelo Qwen local a través de node-llama-cpp.
El repositorio también incluye una biblioteca reutilizable en src/, con cargadores (texto, PDF y directorios), divisores de texto, wrappers para embeddings y caché, almacenes de vectores como LanceDB y Qdrant, recuperadores y cadenas. Hay varios temas previstos, como el reranking, las métricas de evaluación y el streaming.
Funciones clave
- 01Ejemplos paso a paso que crean RAG desde los embeddings hasta la generación
- 02Inferencia con LLM locales mediante node-llama-cpp, sin necesidad de API en la nube
- 03Almacén de vectores en memoria con búsqueda de vecinos más cercanos y filtrado por metadatos
- 04Búsqueda híbrida que combina la similitud de vectores y la puntuación de palabras clave de BM25
- 05Recuperación con varias consultas, fusión de rangos recíprocos y eliminación de duplicados
- 06Biblioteca reutilizable con cargadores, divisores de texto y almacenes LanceDB o Qdrant
Casos de uso
- Aprender cómo se combinan la recuperación, los embeddings y el enriquecimiento de prompts
- Crear un prototipo de un flujo de preguntas y respuestas sobre documentos que funcione completamente sin conexión
- Comparar estrategias de recuperación, como la búsqueda vectorial, por palabras clave e híbrida
- Enseñar los fundamentos internos de RAG a un equipo antes de adoptar un framework más amplio
Antes de usarlo
- El README no incluye comandos de instalación ni de ejecución, así que no se pudieron confirmar los pasos de configuración.
- Hay varias secciones que aún están previstas, como la clasificación de resultados, la reclasificación posterior a la recuperación y las plantillas, por lo que el itinerario de aprendizaje está incompleto en algunos aspectos.
- Es una guía educativa, no una biblioteca RAG para producción.
Temas
Preguntas frecuentes
- ¿Qué es rag-from-scratch?
- Proyecto educativo paso a paso para crear Retrieval-Augmented Generation desde cero en JavaScript, con LLM locales y sin API en la nube. RAG from Scratch es un proyecto de aprendizaje que guía a los desarrolladores en la creación manual de Retrieval-Augmented Generation. En lugar de depender de un framework, implementa cada etapa con ejemplos breves y comentados en JavaScript: cargar y dividir documentos en fragmentos, generar embeddings, almacenar vectores, recuperar contexto y pasárselo a un LLM local para obtener respuestas fundamentadas.
- ¿rag-from-scratch es gratuito? ¿Qué licencia tiene?
- rag-from-scratch es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿rag-from-scratch sigue mantenido?
- Sin commits en más de 6 meses. El último commit de rag-from-scratch fue el 11 mar 2026.
- ¿Para qué puedo usar rag-from-scratch?
- Aprender cómo se combinan la recuperación, los embeddings y el enriquecimiento de prompts Crear un prototipo de un flujo de preguntas y respuestas sobre documentos que funcione completamente sin conexión Comparar estrategias de recuperación, como la búsqueda vectorial, por palabras clave e híbrida Enseñar los fundamentos internos de RAG a un equipo antes de adoptar un framework más amplio
- ¿Dónde consigo rag-from-scratch?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/pguso/rag-from-scratch
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Curso gratuito con licencia MIT y 542 lecciones para aprender conceptos de ingeniería de IA desde cero con Python, TypeScript, Rust y Julia.
Memoria persistente para agentes de programación con IA: registra sesiones automáticamente e incorpora contexto relevante en sesiones posteriores en Claude Code, Cursor, Codex y otros clientes MCP.
Framework de pipelines de datos incremental en Python con un núcleo en Rust que mantiene sincronizados índices vectoriales y grafos de conocimiento con fuentes cambiantes para agentes de IA y aplicaciones RAG.
Tutorial y proyecto modular de Agentic RAG con LangGraph, con indexación jerárquica, memoria conversacional y aclaración de consultas.
Repositorio de código complementario del libro AI Agents: The Definitive Guide, con notebooks de Jupyter sobre patrones de agentes, herramientas, evaluación, memoria y seguridad.