RAG-ассистент на Python с нейронками — без воды и занудства 🔥🧠
Всем привет, вайб-кодеры и нейронщики! 👋 Я тут замутил бота, который жрёт твои доки, отвечает на вопросы и делает это в том стиле, в котором ты захочешь. Сейчас расскажу, как это всё произошло — без занудства и с душой! 😎
В чём вообще идея? 💡
Идея в том, чтобы не сидеть часами в документах, книгах и инструкциях, а быстро получать точные ответы на свои вопросы. 🚀 Я решил объединить мощь нейронок и дерзкий стиль моего любимого канала Vibe Coding AI. Короче, получился такой личный RAG-ассистент, который может:
- 📄 Загружать и жевать документы (PDF, DOCX, TXT)
- ✂ Нарезать тексты на чанки (да, это так называется)
- 🧠 Превращать куски текста в эмбеддинги и сохранять их в базе знаний
- ⚡ Быстро отвечать на любые вопросы по загруженным докам
Особенно удобно использовать его для изучения сложных материалов — например, я закинул PDF с книгой «Грокаем алгоритмы», и теперь могу моментально получать ответы на вопросы прямо из книги. 📚🔥
Как я это сделал? 🛠
Использовал я Python, Google Colab и пару библиотек:
- 🤖 LangChain – для RAG-процессов (поиск и генерация ответов)
- 🗂 FAISS – для хранения и поиска по эмбеддингам
- 🚀 HuggingFace E5-large – чтобы эмбеддинги летали, как Falcon 9
- 💬 ChatGPT – для генерации текста (но это не обязательно, об этом позже)
- 📲 Aiogram 3 – чтобы бот мог общаться с тобой прямо в Telegram
Весь процесс запуска максимально прост — вбиваешь свои API-ключи (OpenAI, HuggingFace, Telegram), кидаешь документы в папку на Google Drive, запускаешь Colab, и вуаля — бот уже пашет. 🧑💻✨
Почему Google Colab? 🌐
Google Colab — просто топчик для тех, у кого нет мощного компа или нет желания его нагружать. 💻 Все данные хранятся на Google Drive, что дико удобно: запустил, закрыл вкладку, вернулся — всё на месте. Главное — это доступ к GPU. 🎮 Колаб даёт бесплатно юзать GPU примерно до 12 часов в день, этого хватает на весь рабочий день. Можно выбирать разные процессоры — от простеньких до зверей вроде NVIDIA A100. Я обычно включаю A100, чтобы потестить и кайфануть от скорости. 🚀🔥
Чтобы включить GPU в Colab, достаточно выбрать «Среда выполнения → Сменить тип среды выполнения → GPU». Готово, теперь всё летает! 🚀😎
А чё там насчёт ChatGPT? 🤔
Тут важно сказать, что хоть я использовал ChatGPT (модель gpt-4o-mini), это вообще не принципиально. Если ты фанатеешь по локальным моделям (LLaMA, Mistral или ещё какие), или у тебя есть доступ к GigaChat — легко заменяешь модель в коде, чуть правишь и погнал кодить на своём любимом движке. 🤖🔄
Такой подход позволяет тебе не зависеть от одного провайдера и выбрать модель, которая по душе, по бюджету и по скорости. 💰⚙
Затачиваем под свой стиль 🔪😈
Фишка этого проекта — он полностью кастомизируем. Промпты задаются через шаблон, так что можно сделать ассистента максимально подходящим под себя:
- 🙇 Хочешь вежливого? Пиши аккуратно и чинно.
- 🤪 Нужен дерзкий программерский вайб? Тогда добавляй сленг, шутки, мат и всё, что душе угодно.
Например, вот как выглядит мой промпт:
Ты — дерзкий ассистент из телеграм-канала Vibe Coding AI, который отвечает на вопросы по книге «Грокаем алгоритмы». Используй программистский сленг и отвечай ярко, энергично и с огоньком.
Ты просто пишешь, что хочешь от модели, и получаешь ответ в нужном тоне. ✍🔥
Особенно полезен для документации к библиотекам 📚
Закинул PDF с доками к либе — и больше никаких страданий! Просто спрашиваешь бота, как использовать конкретную функцию, метод или API, и сразу получаешь понятный ответ. Серьёзно, это как Stack Overflow, только лично твой и без странных комментариев. 🤩💡
Исходный код и скриншоты 📸
А что дальше? 🚀
Теперь у меня есть личный RAG-бот, который экономит мне время, позволяет быстро находить нужную инфу, и главное — делает это весело и с огоньком. Если хочешь попробовать что-то похожее — смело бери код и кастомизируй его под себя. 🤘😎
Вайб-кодинг — это не просто тренд, это уже целая философия кодинга с ИИ на расслабоне, без занудства и корпоративного буллшита.
Ебануться, что творят эти нейронки! 🔥🤯🤘
Если нравится мой контент, то подпишись на телегу плз.
Ссылка на телеграм-канал: