Настройка Copilot в Obsidian

Иван Никитин и партнерыНовостиObsidianНастройка Copilot в Obsidian

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

В данной статье мы рассмотрим:

  1. Подключение к OpenRouter.ai;
  2. Установку Ollama для локальных моделей;
  3. Настройку модели для расчета эмбеддингов.

Предполагается, что плагин Obsidian Copilot уже установлен в вашем Obsidian. Если это не так, самое время сделать это и только после этого продолжить чтение.

Подключение к OpenRouter.ai

Как известно, компания OpenAI (разработчики моделей ChatGPT) блокирует доступ из России. Однако, помимо великолепных моделей ChatGPT, существуют не менее эффективные модели от других поставщиков. Поэтому для работы Copilot мы будем использовать не прямое подключение к OpenAI, а некоторые прокси-службы. Наиболее популярными сейчас являются:

У первых — огромная коллекция моделей, а вторые принимают оплату в рублях. Мы будем использовать OpenRouter.

  1. Зайдите на сайт https://openrouter.ai/ и зарегистрируйтесь. Желательно сразу оплатить небольшую сумму, например, $5. Мы не рассматриваем здесь серые способы оплаты зарубежных сервисов, но если возникнут сложности, можете обратиться к автору статьи.
  2. После регистрации перейдите в раздел Keys и сгенерируйте новый ключ. Название ключа может быть любым, например, «Obsidian Copilot». Обязательно сохраните полученное значение, так как оно больше не будет отображаться!
  3. Перейдите в настройки плагина Copilot и укажите значение ключа в разделе Generals → API Keys → Set Keys.

