Header background

запуск проекта: Как я собрал RAG-портфолио, задеплоил его на Synology и внедрил Hybrid Search (и что из этого вышло)

запуск проекта

·

ноябрь 2026

Всем привет! Это мой первый пост в Сетке. Решил собрать всё в кучу и рассказать про свой главный пет-проект последний месяц - интерактивное портфолио с AI-ассистентом. Зачем? Хотелось не просто показать резюме, а дать людям возможность «поговорить» с моим опытом.

1. Идея и первый шаг

Я хотел, чтобы любой посетитель мог задать вопрос вроде «Какие у тебя навыки в Docker?» или «Расскажи про проект RAG-бота» и получить ответ на основе моих реальных данных (резюме, проектов). Начал с простого: Next.js + Node.js + Qdrant. Ассистент работал, но отвечал не всегда точно.

2. Самое сложное: Деплой на Synology NAS

Локально всё работало, но я хотел, чтобы сайт жил 24/7 на моем домашнем сервере. Это был вызов:

Docker в Synology — это отдельная вселенная. Пришлось разбираться с docker-compose, монтированием папок и правами. Ошибка EAI_AGAIN: Бэкенд не мог достучаться до YandexGPT из контейнера. Пришлось прописывать extra_hosts и настраивать DNS вручную. Кэш Docker: Казалось бы, загрузил новый образ через docker load, а контейнер работает со старым. Пришлось «изобретать» плоские архивы, чтобы обойти кэширование. SSL и домен: Настроил обратный прокси (Reverse Proxy) и сертификаты Let’s Encrypt, чтобы сайт открывался по красивому stasrybakov.ru, а API — по api.stasrybakov.ru.

3. Прокачка: Hybrid Search (RRF)

Когда сайт задеплоился, я понял, что ассистенту не хватает «ума». Векторный поиск (эмбеддинги) хорошо понимает смысл, но может промахиваться на точных словах (например, Qdrant или Docker). Я внедрил гибридный поиск:

Сначала ищем по смыслу (векторы).

Параллельно ищем по точным словам (TF-IDF/BM25).

Объединяем результаты через Reciprocal Rank Fusion (RRF). Результат: ассистент стал точнее отвечать на технические вопросы и перестал путаться в датах.

4. Что в итоге?

Сейчас у меня есть работающий сайт с блогом, AI-ассистентом и гибридным поиском. Он развернут на домашнем NAS, а код открыт на GitHub. Это был ценный опыт в Production-инжиниринге.

Этот проект был серьезным вызовом, но это только начало. У меня в голове еще много идей, которые ждут своей реализации. Если вам нужен инженер, который не просто пишет код, а горит своим делом и постоянно предлагает улучшения — давайте знакомиться!

Сейчас я открыт к предложениям на позицию RAG/LLM-инженера (удаленка/гибрид). Буду рад обсудить проекты или просто услышать фидбек! Ссылки: 🌐 Живой сайт: https://stasrybakov.ru 💻 GitHub: https://github.com/Superstas87/RAG-Portfolio 🤖 Telegram-бот (RAG по психологии): https://github.com/Superstas87/rag-bot