Разработка платформы “Второй мозг”: база знаний, векторный поиск и автоиндексация файлов
AI · RAG · Laravel · Qdrant · OpenAI API · Автоматизация
RAG-платформа «Второй мозг» для работы с корпоративными знаниями
Разработал MVP-платформу, которая собирает документы, заметки, письма и аудиозаписи в единую базу знаний. Система автоматически извлекает текст, определяет смысловые фрагменты, создаёт embeddings и делает информацию доступной через семантический поиск и Custom GPT.
Проект строился не как загрузчик файлов или отдельная интеграция с PLAUD, а как универсальное ядро знаний, к которому можно постепенно подключать новые источники данных.
Выбор решения под задачу клиента
Клиенту нужна была единая база для документов, заметок, писем и аудио. Задача раскладывается на сбор материалов, фоновую обработку и поиск. Общее ядро позволяет подключать новые источники к одному pipeline.
Почему такой стек
Laravel объединяет модель данных, API и фоновые задачи. MySQL хранит записи и связи, Qdrant — векторы для смыслового поиска, OpenAI — анализ и embeddings. Redis и очереди отделяют длительную обработку от пользовательского запроса.
Что можно оставить за пределами первого MVP
В похожем проекте разумно начать с одного источника документов. Дополнительные каналы, аналитика и отдельный этап reranking могут стать следующими шагами после проверки поиска. Это вариант поэтапного запуска, а не перечень отсутствующих функций реализованной платформы.
Задача проекта
Заказчику была нужна персональная и корпоративная база знаний, способная работать не с одним форматом или сервисом, а с разными источниками информации.
Собирать данные
- аудиозаписи и транскрипции PLAUD
- PDF, DOCX, TXT и Markdown
- текстовые заметки
- почтовые сообщения
- файлы из облачных хранилищ.
Обрабатывать автоматически
- извлекать текст из документов
- транскрибировать аудио
- выделять summary и факты
- находить задачи и решения
- индексировать материалы в фоне.
Искать по смыслу
- находить материалы без точного совпадения слов
- фильтровать результаты по источнику и типу
- поддерживать точные запросы
- возвращать релевантные фрагменты
- работать через AI-интерфейс.
Развиваться поэтапно
- запустить рабочий MVP
- не зависеть от одного поставщика
- подключать новые каналы без переделки ядра
- разделять базу, очереди и хранилище
- масштабировать компоненты отдельно.
Главное архитектурное решение
В центре системы находится Knowledge Core — единая модель данных и общий pipeline обработки. PLAUD, ручная загрузка, почта или облачный диск выступают источниками, но не определяют устройство всей платформы.
Новый источник данных должен подключаться к общей системе обработки, а не требовать разработки отдельной базы знаний.
Благодаря этому один и тот же материал проходит стандартный путь: источник → извлечение текста → AI-анализ → смысловые фрагменты → embeddings → Qdrant.
Как устроена обработка данных
-
Приём источника
Пользователь добавляет заметку, загружает документ или аудиофайл. Данные также могут поступать через webhook, почту или интеграцию с облачным хранилищем.
Upload · Webhook · IMAP · Cloud storage
-
Извлечение текста
Для TXT, MD, PDF и DOCX система извлекает содержимое. Аудио MP3, M4A, WAV, WEBM, OGG и FLAC передаётся на транскрибацию через OpenAI API.
Documents · Audio · Transcription
-
AI-анализ
Из текста формируются краткое содержание, факты, задачи и принятые решения. Результаты сохраняются как структурированные данные, а не только как сплошной текст.
Summary · Facts · Tasks · Decisions
-
Разбиение и индексация
Материал делится на небольшие смысловые фрагменты. Для каждого фрагмента создаётся embedding и сохраняется payload с источником, типом файла, проектом, категорией и датой.
Chunks · Embeddings · Metadata
-
Поиск и ответ
Qdrant находит близкие по смыслу фрагменты, а MySQL используется как fallback для точных фраз, кодов и номеров. API передаёт найденный контекст в Custom GPT.
Semantic search · Keyword fallback · Custom GPT
Почему обработка вынесена в очереди
Транскрибация аудио, разбор документов и создание embeddings могут занимать заметное время. Эти операции нельзя выполнять внутри обычного HTTP-запроса: пользователь не должен ждать, пока закончится весь pipeline.
Быстрый интерфейс
После загрузки файл сразу появляется в системе, а тяжёлая обработка продолжается в фоне.
Контроль статусов
Для каждой задачи фиксируется состояние обработки. Пользователь видит, что уже выполнено и где возникла ошибка.
Повторные попытки
Временная недоступность внешнего API не приводит к потере данных: задачу можно безопасно запустить повторно.
Масштабирование
Количество обработчиков можно увеличивать отдельно от web-приложения по мере роста объёма файлов.
Структура базы знаний
В MySQL хранится не только список файлов. Модель отражает смысловое содержание материалов и связи между ними.
Материалы
knowledge_items— записи базы знанийknowledge_chunks— фрагменты для поискаsource_files— исходные файлыaudio_transcriptions— транскрипции.
Смысловые данные
knowledge_tags— тегиknowledge_entities— люди, компании и темыknowledge_relations— связи- факты, задачи и решения.
Внешние источники
- учётные записи почты
- почтовые сообщения
- облачные файлы
- данные из webhook-интеграций.
Интеграция с PLAUD
Во время разработки обнаружилось ограничение: интеграция PLAUD через Zapier передаёт готовую транскрипцию и summary, но не исходный аудиофайл. Поэтому система поддерживает два независимых сценария.
Автоматический сценарий
PLAUD → transcript / summary → Zapier → Laravel webhook → Knowledge Core
Подходит, когда достаточно результата, уже сформированного PLAUD.
Сценарий с исходным аудио
PLAUD → скачивание аудио → админка → OpenAI transcription → Knowledge Core
Позволяет самостоятельно управлять транскрибацией и дальнейшим анализом.
Ограничение внешнего сервиса не должно становиться ограничением всей платформы.
Семантический и точный поиск
Каждый chunk сохраняется в Qdrant вместе с embedding и метаданными. За счёт этого запрос может быть сформулирован другими словами: система ищет близость смыслов, а не только совпадение формулировок.
При этом векторный поиск не заменяет обычный полностью. Для коротких запросов, артикулов, кодов, номеров и точных цитат используется keyword fallback через MySQL.
Qdrant
Находит релевантные фрагменты по смыслу и учитывает метаданные материала.
MySQL
Обрабатывает точные совпадения и хранит основную структуру данных проекта.
Гибридный результат
Объединяет сильные стороны семантического и полнотекстового поиска.
Подключение к Custom GPT
Для работы с частной базой знаний был разработан отдельный API и подготовлена OpenAPI-схема для GPT Actions.
-
GPT получает вопрос
Пользователь задаёт вопрос обычным языком внутри чата.
-
Action обращается к Laravel API
Запрос проходит авторизацию по API key и передаётся в поисковый слой.
-
Система находит контекст
Qdrant и MySQL возвращают связанные фрагменты, полные записи, summary, задачи, факты и решения.
-
GPT формирует ответ
Ответ строится на данных из закрытой базы знаний, а не только на общих знаниях модели.
Административная панель
Для управления источниками и результатами обработки разработана отдельная админка в минималистичном стиле.

