Repolode
pguso

pguso/rag-from-scratch

Образовательный проект с пошаговой реализацией Retrieval-Augmented Generation на JavaScript с нуля, на локальных LLM и без облачных API.

Звёзды
1,646
Форки
205
Открытые issues
1
Последний коммит
7 месяцев назад

Что это?

RAG from Scratch — учебный проект, который шаг за шагом показывает разработчикам, как самостоятельно реализовать Retrieval-Augmented Generation. Вместо готового фреймворка здесь каждый этап разбирается на небольших примерах JavaScript с комментариями: загрузка и разбиение документов на фрагменты, создание эмбеддингов, хранение векторов, поиск контекста и передача этого контекста локальной LLM для генерации ответов с опорой на источники.

Примеры охватывают весь пайплайн в фиксированном порядке: от минимального RAG-процесса менее чем на 70 строк до in-memory векторного хранилища, косинусного сходства и фильтрации по метаданным. В следующих примерах добавляются предобработка запросов, гибридный поиск по ключевым словам и векторам с BM25, поиск по нескольким запросам с reciprocal rank fusion и переформулирование запросов с помощью эвристик или локальной модели Qwen через node-llama-cpp.

В репозитории также есть библиотека для повторного использования в каталоге src/: загрузчики текстовых файлов, PDF и каталогов, разделители текста, обёртки для эмбеддингов и кэширования, векторные хранилища, включая LanceDB и Qdrant, ретриверы и цепочки. Среди тем, которые планируется добавить, — reranking, метрики оценки и потоковая передача.

Ключевые возможности

  • 01Пошаговые примеры построения RAG — от эмбеддингов до генерации
  • 02Инференс локальных LLM через node-llama-cpp без необходимости обращаться к облачному API
  • 03In-memory векторное хранилище с поиском ближайших соседей и фильтрацией по метаданным
  • 04Гибридный поиск, объединяющий векторное сходство и оценку ключевых слов с BM25
  • 05Поиск по нескольким запросам с reciprocal rank fusion и устранением дубликатов
  • 06Библиотека для повторного использования с загрузчиками, разделителями текста и хранилищами LanceDB или Qdrant

Сценарии использования

  • Изучение того, как сочетаются поиск, эмбеддинги и дополнение промпта
  • Создание прототипа системы ответов на вопросы по документам, полностью работающей офлайн
  • Сравнение стратегий поиска: векторного, по ключевым словам и гибридного
  • Обучение команды внутреннему устройству RAG перед переходом на более крупный фреймворк

Что важно знать

  • В README нет команд для установки или запуска, поэтому подтвердить шаги настройки не удалось.
  • Некоторые разделы ещё только запланированы — например, ранжирование результатов, повторное ранжирование после поиска и шаблоны, — поэтому часть учебного курса не завершена.
  • Это учебное руководство, а не библиотека RAG для промышленного использования.

Темы

Частые вопросы

Что такое rag-from-scratch?
Образовательный проект с пошаговой реализацией Retrieval-Augmented Generation на JavaScript с нуля, на локальных LLM и без облачных API. RAG from Scratch — учебный проект, который шаг за шагом показывает разработчикам, как самостоятельно реализовать Retrieval-Augmented Generation. Вместо готового фреймворка здесь каждый этап разбирается на небольших примерах JavaScript с комментариями: загрузка и разбиение документов на фрагменты, создание эмбеддингов, хранение векторов, поиск контекста и передача этого контекста локальной LLM для генерации ответов с опорой на источники.
rag-from-scratch можно использовать бесплатно? Какая у него лицензия?
rag-from-scratch распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
rag-from-scratch всё ещё поддерживается?
Нет коммитов больше 6 месяцев. Последний коммит в rag-from-scratch — 11 мар. 2026 г..
Для чего можно использовать rag-from-scratch?
Изучение того, как сочетаются поиск, эмбеддинги и дополнение промпта Создание прототипа системы ответов на вопросы по документам, полностью работающей офлайн Сравнение стратегий поиска: векторного, по ключевым словам и гибридного Обучение команды внутреннему устройству RAG перед переходом на более крупный фреймворк
Где скачать rag-from-scratch?
Исходный код и инструкции по установке — на GitHub: https://github.com/pguso/rag-from-scratch

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Фреймворк инкрементальных конвейеров данных на Python с ядром на Rust, который синхронизирует векторные индексы и графы знаний с меняющимися источниками для AI-агентов и RAG-приложений.

11,7 тыс.921RustApache-2.0Обновлён вчера