Запустіть двигун відповідей Perplexica на кастомному OpenAI base URL.

Updated 2026-07-29

Perplexica, перейменована в апстримі на Vane, налаштовує свого провайдера OpenAI полями API Key і Base URL. Встановіть Base URL на https://api.apisrouter.com/v1, додайте потрібні id моделей — і кожна відповідь пошуку синтезується через шлюз з Claude, GPT, DeepSeek чи Gemini під одним ключем.

Коротка відповідь: одне поле Base URL, два покоління конфігурації.

У поточних релізах провайдер OpenAI у Perplexica показує рівно два обов'язкові поля: API Key і Base URL, редаговані на екрані налаштування й в UI налаштувань, із задокументованими мапінгами середовища OPENAI_API_KEY і OPENAI_BASE_URL. Встановіть Base URL на https://api.apisrouter.com/v1, вставте ключ шлюзу, потім додайте потрібні чат-моделі за їхніми точними id з каталогу. Провайдер пересилає id моделі як звичайний рядок через /v1/chat/completions, тож id Claude і DeepSeek працюють через слот провайдера «OpenAI». На старіших релізах Perplexica (покоління config.toml, до лінійки v1.10 і v1.11 включно) та сама можливість — це провайдер CUSTOM_OPENAI: блок [MODELS.CUSTOM_OPENAI] з ключами API_KEY, API_URL і MODEL_NAME. Обидва покоління показані нижче, тож зіставте налаштування з версією, яку ви справді запускаєте.

# the settings UI fields map to these documented env vars
export OPENAI_API_KEY=sk-APIsRouter-...
export OPENAI_BASE_URL=https://api.apisrouter.com/v1
# then add chat models by id in Settings, e.g. claude-sonnet-4-6

Як Perplexica відповідає на питання і де сидить LLM.

Perplexica (ItzCrazyKns на GitHub, приблизно 36 тис. зірок) — найвідоміший open-source двигун відповідей у стилі Perplexity: він приймає питання, запускає реальні веб-пошуки через вбудований інстанс SearxNG, читає результати й змушує LLM синтезувати відповідь із цитуванням. Режими пошуку (швидкість, збалансований, якість) міняють глибину пошуку на затримку, а режими фокусу звужують джерела до вебу, обговорень чи наукових статей. У 2026 році проєкт перейменували в апстримі на Vane, а образ Docker пішов слідом; архітектура й система провайдерів перенеслися, тож усе тут застосовується під будь-якою назвою. Слот LLM — те місце, де живуть якість синтезу й вартість. Кожна відповідь — це один чи кілька викликів chat-completions, що несуть отримані джерела як контекст, через що двигун відповідей — це навантаження з високою кількістю вхідних токенів: модель читає набагато більше, ніж пише. Система провайдерів ставиться до OpenAI як до одного з кількох бекендів (Ollama, Anthropic, Gemini, Groq та інші), і провайдер OpenAI — той, у якого вільно редагований Base URL, що й робить його гачком для шлюзу. Одна поведінка, яку варто знати заздалегідь: коли Base URL відрізняється від стокового ендпоінта OpenAI, Perplexica навмисно показує порожній типовий список моделей і використовує лише записи моделей, які ви самі додали до провайдера. Це за задумом, оскільки вона не може знати, що обслуговує кастомний ендпоінт. Додавання claude-sonnet-4-6 чи deepseek-v4-flash як запису моделі — це друга половина налаштування, а не обхідний шлях.

Повне налаштування: поточні релізи й застарілий config.toml.

Поточні релізи налаштовують усе в застосунку. При першому запуску екран налаштування питає про провайдерів; згодом ті самі поля живуть у Settings. Оберіть провайдера OpenAI, встановіть API Key і Base URL, потім додайте записи чат-моделей з id, які плануєте використовувати. Id мають точно збігатися з каталогом шлюзу, і кожен доданий запис з'являється в селекторі моделей поруч із полем пошуку. Застаріле покоління — файлове. Якщо ваша інсталяція досі має config.toml, ви на поколінні CUSTOM_OPENAI: заповніть блок нижче і перезапустіть контейнер. MODEL_NAME приймає один id моделі, який UI потім пропонує як кастомну опцію OpenAI.

