У меня вчера большая радость – запустил RAG у себя на сервере. Если кто-то еще не знаком с термином - это индексация своих данных, которая позволяет подгружать их к запросам в нейронку, так, чтобы она могла давать ответ не на основе своей информации, а используя именно мою базу знаний.
Конструкция такая:
1. Сервер за рубежом для VPN – использую Open VPN
2. Сервер в России для всей базы (8Гб RAM), настройка маршрутизации запросов к нейронкам через зарубежный сервер
3. Интегрированное хранилище оригинальных файлов – на сервере, Яндекс диске и Google drive
4, qdrant для хранения векторов
5. supabase для хранения метаданных
6. n8n для оркестрации
7. api для разных нейронок
Общий подход – заношу файлы в директорию, они передаются модели для ембеддинга – пока использую OpenAI text-embedding-3-small. Вектор пишется в qdrant, метаданные файла (тип, дата создания, тэги и пр.) – в supabase, управление всем этим процессом n8n.
Много времени потратил на настройку серверов – там не все так просто с переадресацией запросов между серверами по VPN. Повозился с qdrant и библиотеками для парсинга и индексации (работаю на ustructured), но все заработало.
Оркестрация n8n в процессе – есть сложности с настройкой виртуальных окружений (все стоит в отдельных докерах, видимо, надо переустанавливать вместе – возьму сборку из поста выше).
С метаданными пока не возился – это следующим шагом. Supabase будет использоваться не только для метаданных, но и для графовой базы данных.
Из ближайшего, после настройки n8n, планирую озаботиться интеллектуальным разбиением текста на чанки, благо для этого есть несколько интересных библиотек. Также, надо бы посравнивать разные эмбеддинговые модели. В общем, есть чем заняться, но свет в конце тоннеля уже виден.
Post #99
52
- 🔥 3