Разработка платформы “Второй мозг”: база знаний, векторный поиск и автоиндексация файлов

AI · RAG · Laravel · Qdrant · OpenAI API · Автоматизация

RAG-платформа «Второй мозг» для работы с корпоративными знаниями

Разработал MVP-платформу, которая собирает документы, заметки, письма и аудиозаписи в единую базу знаний. Система автоматически извлекает текст, определяет смысловые фрагменты, создаёт embeddings и делает информацию доступной через семантический поиск и Custom GPT.

Проект строился не как загрузчик файлов или отдельная интеграция с PLAUD, а как универсальное ядро знаний, к которому можно постепенно подключать новые источники данных.

RAGпоиск по смыслу
Qdrantвекторная база
OpenAIанализ и embeddings
Laravelbackend и API
Queuesфоновая обработка

Выбор решения под задачу клиента

Клиенту нужна была единая база для документов, заметок, писем и аудио. Задача раскладывается на сбор материалов, фоновую обработку и поиск. Общее ядро позволяет подключать новые источники к одному 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.

Как устроена обработка данных

  1. Приём источника

    Пользователь добавляет заметку, загружает документ или аудиофайл. Данные также могут поступать через webhook, почту или интеграцию с облачным хранилищем.

    Upload · Webhook · IMAP · Cloud storage

  2. Извлечение текста

    Для TXT, MD, PDF и DOCX система извлекает содержимое. Аудио MP3, M4A, WAV, WEBM, OGG и FLAC передаётся на транскрибацию через OpenAI API.

    Documents · Audio · Transcription

  3. AI-анализ

    Из текста формируются краткое содержание, факты, задачи и принятые решения. Результаты сохраняются как структурированные данные, а не только как сплошной текст.

    Summary · Facts · Tasks · Decisions

  4. Разбиение и индексация

    Материал делится на небольшие смысловые фрагменты. Для каждого фрагмента создаётся embedding и сохраняется payload с источником, типом файла, проектом, категорией и датой.

    Chunks · Embeddings · Metadata

  5. Поиск и ответ

    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.

  1. GPT получает вопрос

    Пользователь задаёт вопрос обычным языком внутри чата.

  2. Action обращается к Laravel API

    Запрос проходит авторизацию по API key и передаётся в поисковый слой.

  3. Система находит контекст

    Qdrant и MySQL возвращают связанные фрагменты, полные записи, summary, задачи, факты и решения.

  4. GPT формирует ответ

    Ответ строится на данных из закрытой базы знаний, а не только на общих знаниях модели.

Административная панель

Для управления источниками и результатами обработки разработана отдельная админка в минималистичном стиле.

Административная панель RAG-платформы Второй мозг

Работа с материалами

  • добавление текстовых записей
  • загрузка документов и аудио
  • просмотр исходных файлов
  • запуск обработки.

Результаты 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-систем · Как я разбираюсь в задаче клиента


Давайте обсудим проект

Расскажите, что хотите сделать. Я отвечу на вашу почту.

Или напишите в Telegram @ifwcom