Repolode
pguso

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