Работа с материалами
- добавление текстовых записей
- загрузка документов и аудио
- просмотр исходных файлов
- запуск обработки.
Результаты AI-анализа
- summary
- задачи
- факты
- принятые решения.
Интеграции и статусы
- почтовые ящики через IMAP
- ручная синхронизация
- состояние фоновых задач
- контроль ошибок обработки.
Почта и облачные хранилища
Архитектура подготовлена к подключению Mail.ru, Gmail, Яндекс.Почты и произвольных IMAP-серверов. После синхронизации письмо становится таким же элементом Knowledge Core, как документ или заметка.
Для Яндекс.Диска, Google Drive и Dropbox применяется тот же принцип: внешний файл преобразуется в SourceFile, проходит через общий извлекатель текста и индексируется без изменения ядра.
Источник может быть любым. Формат хранения, анализа и поиска внутри платформы остаётся единым.
Стек и инфраструктура
Backend
Laravel · PHP · REST API · Webhooks
Данные и поиск
MySQL · Qdrant · Embeddings · Hybrid Search
Фоновые процессы
Redis · Laravel Queue · Workers
AI
OpenAI API · Transcription · Text Analysis · Custom GPT Actions
Интеграции
PLAUD · Zapier · IMAP · Google Drive · Dropbox · Яндекс.Диск
Разработка и запуск
Docker · Laravel Sail · Vite
Результат
В результате создан рабочий фундамент RAG-платформы, который объединяет загрузку, обработку, хранение и интеллектуальный поиск по разным источникам данных.
Единая база знаний
Документы, аудио, заметки и внешние источники приводятся к общей структуре.
Автоматическая обработка
Текст извлекается, анализируется, разбивается на chunks и индексируется в фоне.
Гибридный поиск
Система понимает смысл запроса и одновременно поддерживает точные совпадения.
AI-интерфейс
Custom GPT получает ответы из частных данных через защищённый API.
Независимость от источника
Новые каналы подключаются к Knowledge Core без перестройки всей системы.
Основа для роста
Базу, Qdrant, очереди и файловое хранилище можно масштабировать отдельно.
Что можно развивать дальше
Следующие этапы могут включать автоматическую синхронизацию папок и почты, дополнительные коннекторы к CRM и мессенджерам, разграничение корпоративного доступа, улучшение качества retrieval и собственный AI-ассистент внутри интерфейса.
Главное преимущество текущей архитектуры в том, что для такого развития уже существует единое ядро: новые источники расширяют платформу, а не создают рядом ещё одну изолированную систему.
Частые вопросы о платформе «Второй мозг»
Чем «Второй мозг» отличается от обычного облачного хранилища?
Хранилище помогает сохранять и открывать файлы. В этом проекте материалы дополнительно проходят извлечение текста, AI-анализ и индексацию. Пользователь может искать информацию по смыслу и обращаться к базе через Custom GPT, а система хранит краткое содержание, факты, задачи и решения.
Какие документы и источники можно подключить?
В описанном MVP предусмотрены текстовые заметки, загрузка TXT, Markdown, PDF и DOCX, а также аудио MP3, M4A, WAV, WEBM, OGG и FLAC. Для PLAUD реализован приём транскрипций и summary через Zapier. Подключение почты и облачных дисков выделено в отдельное направление развития: состав коннекторов и режим синхронизации нужно уточнять для конкретного внедрения.
Как обновляется база знаний при изменении файлов?
Загруженный материал проходит обработку и индексацию в фоне. Постоянное отслеживание изменений во внешних папках не заявлено как готовая функция этого MVP: автоматическая синхронизация указана среди следующих этапов. Для обновляемого источника отдельно определяются периодичность проверки, повторная индексация и обработка удалённых документов.
Можно ли получать ответы со ссылками на исходные документы?
Поисковые фрагменты сохраняются с метаданными источника, а API позволяет получать полную запись базы знаний. Это основа для привязки ответа к материалам. Автоматическое отображение кликабельных ссылок в каждом ответе Custom GPT в этом кейсе отдельно не подтверждено — такой формат выдачи нужно согласовать и проверить при внедрении.
Что входит в MVP, а что требует отдельной разработки?
В кейсе описаны загрузка материалов, извлечение текста и транскрибация, AI-анализ, фоновая индексация, поиск через Qdrant и MySQL, административная панель и API для Custom GPT. Автоматическая синхронизация внешних источников, дополнительные коннекторы, корпоративные права доступа и собственный AI-ассистент в интерфейсе перечислены как возможные следующие этапы.
Обсудить AI/RAG-проект
Если вам нужна база знаний с поиском по документам, обработка аудио и почты, интеграция с GPT или автоматизация работы с корпоративными данными — опишите задачу в свободной форме.
Можно коротко рассказать, где сейчас хранятся данные, какие источники нужно подключить и какой результат должны получать пользователи.
Laravel · RAG · Qdrant · OpenAI API · Custom GPT · Documents · Audio · Integrations
Обсудить похожую задачу
AI/RAG разработка · Кейсы AI-агентов и RAG-систем · Как я разбираюсь в задаче клиента
