Jalankan answer engine Perplexica di base URL OpenAI custom.

Updated 2026-07-29

Perplexica, yang diganti namanya menjadi Vane di upstream, mengonfigurasi provider OpenAI-nya dengan field API Key dan Base URL. Set Base URL ke https://api.apisrouter.com/v1, tambahkan id model yang Anda inginkan, dan setiap jawaban pencarian mensintesis melalui gateway dengan Claude, GPT, DeepSeek, atau Gemini di balik satu key.

Jawaban singkat: satu field Base URL, dua generasi config.

Pada rilis saat ini, provider OpenAI Perplexica mengekspos persis dua field wajib: API Key dan Base URL, bisa diedit di layar setup dan UI settings, dengan pemetaan environment terdokumentasi OPENAI_API_KEY dan OPENAI_BASE_URL. Set Base URL ke https://api.apisrouter.com/v1, tempel key gateway, lalu tambahkan chat model yang Anda inginkan dengan id katalog persisnya. Provider meneruskan id model sebagai string biasa melalui /v1/chat/completions, jadi id Claude dan DeepSeek berfungsi lewat slot provider "OpenAI". Pada rilis Perplexica yang lebih lama (generasi config.toml, sampai lini v1.10 dan v1.11), kapabilitas yang sama adalah provider CUSTOM_OPENAI: blok [MODELS.CUSTOM_OPENAI] dengan key API_KEY, API_URL, dan MODEL_NAME. Kedua generasi ditampilkan di bawah, jadi cocokkan setup dengan versi yang benar-benar Anda jalankan.

# 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

Bagaimana Perplexica menjawab pertanyaan, dan di mana LLM duduk.

Perplexica (ItzCrazyKns di GitHub, sekitar 36K bintang) adalah answering engine open-source paling terkenal bergaya Perplexity: ia menerima pertanyaan, menjalankan pencarian web sungguhan lewat instance SearxNG yang disertakan, membaca hasilnya, dan membiarkan LLM mensintesis jawaban bersitasi. Mode pencarian (speed, balanced, quality) menukar kedalaman retrieval dengan latensi, dan mode fokus mempersempit sumber ke web, diskusi, atau paper akademik. Di 2026 proyek ini diganti namanya menjadi Vane di upstream, dengan image Docker-nya mengikuti; arsitektur dan sistem provider-nya terbawa, jadi semua di sini berlaku di bawah kedua nama tersebut. Slot LLM adalah tempat kualitas sintesis dan biaya hidup. Setiap jawaban adalah satu atau lebih panggilan chat-completions yang membawa sumber yang diambil sebagai context, yang membuat answering engine menjadi workload input-token tinggi: model membaca jauh lebih banyak dari yang ditulisnya. Sistem provider memperlakukan OpenAI sebagai salah satu dari beberapa backend (Ollama, Anthropic, Gemini, Groq, dan lainnya), dan provider OpenAI adalah yang punya Base URL yang bisa diedit bebas, itulah yang membuatnya jadi kaitan gateway. Satu perilaku yang perlu diketahui di awal: saat Base URL adalah apa pun selain endpoint OpenAI bawaan, Perplexica secara sengaja menampilkan daftar model default kosong dan memakai entri model yang Anda tambahkan sendiri ke provider. Itu memang desainnya, karena ia tidak bisa tahu apa yang dilayani endpoint custom. Menambahkan claude-sonnet-4-6 atau deepseek-v4-flash sebagai entri model adalah separuh kedua dari setup-nya, bukan workaround.

Setup lengkap: rilis saat ini dan config.toml lama.

Rilis saat ini mengonfigurasi semuanya di dalam app. Saat first boot, layar setup meminta provider; setelahnya field yang sama hidup di Settings. Pilih provider OpenAI, set API Key dan Base URL, lalu tambahkan entri chat model dengan id yang Anda rencanakan pakai. Id-nya harus cocok persis dengan katalog gateway, dan setiap entri yang Anda tambahkan muncul di model picker di sebelah kotak pencarian. Generasi lama berbasis file. Jika instalasi Anda masih punya config.toml, Anda di generasi CUSTOM_OPENAI: isi blok di bawah dan restart container-nya. MODEL_NAME menerima satu id model, yang kemudian ditawarkan UI sebagai opsi OpenAI custom.

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

