Chạy công cụ trả lời của Perplexica trên một base URL OpenAI tùy chỉnh.
Updated 2026-07-29
Perplexica, đã đổi tên thành Vane ở upstream, cấu hình provider OpenAI của nó với một API Key và một field Base URL. Đặt Base URL thành https://api.apisrouter.com/v1, thêm các model id bạn muốn, và mọi câu trả lời tìm kiếm tổng hợp qua gateway với Claude, GPT, DeepSeek, hoặc Gemini đứng sau một key.
Câu trả lời nhanh: một field Base URL, hai thế hệ cấu hình.
Trên các bản phát hành hiện tại, provider OpenAI của Perplexica phơi ra chính xác hai field bắt buộc: API Key và Base URL, sửa được ở màn hình cài đặt và giao diện settings, với ánh xạ biến môi trường có tài liệu OPENAI_API_KEY và OPENAI_BASE_URL. Đặt Base URL thành https://api.apisrouter.com/v1, dán một key gateway, sau đó thêm các chat model bạn muốn theo id catalog chính xác. Provider chuyển tiếp model id như một chuỗi thuần qua /v1/chat/completions, nên id Claude và DeepSeek hoạt động qua slot provider "OpenAI". Trên các bản Perplexica cũ hơn (thế hệ config.toml, qua dòng v1.10 và v1.11), cùng năng lực đó là provider CUSTOM_OPENAI: một khối [MODELS.CUSTOM_OPENAI] với các key API_KEY, API_URL, và MODEL_NAME. Cả hai thế hệ được hiển thị bên dưới, nên hãy khớp cài đặt với phiên bản bạn thực sự đang chạy.
# 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-6Cách Perplexica trả lời một câu hỏi, và LLM nằm ở đâu.
Perplexica (ItzCrazyKns trên GitHub, khoảng 36K star) là công cụ trả lời mã nguồn mở nổi tiếng nhất theo phong cách Perplexity: nó nhận một câu hỏi, chạy tìm kiếm web thực qua một instance SearxNG đóng gói sẵn, đọc kết quả, và có một LLM tổng hợp một câu trả lời có trích dẫn. Chế độ tìm kiếm (speed, balanced, quality) đánh đổi độ sâu truy xuất với độ trễ, và chế độ focus thu hẹp nguồn về web, thảo luận, hoặc bài báo học thuật. Năm 2026 dự án được đổi tên thành Vane ở upstream, với image Docker theo sau; kiến trúc và hệ thống provider được mang theo, nên mọi thứ ở đây áp dụng dưới cả hai tên. Slot LLM là nơi chất lượng tổng hợp và chi phí sống. Mỗi câu trả lời là một hoặc nhiều lệnh gọi chat-completions mang theo nguồn truy xuất làm context, khiến một công cụ trả lời trở thành khối lượng công việc nặng token đầu vào: model đọc nhiều hơn nhiều so với những gì nó viết. Hệ thống provider coi OpenAI là một trong nhiều backend (Ollama, Anthropic, Gemini, Groq, và những cái khác), và provider OpenAI là cái có Base URL sửa được tự do, đây chính là móc nối cho gateway. Một hành vi đáng biết trước: khi Base URL là bất cứ gì khác ngoài endpoint OpenAI gốc, Perplexica cố ý hiển thị một danh sách model mặc định rỗng và dùng các entry model bạn tự thêm vào provider. Đó là do thiết kế, vì nó không thể biết một endpoint tùy chỉnh phục vụ gì. Thêm claude-sonnet-4-6 hoặc deepseek-v4-flash làm một entry model là nửa thứ hai của cài đặt, không phải một giải pháp lách luật.
Cài đặt đầy đủ: bản phát hành hiện tại và config.toml cũ.
Các bản phát hành hiện tại cấu hình mọi thứ trong app. Ở lần khởi động đầu, màn hình cài đặt hỏi về provider; sau đó cùng các field sống trong Settings. Chọn provider OpenAI, đặt API Key và Base URL, sau đó thêm các entry chat model với id bạn định dùng. Id phải khớp chính xác catalog gateway, và mỗi entry bạn thêm xuất hiện trong bộ chọn model cạnh ô tìm kiếm. Thế hệ cũ hơn dựa trên file. Nếu cài đặt của bạn vẫn có một config.toml, bạn đang ở thế hệ CUSTOM_OPENAI: điền khối bên dưới và khởi động lại container. MODEL_NAME nhận một model id, thứ giao diện sau đó cung cấp làm tùy chọn OpenAI tùy chỉnh.
[MODELS.CUSTOM_OPENAI]
API_KEY = "sk-YOUR-APISROUTER-KEY"
API_URL = "https://api.apisrouter.com/v1"
MODEL_NAME = "claude-sonnet-4-6"Chọn một model tổng hợp cho một công cụ trả lời.
Vì bộ chọn model đọc bất cứ entry nào bạn đã thêm với một Base URL, A/B test model tổng hợp rất đơn giản: hỏi cùng câu hỏi trong hai tab với hai entry và so sánh trích dẫn. Log sử dụng theo từng key định giá câu trả lời của mỗi model, cách trung thực để quyết định liệu tổng hợp đỉnh cao có xứng đáng với token của nó trên bộ câu hỏi của bạn không.
- Token đầu vào chi phối. Một câu trả lời chế độ quality có thể nhồi context truy xuất lớn vào prompt, nên giá theo token đầu vào của id bạn dùng đặt chi phí của một lần tìm kiếm, không phải câu trả lời ngắn nó viết ra.
- claude-sonnet-4-6 là mặc định mạnh cho tổng hợp có trích dẫn: nó theo dõi tốt các chỉ dẫn căn cứ nguồn và giữ mạch lạc khi nhiều đoạn trích mâu thuẫn nhau.
- Các instance cá nhân hoặc đội nhóm lưu lượng cao làm tốt trên claude-haiku-4-5-20251001, gemini-3.5-flash, hoặc deepseek-v4-flash: câu trả lời vẫn có căn cứ và chi phí mỗi lần tìm kiếm giảm đủ để bạn để chế độ quality bật.
- Giữ một id đỉnh cao như entry thứ hai. Các entry model ngồi cạnh nhau trong bộ chọn, nên leo thang một câu hỏi khó lên gpt-5.5 chỉ là đổi dropdown, không phải sửa cấu hình.
- Chế độ focus học thuật thưởng cho model long-context, vì tóm tắt và trích đoạn bài báo cồng kềnh hơn đoạn trích web.
Trả theo mức sử dụng · thấp hơn giá chính thức
Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.
| Mô hình | Giá chính thức | Giá của chúng tôi |
|---|---|---|
| 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 |
Các kiểu lỗi đặc thù của Perplexica.
Danh sách model rỗng là kinh điển. Bạn đặt Base URL, bộ chọn trống trơn, và trông như hỏng. Không phải: với một Base URL khác mặc định, Perplexica chỉ liệt kê các entry model bạn thêm vào provider. Thêm id của bạn và chúng xuất hiện. Embedding là một slot riêng biệt. Perplexica dùng model embedding để rerank kết quả, và provider OpenAI phục vụ embedding từ cùng Base URL và key. Nếu gateway của bạn không phục vụ id embedding bạn cấu hình ở đó, rerank sẽ hỏng trong khi câu trả lời chat vẫn hoạt động. Cách tách gọn gàng là giữ embedding trên provider Transformers cục bộ, thứ chạy trên máy mà không cần API nào, và chỉ định tuyến tổng hợp chat qua gateway. Việc đổi tên làm vấp các hướng dẫn. Perplexica và Vane là cùng một dự án; hướng dẫn cũ tham chiếu image Docker perplexica và config.toml, các bản build hiện tại xuất xưởng dưới tên vane với cài đặt trong app và một volume dữ liệu bền vững. Nếu cài đặt của bạn không có config.toml, đừng tạo một cái, nó không được đọc; hãy cấu hình qua giao diện hoặc các biến env có tài liệu thay vào đó. SearxNG độc lập. Nếu câu trả lời xuống cấp hoặc tìm kiếm không trả về gì, đó là container SearxNG hoặc cài đặt định dạng JSON của nó, không phải endpoint LLM. Base URL chỉ di chuyển các lệnh gọi chat và embedding.
Ai định tuyến Perplexica qua một gateway.
- Người tự host thay thế một gói thuê bao Perplexity muốn tổng hợp chất lượng đỉnh cao mỗi lần tìm kiếm với giá theo token, một key thay vì một tài khoản vendor cho mỗi họ model.
- Các đội chạy một công cụ trả lời chung, nơi log sử dụng theo từng key biến "tìm kiếm tốn bao nhiêu" thành một con số theo từng model.
- Các thiết lập chú trọng quyền riêng tư giữ truy xuất hoàn toàn cục bộ (SearxNG cộng embedding cục bộ) và chỉ định tuyến lệnh gọi tổng hợp cuối cùng ra ngoài qua một endpoint có thể kiểm toán.
- Người thích tinh chỉnh so sánh model tổng hợp trên cùng câu hỏi: mỗi ứng viên là một entry model chống lại cùng Base URL.
- Lập trình viên không có quyền truy cập billing của một vendor cụ thể. Truy cập dựa trên nạp tiền không yêu cầu thẻ loại bỏ phụ thuộc đăng ký theo từng provider.
Xác minh endpoint và debug lần tìm kiếm đầu tiên.
Xác nhận gateway phục vụ các id bạn đã thêm trước khi đổ lỗi cho app; các entry trong provider phải khớp chính xác output /v1/models. Lỗi lần chạy đầu theo một khuôn mẫu. "No chat model providers configured" nghĩa là các field provider chưa lưu hoặc danh sách model vẫn rỗng; hãy thêm ít nhất một entry chat model. Lỗi 401 trong log server nghĩa là key không khớp endpoint trong field Base URL. Lỗi model-not-found là một lỗi chính tả id trong một entry model. Lỗi rerank với câu trả lời hoạt động chỉ tới slot embedding, nơi provider Transformers cục bộ cứu bạn. Và nếu không gì thay đổi sau khi sửa biến môi trường, hãy nhớ cấu hình tồn tại trong volume dữ liệu; các field đã lưu trong giao diện thắng một thay đổi env sau đó, nên hãy sửa chúng trong Settings. Khi tìm kiếm đã chạy, console APIsRouter hiển thị model theo từng request, số lượng token, và chi tiêu. Công cụ trả lời nặng đầu vào, và thấy con số token-mỗi-lần-tìm-kiếm thực tế cho bộ câu hỏi của bạn hơn bất kỳ ước lượng nào.
curl -s https://api.apisrouter.com/v1/models \
-H "Authorization: Bearer $APISROUTER_API_KEY" | head -50Câu hỏi thường gặp
Perplexica có phải cùng dự án với Vane không?
Có. Repository upstream được đổi tên thành Vane năm 2026, và image Docker theo sau. Hệ thống provider, tích hợp SearxNG, và field Base URL mô tả ở đây giống nhau dưới cả hai tên; chỉ các bản phát hành cũ vẫn dùng tên Perplexica và config.toml.
Perplexica có thể dùng model Claude hoặc DeepSeek cho câu trả lời không?
Có. Provider OpenAI chuyển tiếp model id như chuỗi thuần tới bất kỳ Base URL nào bạn đặt. Thêm claude-sonnet-4-6 hoặc deepseek-v4-flash làm entry model chống lại Base URL gateway và chúng xuất hiện trong bộ chọn model như bất kỳ tùy chọn nào khác.
Vì sao danh sách model rỗng sau khi tôi đổi Base URL?
Do thiết kế. Với một Base URL khác mặc định, Perplexica không thể giả định endpoint phục vụ model nào, nên nó chỉ liệt kê các entry bạn tự thêm vào provider. Thêm id của bạn trong Settings và chúng hiện ra ngay lập tức.
Các config key CUSTOM_OPENAI kiểu cũ là gì?
Trên thế hệ config.toml (qua dòng v1.10 và v1.11), khối [MODELS.CUSTOM_OPENAI] nhận API_KEY, API_URL, và MODEL_NAME. Đặt API_URL thành endpoint gateway gồm /v1 và MODEL_NAME thành một id catalog, sau đó khởi động lại.
Embedding có định tuyến qua Base URL tùy chỉnh không?
Nếu bạn cấu hình model embedding trên provider OpenAI, có, chúng dùng cùng Base URL và key. Hầu hết cài đặt gateway giữ embedding trên provider Transformers cục bộ thay vào đó, thứ không cần API và để rerank độc lập với endpoint chat.
Biến môi trường OPENAI_API_KEY và OPENAI_BASE_URL có còn hoạt động không?
Có, chúng là ánh xạ env có tài liệu cho hai field của provider OpenAI trên các bản phát hành hiện tại. Lưu ý rằng giá trị đã lưu qua giao diện settings tồn tại trong volume dữ liệu, nên hãy sửa ở đó nếu app đã được cấu hình một lần.