Эмбеддинги в Obsidian Copilot для индекса заметок

Краткая справка: внешний провайдер эмбеддингов можно использовать вместе с плагином Copilot, чтобы настроить семантический поиск по базе заметок не только на стандартных моделях.

Когда заметок в Obsidian становится много, обычный поиск по словам начинает быстро упираться в формулировки: вы помните смысл, но не помните точную фразу. Индекс эмбеддингов помогает Copilot искать не только совпадения текста, а близкие по смыслу фрагменты внутри vault — и за счет этого отвечать по вашим собственным материалам заметно осмысленнее.

Эта заметка — короткая практическая инструкция по подключению OpenAI-compatible embedding API. Главная идея простая: аккуратно указать Base URL, модель и ключ, включить семантический поиск, а затем проверить, что Copilot действительно строит индекс заметок через выбранного провайдера.


1. Подготовка

Перед настройкой лучше сразу собрать три вещи. Так меньше шансов застрять на странной ошибке из-за одного лишнего суффикса в URL или неточного имени модели:

  1. API Key от вашего провайдера (например, от polza.ai).
  2. Точный Base URL провайдера без лишних хвостов вроде /embeddings.
  3. Название модели, которую провайдер поддерживает (например, text-embedding-3-small).

2. Пошаговая настройка в Obsidian

Шаг 1: Откройте настройки плагина

Начинаем с того места, где Copilot хранит настройки моделей. Это важно: чат-модель и embedding-модель могут настраиваться отдельно, а индекс заметок зависит именно от блока эмбеддингов.

  1. Перейдите в SettingsCommunity PluginsCopilot.
  2. В верхнем меню настроек выберите вкладку Model.

Шаг 2: Выбор провайдера Embedding-модели

Теперь нужно сказать Copilot, что эмбеддинги будут приходить не из встроенного варианта, а из совместимого API.

  1. Прокрутите вниз до секции Embedding Model.
  2. В выпадающем списке выберите OpenAI Format (это универсальный драйвер для всех совместимых API).

Шаг 3: Заполнение параметров (Смотри скриншот [2])

Нажмите на кнопку настройки (шестеренку или поле ввода) и заполните данные. Здесь лучше не «догадываться», а копировать значения из документации или кабинета провайдера: для индексации заметок даже маленькая неточность в адресе API ломает весь сценарий.

ПараметрЗначениеВажное примечание
Model Nametext-embedding-3-smallДолжно точно совпадать с тем, что дает провайдер.
ProviderOpenAI FormatНе меняйте, если используете кастомный API.
Base URLhttps://api.polza.ai/api/v1КРИТИЧНО: Не добавляйте в конце /embeddings! Плагин сам подставит нужный путь.
API Keysk-.......Ваш ключ доступа.

Лайфхак: Если вы видите галочку CORS Bypass или Proxy Mode в расширенных настройках — попробуйте включить её, если возникают сетевые ошибки Network Error или CORS blocked.

Шаг 4: Активация семантического поиска (Смотри скриншот [1])

Подключить модель недостаточно: Copilot еще нужно явно разрешить использовать семантический индекс в режиме вопросов и ответов.

  1. Перейдите во вкладку QA (Questions & Answers).
  2. Найдите переключатель Enable Semantic Search.
  3. Переведите его в положение ВКЛ (ON).

3. Запуск индексации

После сохранения настроек база сама не обновится мгновенно. Copilot нужно заново пройтись по vault и построить индекс, иначе вы будете смотреть на правильные настройки, но получать ответы без новой семантической базы.

  1. Нажмите Ctrl/Cmd + P (Command Palette).
  2. Введите: Copilot: Force Reindex Vault (или Refresh Vault Index).
  3. Нажмите Enter.

Следите за уведомлениями справа вверху. Если появится Index successfully updated — значит, Copilot смог обратиться к выбранному embedding API и обновить индекс заметок.


4. Решение частых проблем (Troubleshooting)

Большинство ошибок здесь связано не с самими заметками, а с маршрутом запроса: Obsidian, Copilot, провайдер и URL должны договориться, куда именно отправлять embeddings-запрос.

Ошибка: 404 Not Found или Cannot POST /.../embeddings/embeddings

Причина: Вы указали лишний путь в Base URL. Решение: Уберите /embeddings из конца строки URL. Оставьте только .../v1.

Ошибка: Connection error или CORS policy blocked

Причина: API провайдера не разрешает запросы напрямую из браузера (Obsidian). Решение:

  1. Попробуйте включить локальную модель (Local) вместо внешней.
  2. Или используйте локальный прокси (например, LM Studio / Ollama), который пробрасывает запросы.

Ошибка: Semantic index database not found

Причина: Индекс поврежден из-за прерванной загрузки или проблемы с доступом. Решение:

  1. Перезапустите Obsidian.
  2. Запустите команду Force Reindex Vault.