Выберите и установите желаемую модель для работы.

    Несколько слов о моделях нейросети

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

    • Размер контекстного окна — сколько токенов модель принимает для работы. Это тот самый контекст, то есть ваш промпт, загруженные данные, ответ модели, уточнения и т. п. Чем он больше, тем лучше. Например, context 128K обозначает размер 128 тысяч токенов (примерно 60-100 тысяч слов).
    • Цена за входные и выходные данные. Обычно указывается за миллион токенов. Вот пример модели с достаточно высокой ценой — $3 за каждый миллион токенов на входе и $3 за каждый миллион сгенерированных токенов.

    Рекомендуем начать с одной из следующих моделей:

    • openai/gpt-4o-mini — очень быстрая, недорогая и качественная модель. К сожалению, с ноября 2024 года требует VPN для своей работы.
    • google/gemini-2.0-flash-001 — очень быстрая, очень недорогая и качественная модель от Google. Рекомендую начать работу именно с этой модели.
    • anthropic/claude-3.5-sonnet — очень качественная и мощная модель. Но дорогая: $3 за миллион входящих токенов и $15 за миллион сгенерированных токенов. Это дороговато для повседневного использования.

    Настоятельно рекомендуем начать работу и далее использовать модель google/gemini-2.0-flash-001

    Чтобы добавить модель, необходимо перейти в раздел настроек Copilot и на вкладке Models под заголовком Chat Models нажать кнопку Add Custom Model. Введите название модели (в точности как в списке выше) и в качестве поставщика выберите OpenRouter. Остальные поля можно не заполнять.

    Если проверка прошла нормально, нажмите кнопку Add Model.

    После этого установите галочку Default напротив добавленной модели и еще раз сделайте Save and Reload.

    Модель по умолчанию в Copilot

    Собственно, всё! Теперь вы можете пользоваться чатом. Закройте настройки Copilot и откройте окно чата в правой панели Obsidian. Если его там нет, нажмите Ctrl + P и введите команду «Toggle Copilot Chat Window», окно чата появится.

    Попробуйте чат с вашей моделью:

    Copilot в режиме чата

    Установка и настройка локальных моделей

    Облачные модели нейросетей очень быстрые, однако в ряде случаев может потребоваться использование локальных моделей нейросетей, которые работают на вашем компьютере, без обращений к интернету. Например:

    • Работа в походных условиях (поезд, самолет);
    • Работа с очень чувствительными данными или информацией, которые не должны в принципе передаваться куда-либо еще;
    • Расчет эмбеддингов по локальным документам (об этом ниже).

    Важное замечание о локальных моделях

    Работа любых локальных моделей требует ресурсов достаточно современных процессоров и памяти вашего компьютера. Если у вас есть современные видеокарты с GPU, это ускорит работу. Без GPU расчет будет выполняться на CPU, и это может занять значительное время. В общем, если у вас старый компьютер и мало памяти, можете не выполнять следующие шаги.

    Но даже если у вас супер-мощный персональный компьютер, не ждите от него производительности облачных моделей! Он всё равно будет работать медленнее чем десятки тысяч серверов, которые используются для обработки данных в облаке.

    Самым простым способом оценить производительность модели нейросети — это замерить скорость генерации, которая обычно изменяется в токенах в секунду. Одно слово, которое вы получите на выходе, это примерно 2 токена. Вот некоторые цифры, конечно же, они могут сильно варьироваться в зависимости от комплектации компьютера и используемой модели, но можно оценить:

    • Средний бизнес-ноутбук с современным процессором со встроенным GPU и 16 GB RAM — примерно 1 — 3 токена в секунду;
    • Высокопроизводительный компьютер с 64 GB RAM и хорошей видеокартой с GPU — 5 — 10 токенов в секунду.

    То есть абзац выше (примерно 270 токенов), нейросеть сгенерирует на ноутбуке за 90 — 120 секунд, на высокопроизводительном компьютере за 15 — 25 секунд.

    Генерация текста локальной моделью phi4 в LM Studio

    А теперь сравните, облачная модель Gemini Flash 2.0 обеспечивает скорость примерно 170 токенов в секунду и сгенерирует этот текст примерно за секунду!

    Всегда помните, что самые быстрые локальные модели будут в десятки раз медленнее любых самых медленных облачных моделей! Если возможно, пользуйтесь именно облачными моделями.

    Настройка работы с локальными моделями

    Текущие настройки позволяют Copilot работать в режиме чата, но если мы хотим использовать режимы QA (см. Использование режимов QA в Obsidian Copilot), нам необходимо установить и настроить модель для расчета эмбеддингов. В принципе, они есть и облачные, но важно понимать, что эмбеддинги — это всё содержимое вашего Obsidian (все заметки!), поэтому загрузка и расчет их в облаке будет небезопасным и недешевым. Поэтому мы будем использовать локальные модели на своем компьютере.

    Для запуска локальных моделей на вашем компьютере мы можем использовать два различных способа:

    • Ollama
    • LM Studio

    Это две платформы для работы нейросетей локально. Ollama значительно проще в настройках, менее капризная, но всё управление только из командной строки. LM Studio более сложная, у нее развитый графический интерфейс и есть некоторые функции, которые отсутствуют в Ollama.

    Установка Ollama для работы с локальными моделями

    Важно еще раз отметить, что работа любых локальных моделей требует ресурсов достаточно современных процессоров и памяти вашего компьютера. Если у вас есть современные видеокарты с GPU Nvidia, это ускорит работу за счет использования CUDA. Без GPU Nvidia расчет Ollama будет выполняться на CPU, и это может занять некоторое время. В общем, если у вас старый компьютер и мало памяти, можете не выполнять следующие шаги, а сразу перейти к следующему раздел.

    Установите приложение с сайта https://ollama.com/ и запустите его. Сигналом успешного запуска будет овечка (лама) в трее Windows. Она должна работать всегда.

    Когда Ollama запущена, необходимо добавить в нее модель для эмбеддингов. Их тоже достаточно много, но здесь мы рекомендуем использовать модель bge-m3. Для ее добавления откройте командную строку Windows или PowerShell и введите команду:

    ollama pull bge-m3

    Дождитесь ее скачивания, модель занимает около 1.2 гигабайт.

    Когда модель будет скачана, откройте настройки Copilot и в разделе QA Settings выберите Add Custom Model. Введите название модели bge-m3 и поставщика Ollama. Нажмите Verify и если ошибок нет, нажмите Add Model .

    Установка LM Studio для работы с локальными моделями

    LM Studio еще одна платформа для запуска локальных моделей. Она более сложная, чем Ollama, но зато дает возможность использовать API Vulcan и запускать расчеты на встроенных GPU современных процессоров, а не только на GPU Nvidia. Ну и моделей нейросетей, с ней совместимых, значительно больше.

    Для установки скачайте и установите приложение с сайта https://lmstudio.ai/.

    После установки перейдите в раздел «Разработка» и запустите сервер (должно быть Status: Running)

    Сервер LM Studio

    Далее перейдите в раздел поиска моделей и установите модель bge-m3. Однако, рекомендуем установить вот эту модель, как на рисунке:


    Модель cm4ker/USER-bge-m3-Q4_K_M-GGUF

    Эта модель cm4ker/USER-bge-m3-Q4_K_M-GGUF -- модификация bge-m3 для более быстрой индексации русских и английских текстов.

    Для добавления ее в Copilot следует перейти в настройках Copilot в разделе Models и в пункте Embedding Models нажать кнопку Add Custom Model.

    Введите параметры строго как на скриншоте

    Настройка модели USER-bge-m3

    Нажмите кнопку Verify и если всё нормально, нажмите Add Model.

    Далее переключитесь на вкладку Basic и явно укажите используемые модели:

    • Default Chat Model: Gemini 2.0 Flash
    • Embedding Model: USER-bge-m3

    Copilot тут же предложит переиндексировать заметки. Соглашайтесь.

    Индексация заметок для наполнения векторного хранилища

    Чтобы Copilot мог работать в режимах QA, нужно один раз проиндексировать все заметки в вашем хранилище и далее регулярно индексировать изменения. Это не быстрый процесс, он может занять несколько часов активной работы. Поэтому если вы используете ноутбук, сначала подключите его к зарядному устройству.

    Откройте панель команд Obsidian Ctrl + P и введите команду «Force re-index vault for QA». Сигналом нормальной работы будет счетчик проиндексированных заметок, который увеличивается. Терпеливо дождитесь окончания процесса.

    Индексация заметок в Copilot

    В дальнейшем достаточно регулярно выполнять команду «Index (refresh) vault for QA», она индексирует только новые и измененные заметки, поэтому много времени не тратится.

    Собственно, всё! Давайте проверим работу в режиме QA:

    Режим Vault QA в Obsidian Copilot

    Впечатляет, правда?

    И вот, ваш Copilot готов к работе!

    комментариев 16

    1. Не работает.

      Ошибка интеграции Ollama bge-m3 с Obsidian Copilot

      Текущая конфигурация:
      — Установлен и запущен локальный сервер Ollama
      — Успешно загружена модель bge-m3 через команду `ollama pull bge-m3`
      — Установлена переменная окружения OLLAMA_ORIGINS=»app://obsidian.md*»
      — Модель добавлена в настройках Obsidian Copilot (QA Settings -> Add Custom Model)

      Проблема:
      При попытке использования модели возникает ошибка:
      «Error: Model request failed: ‘bge-m3’ does not support chat»

      Ожидаемое поведение:
      Модель должна корректно работать для создания эмбеддингов и обеспечивать функционал QA в Obsidian Copilot.

      Дополнительный контекст:
      — Все шаги установки выполнены согласно официальной инструкции
      — Сервер Ollama запущен на нестандартном порту

      • Максим, судя по ошибке «Error: Model request failed: ‘bge-m3’ does not support chat» вы пытаетесь с моделью bge-m3 вести чат. Она не поддерживает чаты, только расчет эмбеддингов.

        Проверьте и убедитесь:
        1. Эту модель Вы добавили именно как модель эмбеддингов в разделе Embedding Models.
        2. В разделе General Settings (это выше, почти в самом начале) у вас добавлена любая модель, например google/gemini-flash-1.5 через OpenRouter, НО НЕ bge-m3! И она выбрана как основная (default).

        Работу расчета эмбеддингов легко проверить так: После того, как вы указали модель эмюеддингов и ОБЯЗАТЕЛЬНО перегрузили плагин (вверху кнопка Save And Reload), выполните команду через Ctrl+P «Copilot: Force re-index vault for QA». Через небольшое время появится черное окошко справа сверху, там будут цифры проиндексированных заметок увеличиваться. Можно еще открыть консоль разработчика и убедиться, что ошибок нет.

        Но еще раз, Ваша ошибка в том, что вы поставили модель bge-m3 как основную, в General Settings.

    2. «В разделе General Settings (это выше, почти в самом начале) у вас добавлена любая модель, например google/gemini-flash-1.5 через OpenRouter». Эта модель просит API, которого к сожалению у меня нет.

    3. вы упомянули в статье сайт proxyapi.ru его как-то можно задействовать??

    4. с openrouter.ai у меня пишет ошибку
      Error: Model request failed: Provider returned error
      я оплатил им $5

    5. Подскажите, а https://bothub.chat/ можно использовать вместо openrouter? По идее, главное, чтобы была возможность подключить? Чтобы не возиться с серыми методами оплаты.

      С другой стороны, оплата за рубеж всё равно иногда нужна. Как к Вам можно обратиться по этому вопросу?

      • Добрый день, Виктор!
        Не могу сказать, не пробовал. Но думаю что можно.

        По поводу оплат зарубежных сервисов написал Вам в почту.

      • У меня однажды была такая ситуация, я даже списался с автором на Github. Но ошибка не подтвердилась и решилась довольно простым действием: по совету автора плагина я просто заново ввёл все настройки в плагин, то есть, заново ввел ключ OpenRouter, удалил добавленные модели и заново их добавил. И всё заработало. Попробуйте.

      • Извините, я неправильно Вам выше ответил! Перепутал коды (статусы HTTP).
        Код 402 — это Payment Required, то есть требуется оплата! У вас нет средств на OpenRouter!

    6. Добрый день!
      плагин выдает такую ошибку:
      Error: Model request failed: No valid chat model available. Please check your API key settings.

      хотя ключ с опенроутер успешно прошел проверку, не знаете, в чем может быть дело?
      для контекста — счет на опенроутер еще не пополнял, но вроде при неоплате иная ошибка должна быть

      • Причина этой ошибки может быть в том, что Вы пытаетесь использовать модели OpenAI (ChatGPT) без VPN. Именно модели OpenAI без VPN не работают, другие работают. Попробуйте любую другую модель.

        Далее, OpenRouter с некоторых пор прекратил работу в кредит, то есть без оплаты. Поэтому следует сначала пополнить счет. Ошибка, которая возникает при отсутствии денег — 402 Payment Requited.

    Добавить комментарий