[MODELS.CUSTOM_OPENAI]
API_KEY = "sk-YOUR-APISROUTER-KEY"
API_URL = "https://api.apisrouter.com/v1"
MODEL_NAME = "claude-sonnet-4-6"

Вибір моделі синтезу для двигуна відповідей.

Оскільки селектор моделей зчитує будь-які додані вами записи проти одного Base URL, A/B-тестування моделей синтезу тривіальне: поставте те саме питання у двох вкладках з двома записами й порівняйте цитування. Лог використання за ключем оцінює відповіді кожної моделі, що є чесним способом вирішити, чи заробляє синтез фронтиру свої токени на вашому міксі запитів.

  • Вхідні токени домінують. Відповідь у режимі якості може заштовхнути великі отримані контексти в промпт, тож ціна за вхідний токен вашого id визначає вартість пошуку, а не коротку відповідь, яку він пише назад.
  • claude-sonnet-4-6 — сильне замовчування для цитованого синтезу: він добре слідує інструкціям обґрунтування джерелами і залишається послідовним, коли багато уривків суперечать одне одному.
  • Високооб'ємні особисті чи командні інстанси добре працюють на claude-haiku-4-5-20251001, gemini-3.5-flash чи deepseek-v4-flash: відповіді лишаються обґрунтованими, а вартість пошуку падає достатньо, щоб залишити режим якості увімкненим.
  • Тримайте id фронтиру як другий запис. Записи моделей сидять поруч у селекторі, тож ескалація складного питання до gpt-5.5 — це зміна випадного списку, а не редагування конфігурації.
  • Академічний режим фокусу винагороджує моделі з довгим контекстом, оскільки анотації й витяги статей об'ємніші за веб-уривки.

Оплата за фактом · нижче офіційних цін

Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.

МодельОфіційна цінаНаша ціна
Claude Sonnet 4.6$3.00 / $15.00 per M$2.40 / $12.00 per M
Claude Haiku 4.5 20251001$1.00 / $5.00 per M$0.80 / $4.00 per M
GPT-5.5$5.00 / $30.00 per M$4.00 / $24.00 per M
Gemini 3.5 Flash$1.50 / $9.00 per M$1.20 / $7.20 per M
DeepSeek V4 Flash$0.14 / $0.28 per M$0.10 / $0.30 per M

Збої, специфічні саме для Perplexica.

Порожній список моделей — класичний випадок. Ви встановлюєте Base URL, селектор стає порожнім, і це виглядає як поломка. Це не так: із нестандартним Base URL Perplexica перелічує лише записи моделей, які ви додали до провайдера. Додайте ваші id, і вони з'являться. Ембедінги — окремий слот. Perplexica використовує моделі ембедінга для ререйтингу результатів, і провайдер OpenAI обслуговує ембедінги з того самого Base URL і ключа. Якщо ваш шлюз не обслуговує налаштований там id ембедінга, ререйтинг ламається, поки відповіді чату продовжують працювати. Чисте рішення — тримати ембедінги на локальному провайдері Transformers, який працює на машині взагалі без API, і маршрутизувати через шлюз лише синтез чату. Перейменування спантеличує гайди. Perplexica й Vane — той самий проєкт; старі туторіали посилаються на образ Docker perplexica й config.toml, поточні збірки постачаються як vane з налаштуваннями в застосунку й постійним томом даних. Якщо у вашій інсталяції немає config.toml, не створюйте його — він не читається; налаштовуйте через UI чи задокументовані змінні середовища. SearxNG незалежний. Якщо відповіді погіршуються чи пошуки повертають нічого, це контейнер SearxNG чи його налаштування формату JSON, а не ендпоінт LLM. Base URL рухає лише виклики чату й ембедінга.

