Локальный семантический поиск для AI-диалогов с использованием fastembed и LanceDB

✍️ OpenClawRadar📅 Опубликовано: 20 марта 2026 г.🔗 Source
Локальный семантический поиск для AI-диалогов с использованием fastembed и LanceDB
Ad

Разработчик реализовал локальную систему семантического поиска по истории диалогов с ИИ, обработав 368 тысяч сообщений без зависимостей от облачных сервисов или API-ключей. Проект использует fastembed с моделью BAAI/bge-small-en-v1.5 для эмбеддингов на CPU и LanceDB в качестве векторного хранилища, работающего как одиночная директория без серверного процесса.

Технический стек

  • Эмбеддинги: fastembed с моделью BAAI/bge-small-en-v1.5 (384 измерения)
  • Векторное хранилище: LanceDB — одиночная директория, без серверного процесса, с поддержкой добавления
  • Импорт данных: Загрузка из JSONL-транскриптов сессий (Claude Code, любой экспорт чатов)
  • Производительность эмбеддинга: ~500 документов/сек на процессоре M4

Ключевые детали реализации

За 4 месяца итераций разработчик извлёк несколько практических уроков:

  • Избирательный эмбеддинг: Ранние версии обрабатывали каждое сообщение, что снижало соотношение сигнал/шум. Текущая реализация эмбеддит только сообщения пользователей и содержательные ответы ассистента (пропуская ответы вроде «конечно, вот код»), сокращая количество векторов на 60% и улучшая качество поиска.
  • Стратегия чанкинга: Переход от чанков фиксированного размера к чанкам по репликам в диалоге значительно повысил релевантность поиска. Выбор модели (пробовались nomic-embed-text, bge-large, all-MiniLM) показал меньшую разницу по сравнению с подходом к чанкингу.
  • Преимущества LanceDB: Разработчик назвал LanceDB «невероятно недооценённым для персонального масштаба» — без сервера, Docker, просто директория с мгновенным добавлением новых векторов, заменившая переусложнённую настройку pgvector.
  • Рабочий процесс переэмбеддинга: Модель bge-small-en-v1.5 с 384 измерениями достаточно быстра для переэмбеддинга каждый час через cron-задачу. Полная переиндексация 117 тысяч векторов занимает примерно 4 минуты на железе M2.
Ad

Метрики производительности

  • Всего обработано сообщений: 407 тысяч
  • Проиндексировано векторов: 87 тысяч
  • Задержка поиска (p50): 12 мс на 117 тысячах векторов
  • Время полной переиндексации: ~4 минуты (M2)
  • Хранилище: ~180 МБ на диске
  • Требуется API-ключей: 0

Проект имеет открытый исходный код под лицензией MIT и доступен по адресу github.com/mordechaipotash/brain-mcp. Установка выполняется через pipx install brain-mcp && brain-mcp setup.

📖 Read the full source: r/LocalLLaMA

Ad

👀 Смотрите также

Агент ИИ Khael делится решениями по производственной архитектуре для OpenClaw
Инструменты

Агент ИИ Khael делится решениями по производственной архитектуре для OpenClaw

Khael, автономный ИИ-агент, работающий на OpenClaw, подробно описывает конкретные архитектурные решения, которые успешно работают в продакшене уже несколько месяцев, включая отдельные файлы LAWS.md, файлы режимов, задания cron для самопроверки и специализированные типы ботов.

OpenClawRadar
Сяочжэнь: Навык Claude Code, который копает на три уровня вглубь для выявления корневых причин
Инструменты

Сяочжэнь: Навык Claude Code, который копает на три уровня вглубь для выявления корневых причин

Сяочжэнь (小真) — это навык Claude Code, который использует три механизма — Дар, Три уровня глубины и Прогноз — чтобы помочь пользователям выяснить, что на самом деле их беспокоит, вместо того чтобы давать прямые советы. Он устанавливается одной командой curl и активируется вводом /小真 в Claude Code.

OpenClawRadar
Skales: Настольный ИИ-агент с поддержкой Ollama, 300 МБ оперативной памяти в режиме простоя
Инструменты

Skales: Настольный ИИ-агент с поддержкой Ollama, 300 МБ оперативной памяти в режиме простоя

Skales — это настольное приложение на Electron, которое предоставляет автономного ИИ-агента с установщиками .exe/.dmg, работает с Ollama для локального вывода или с облачными провайдерами и использует ~300 МБ оперативной памяти в режиме ожидания, храня данные локально в ~/.skales-data.

OpenClawRadar
Инструмент GrapeRoot снижает затраты на код Claude на 45% благодаря предварительно просканированному контексту репозитория.
Инструменты

Инструмент GrapeRoot снижает затраты на код Claude на 45% благодаря предварительно просканированному контексту репозитория.

Бесплатный инструмент под названием GrapeRoot, который предварительно сканирует репозитории и строит графы зависимостей, сократил затраты на Claude Code в среднем на 45% по 10 инженерным задачам, одновременно повысив качество ответов на 13%. Инструмент устраняет циклы исследования, которые обычно потребляют токены.

OpenClawRadar