Практическое руководство по созданию AI-агентов с нуля на локальных LLM через node-llama-cpp: function calling, память и ReAct.
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 обновляется ежедневно.
Похожие проекты
Открытая векторная база данных для AI-приложений: хранит документы и векторы для семантического, гибридного и полнотекстового поиска.
Бесплатный курс под лицензией MIT из 542 уроков, который с нуля знакомит с AI engineering на Python, TypeScript, Rust и Julia.
Постоянная память для AI-агентов-разработчиков: автоматически сохраняет сессии и подбирает полезный контекст для следующих сессий в Claude Code, Cursor, Codex и других MCP-клиентах.
Фреймворк инкрементальных конвейеров данных на Python с ядром на Rust, который синхронизирует векторные индексы и графы знаний с меняющимися источниками для AI-агентов и RAG-приложений.
Модульный учебный проект по Agentic RAG на LangGraph: иерархическая индексация, память диалога и уточнение запросов.