Хто спрямовує Perplexica через шлюз.

  • Self-hosters, що замінюють підписку Perplexity й хочуть синтезу якості фронтиру на кожен пошук за ціною токенів, з одним ключем замість облікового запису вендора на кожну родину моделей.
  • Команди, що запускають спільний двигун відповідей, де лог використання за ключем перетворює «скільки коштує нам пошук» на число по моделі.
  • Налаштування, орієнтовані на приватність, що тримають пошук повністю локальним (SearxNG плюс локальні ембедінги) і маршрутизують назовні лише фінальний виклик синтезу через один аудитований ендпоінт.
  • Технарі, що порівнюють моделі синтезу на ідентичних питаннях: кожен кандидат — це один запис моделі проти того самого Base URL.
  • Розробники без доступу до білінгу певного постачальника. Доступ на основі поповнення без вимоги картки прибирає залежність від реєстрації в кожного провайдера.

Перевірте ендпоінт і налагодьте перший пошук.

Підтвердіть, що шлюз обслуговує додані вами id, перш ніж звинувачувати застосунок; записи в провайдері мають точно збігатися з виводом /v1/models. Збої першого запуску йдуть за патерном. «No chat model providers configured» означає, що поля провайдера не збереглися чи список моделей досі порожній; додайте принаймні один запис чат-моделі. 401 у логах сервера означає, що ключ не збігається з ендпоінтом у полі Base URL. Помилка model-not-found — це одруківка в id у записі моделі. Помилки ререйтингу з робочими відповідями вказують на слот ембедінга, де вас рятує локальний провайдер Transformers. А якщо нічого не змінилося після редагування змінних середовища, пам'ятайте, що конфігурація зберігається в томі даних; поля, вже збережені в UI, переважають пізнішу зміну середовища, тож редагуйте їх у Settings. Щойно пошуки потечуть, консоль APIsRouter показує модель на запит, кількість токенів і витрати. Двигуни відповідей вхідно-важкі, і бачення реального числа токенів на пошук для вашого міксу запитів переважає будь-яку оцінку.

curl -s https://api.apisrouter.com/v1/models \
  -H "Authorization: Bearer $APISROUTER_API_KEY" | head -50

Поширені запитання

Чи Perplexica — той самий проєкт, що й Vane?

Так. Апстрим-репозиторій перейменували на Vane у 2026 році, і образ Docker пішов слідом. Система провайдерів, інтеграція SearxNG і поле Base URL, описані тут, однакові під обома назвами; лише застарілі релізи досі використовують назву Perplexica й config.toml.

Чи може Perplexica використовувати моделі Claude чи DeepSeek для відповідей?

Так. Провайдер OpenAI пересилає id моделей як звичайні рядки на будь-який Base URL, який ви встановили. Додайте claude-sonnet-4-6 чи deepseek-v4-flash як записи моделей проти Base URL шлюзу, і вони з'являться в селекторі моделей, як і будь-яка інша опція.

Чому список моделей порожній після зміни Base URL?

За задумом. З нестандартним Base URL Perplexica не може припускати, які моделі обслуговує ендпоінт, тож перелічує лише записи, які ви самі додали до провайдера. Додайте ваші id у Settings, і вони одразу з'являться.

Що таке застарілі ключі конфігурації CUSTOM_OPENAI?

На поколінні config.toml (до лінійки v1.10 і v1.11 включно) блок [MODELS.CUSTOM_OPENAI] приймає API_KEY, API_URL і MODEL_NAME. Встановіть API_URL на ендпоінт шлюзу, включно з /v1, і MODEL_NAME на один id з каталогу, потім перезапустіть.

Чи маршрутизуються ембедінги теж через кастомний Base URL?

Якщо ви налаштовуєте моделі ембедінга на провайдері OpenAI, так, вони використовують той самий Base URL і ключ. Більшість налаштувань шлюзу тримають ембедінги на локальному провайдері Transformers натомість, який не потребує API і залишає ререйтинг незалежним від ендпоінта чату.

Чи досі працюють змінні середовища OPENAI_API_KEY і OPENAI_BASE_URL?

Так, це задокументовані мапінги середовища для двох полів провайдера OpenAI у поточних релізах. Зверніть увагу, що значення, вже збережені через UI налаштувань, зберігаються в томі даних, тож редагуйте там, якщо застосунок уже був налаштований одного разу.