Memilih model sintesis untuk answering engine.

Karena model picker membaca entri apa pun yang Anda tambahkan terhadap satu Base URL, A/B testing model sintesis itu sepele: ajukan pertanyaan yang sama di dua tab dengan dua entri dan bandingkan sitasinya. Log penggunaan per-key memberi harga jawaban setiap model, yang merupakan cara jujur memutuskan apakah sintesis frontier layak atas tokennya pada campuran query Anda.

  • Token input mendominasi. Jawaban mode-quality bisa mendorong context yang diambil besar ke dalam prompt, jadi harga per-token-input id Anda menentukan biaya sebuah pencarian, bukan jawaban singkat yang ditulisnya kembali.
  • claude-sonnet-4-6 adalah default kuat untuk sintesis bersitasi: ia mengikuti instruksi source-grounding dengan baik dan tetap koheren saat banyak cuplikan tidak sepakat.
  • Instance pribadi atau tim volume tinggi berjalan baik di claude-haiku-4-5-20251001, gemini-3.5-flash, atau deepseek-v4-flash: jawaban tetap membumi dan biaya per-pencarian turun cukup untuk membiarkan mode quality tetap menyala.
  • Simpan id frontier sebagai entri kedua. Entri model duduk berdampingan di picker, jadi mengeskalasi satu pertanyaan sulit ke gpt-5.5 adalah perubahan dropdown, bukan edit config.
  • Mode fokus akademik memberi imbalan pada model long-context, karena abstrak dan kutipan paper lebih besar dari cuplikan web.

Bayar sesuai pemakaian · di bawah harga resmi

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

ModelHarga ResmiHarga Kami
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

Mode kegagalan spesifik Perplexica.

Daftar model kosong adalah yang klasik. Anda set Base URL, picker-nya jadi kosong, dan terlihat rusak. Sebenarnya tidak: dengan Base URL non-default, Perplexica hanya mendaftar entri model yang Anda tambahkan ke provider. Tambahkan id Anda dan mereka muncul. Embedding adalah slot terpisah. Perplexica memakai model embedding untuk result reranking, dan provider OpenAI melayani embedding dari Base URL dan key yang sama. Jika gateway Anda tidak melayani id embedding yang Anda konfigurasi di sana, reranking rusak sementara jawaban chat tetap berfungsi. Pemisahan yang bersih adalah menjaga embedding di provider Transformers lokal, yang berjalan di mesin tanpa API sama sekali, dan hanya merutekan sintesis chat melalui gateway. Pergantian nama menjegal panduan. Perplexica dan Vane adalah proyek yang sama; tutorial lama merujuk ke image Docker perplexica dan config.toml, build saat ini dikirim sebagai vane dengan pengaturan in-app dan data volume persisten. Jika instalasi Anda tidak punya config.toml, jangan buat satu, itu tidak dibaca; konfigurasikan lewat UI atau env var terdokumentasi. SearxNG independen. Jika jawaban menurun kualitasnya atau pencarian tidak mengembalikan apa-apa, itu adalah container SearxNG atau pengaturan format-JSON-nya, bukan endpoint LLM. Base URL hanya memindahkan panggilan chat dan embedding.

