Чат по тематическому корпусу «внедрение AI в бизнес-процессы». Каждый ответ опирается только на проиндексированные источники и содержит цифровые сноски — кликабельные ссылки на исходные материалы.
корпус: … источников / … фрагментов
обновлён …
embedder …
Как это работает
Простая идея. Обычная нейросеть отвечает «по тому что помнит» — может выдумать или ошибиться. Здесь нейросеть с библиотекой: перед ответом она находит нужные страницы в нашем корпусе и только потом формулирует ответ, прикладывая ссылки на источник. Соврать незаметно нельзя — всё проверяемо.
- Один раз скачали публичные документы по теме «как внедрять AI в бизнес» и сложили на VPS. У каждого фрагмента сохраняется ссылка на источник.
- Программа на сервере режет каждый документ на куски по абзацу и присваивает каждому куску числовой «адрес смысла» (embedding). Похожие по смыслу куски получают похожие адреса. Делает это open-source модель прямо у нас на сервере.
- Эти куски + их адреса + ссылки на источник лежат в Postgres с расширением pgvector для быстрого поиска по «адресам».
- Когда вы задаёте вопрос: он превращается в такой же «адрес смысла», база за миллисекунды находит 6 наиболее подходящих кусков, эти куски отдаются LLM из OpenRouter, и она отвечает только по ним, расставляя сноски 1 2.
- Под ответом виден список источников с кликабельными ссылками — любой ответ можно перепроверить.
Стек и ограничения
- Embedder:
intfloat/multilingual-e5-base(768-мерный вектор, RU+EN), Python sidecar на CPU. - Vector DB: pgvector 0.6 в локальном Postgres 16, HNSW-индекс по cosine.
- Generator: free-модели OpenRouter из живого ранкинга, один цикл retry на fallback.
- Лицензии корпуса — только MIT-репозитории, фиксируются в
ops/rag/sources.yaml. - Корпус не использует документацию самого проекта — это внешние тематические источники.
- Ограничение: на free-tier OpenRouter возможны паузы и ошибки 429 — сервер делает один retry на fallback-модель.