Siapa yang merutekan Perplexica melalui gateway.

  • Self-hoster yang menggantikan langganan Perplexity yang menginginkan sintesis berkualitas frontier per pencarian dengan harga token, dengan satu key alih-alih akun vendor per keluarga model.
  • Tim yang menjalankan answering engine bersama, di mana log penggunaan per-key mengubah "berapa biaya pencarian bagi kami" menjadi angka per model.
  • Setup yang berfokus privasi yang menjaga retrieval sepenuhnya lokal (SearxNG plus embedding lokal) dan hanya merutekan panggilan sintesis akhir keluar melalui satu endpoint yang bisa diaudit.
  • Penggemar eksperimen yang membandingkan model sintesis pada pertanyaan identik: setiap kandidat adalah satu entri model terhadap Base URL yang sama.
  • Developer tanpa akses ke billing vendor tertentu. Akses berbasis top-up tanpa syarat kartu menghilangkan ketergantungan sign-up per provider.

Verifikasi endpoint dan debug pencarian pertama.

Konfirmasi gateway melayani id yang Anda tambahkan sebelum menyalahkan app-nya; entri di provider harus cocok persis dengan output /v1/models. Kegagalan first-run mengikuti pola. "No chat model providers configured" berarti field provider tidak tersimpan atau daftar model masih kosong; tambahkan setidaknya satu entri chat model. 401 di log server berarti key tidak cocok dengan endpoint di field Base URL. Error model-not-found adalah salah ketik id di entri model. Error reranking dengan jawaban yang berfungsi menunjuk ke slot embedding, itulah tempat provider Transformers lokal menyelamatkan Anda. Dan jika tidak ada yang berubah setelah mengedit environment variable, ingat config-nya persisten di data volume; field yang sudah tersimpan di UI menang atas perubahan env belakangan, jadi edit di Settings. Setelah pencarian mengalir, konsol APIsRouter menunjukkan model per request, hitungan token, dan pengeluaran. Answering engine bersifat input-heavy, dan melihat angka token-per-pencarian yang nyata untuk campuran query Anda mengalahkan taksiran mana pun.

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

Pertanyaan umum

Apakah Perplexica proyek yang sama dengan Vane?

Ya. Repository upstream-nya diganti namanya menjadi Vane di 2026, dan image Docker-nya mengikuti. Sistem provider, integrasi SearxNG, dan field Base URL yang dideskripsikan di sini sama di bawah kedua nama; hanya rilis lama yang masih memakai nama Perplexica dan config.toml.

Bisakah Perplexica memakai model Claude atau DeepSeek untuk jawaban?

Ya. Provider OpenAI meneruskan id model sebagai string biasa ke Base URL apa pun yang Anda set. Tambahkan claude-sonnet-4-6 atau deepseek-v4-flash sebagai entri model terhadap Base URL gateway dan mereka muncul di model picker seperti opsi lainnya.

Mengapa daftar model kosong setelah saya mengubah Base URL?

Memang desainnya begitu. Dengan Base URL non-default, Perplexica tidak bisa mengasumsikan model apa yang dilayani endpoint, jadi ia hanya mendaftar entri yang Anda tambahkan sendiri ke provider. Tambahkan id Anda di Settings dan mereka langsung muncul.

Apa saja config key CUSTOM_OPENAI lama?

Pada generasi config.toml (sampai lini v1.10 dan v1.11), blok [MODELS.CUSTOM_OPENAI] menerima API_KEY, API_URL, dan MODEL_NAME. Set API_URL ke endpoint gateway termasuk /v1 dan MODEL_NAME ke satu id katalog, lalu restart.

Apakah embedding juga merutekan melalui Base URL custom?

Jika Anda mengonfigurasi model embedding di provider OpenAI, ya, mereka memakai Base URL dan key yang sama. Sebagian besar setup gateway menjaga embedding di provider Transformers lokal, yang tidak butuh API dan membuat reranking independen dari endpoint chat.

Apakah environment variable OPENAI_API_KEY dan OPENAI_BASE_URL masih berfungsi?

Ya, keduanya adalah pemetaan env terdokumentasi untuk dua field provider OpenAI pada rilis saat ini. Perhatikan bahwa nilai yang sudah tersimpan lewat UI settings persisten di data volume, jadi edit di sana jika app-nya sudah pernah dikonfigurasi.