커스텀 OpenAI base URL로 Perplexica의 답변 엔진 실행하기.

Updated 2026-07-29

업스트림에서 Vane으로 이름이 바뀐 Perplexica는 API Key와 Base URL 필드로 OpenAI 프로바이더를 설정합니다. Base URL을 https://api.apisrouter.com/v1로 설정하고 원하는 모델 id를 추가하면, 모든 검색 답변이 Claude, GPT, DeepSeek, 또는 Gemini를 키 하나 아래 둔 게이트웨이를 통해 합성됩니다.

빠른 답: Base URL 필드 하나, 두 세대의 설정.

현재 릴리스에서 Perplexica의 OpenAI 프로바이더는 정확히 두 개의 필수 필드를 노출합니다: API Key와 Base URL이며, 설정 화면과 설정 UI에서 편집 가능하고 문서화된 환경 매핑 OPENAI_API_KEY와 OPENAI_BASE_URL이 있습니다. Base URL을 https://api.apisrouter.com/v1로 설정하고, 게이트웨이 키를 붙여넣은 다음, 정확한 카탈로그 id로 원하는 채팅 모델을 추가하세요. 프로바이더는 model id를 /v1/chat/completions를 통해 순수 문자열로 전달하므로, Claude와 DeepSeek id도 "OpenAI" 프로바이더 슬롯을 통해 작동합니다. 이전 Perplexica 릴리스(config.toml 세대, v1.10과 v1.11 라인까지)에서는 같은 기능이 CUSTOM_OPENAI 프로바이더입니다: API_KEY, API_URL, MODEL_NAME 키를 가진 [MODELS.CUSTOM_OPENAI] 블록. 두 세대 모두 아래에 나와 있으니 실제로 실행 중인 버전에 맞는 설정을 고르세요.

# 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(GitHub의 ItzCrazyKns, 약 3.6만 스타)는 Perplexity 스타일에서 가장 잘 알려진 오픈소스 답변 엔진입니다: 질문을 받아 내장된 SearxNG 인스턴스로 실제 웹 검색을 실행하고, 결과를 읽은 다음 LLM이 인용을 갖춘 답변을 합성하게 합니다. 검색 모드(speed, balanced, quality)는 검색 깊이와 지연 시간을 맞바꾸고, 포커스 모드는 소스를 웹, 토론, 학술 논문으로 좁힙니다. 2026년에 이 프로젝트는 업스트림에서 Vane으로 이름이 바뀌었고 도커 이미지도 그에 따랐습니다; 아키텍처와 프로바이더 시스템은 그대로 이어졌으므로 여기 있는 모든 내용은 두 이름 모두에 적용됩니다. 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 테스트는 사소합니다: 두 탭에 두 항목으로 같은 질문을 하고 인용을 비교하세요. 키별 사용량 로그가 각 모델의 답변에 가격을 매겨주며, 이것이 프론티어 합성이 여러분의 질의 조합에서 그 토큰값을 하는지 결정하는 정직한 방법입니다.

  • 입력 토큰이 지배적입니다. quality 모드 답변은 큰 검색 컨텍스트를 프롬프트에 밀어 넣을 수 있으므로, 여러분의 id의 입력 토큰당 가격이 짧게 다시 쓰는 답변이 아니라 검색 자체의 비용을 정합니다.
  • claude-sonnet-4-6은 인용된 합성을 위한 강력한 기본값입니다: 근거 지시를 잘 따르고 많은 스니펫이 서로 상충할 때도 일관성을 유지합니다.
  • 대용량 개인 또는 팀 인스턴스는 claude-haiku-4-5-20251001, gemini-3.5-flash, deepseek-v4-flash에서 잘 작동합니다: 답변은 근거를 유지하면서도 검색당 비용이 quality 모드를 그대로 켜둘 만큼 충분히 떨어집니다.
  • 프론티어 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를 서빙하지 않으면 채팅 답변은 계속 작동하는데 리랭킹만 깨집니다. 깔끔한 분리는 임베딩을 API가 전혀 없이 로컬 머신에서 실행되는 로컬 Transformers 프로바이더에 두고 채팅 합성만 게이트웨이로 라우팅하는 것입니다. 이름 변경이 가이드를 걸려 넘어지게 합니다. Perplexica와 Vane은 같은 프로젝트입니다; 오래된 튜토리얼은 perplexica 도커 이미지와 config.toml을 참조하지만 현재 빌드는 vane으로 제공되며 앱 내 설정과 영구 데이터 볼륨을 갖습니다. 설치본에 config.toml이 없다면 만들지 마세요, 읽히지 않습니다; 대신 UI나 문서화된 env 변수로 설정하세요. SearxNG는 독립적입니다. 답변이 저하되거나 검색이 아무것도 반환하지 않는다면 그것은 SearxNG 컨테이너나 그것의 JSON 형식 설정 문제이지 LLM 엔드포인트 문제가 아닙니다. Base URL은 채팅과 임베딩 호출만 이동시킵니다.

어떤 사람들이 게이트웨이를 통해 Perplexica를 쓰는가.

  • Perplexity 구독을 대체하려는 셀프 호스터 — 모델 패밀리별 벤더 계정 대신 키 하나로 검색당 토큰 가격에 프론티어급 합성 품질을 원합니다.
  • 공유 답변 엔진을 운영하며, 키별 사용량 로그가 "검색이 우리에게 얼마나 드는가"를 모델별 숫자로 바꿔주는 팀.
  • 검색을 완전히 로컬(SearxNG와 로컬 임베딩)로 유지하고 최종 합성 호출만 감사 가능한 엔드포인트 하나로 내보내는 프라이버시 중심 설정.
  • 동일한 질문에서 합성 모델을 비교하는 실험가 — 각 후보는 같은 Base URL을 대상으로 한 모델 항목 하나일 뿐입니다.
  • 특정 벤더의 결제 수단에 접근할 수 없는 개발자. 카드 없이 충전만으로 사용할 수 있어 프로바이더별 가입 의존성이 사라집니다.

엔드포인트 검증 및 첫 검색 디버깅.

앱을 탓하기 전에 게이트웨이가 여러분이 추가한 id를 서빙하는지 확인하세요; 프로바이더의 항목은 /v1/models 출력과 정확히 일치해야 합니다. 첫 실행 실패는 패턴을 따릅니다. "No chat model providers configured"는 프로바이더 필드가 저장되지 않았거나 모델 목록이 여전히 비어 있다는 뜻입니다; 채팅 모델 항목을 최소 하나 추가하세요. 서버 로그의 401은 키가 Base URL 필드의 엔드포인트와 일치하지 않는다는 뜻입니다. Model-not-found 오류는 모델 항목의 id 오타입니다. 답변은 작동하는데 리랭킹 오류가 난다면 임베딩 슬롯을 가리키며, 여기서 로컬 Transformers 프로바이더가 여러분을 구해줍니다. 그리고 환경 변수를 편집했는데 아무것도 바뀌지 않았다면 설정이 데이터 볼륨에 유지된다는 점을 기억하세요; UI에 이미 저장된 필드가 이후의 env 변경을 이기므로 Settings에서 편집하세요. 검색이 흐르기 시작하면 APIsRouter 콘솔에서 요청별 모델, 토큰 수, 지출을 볼 수 있습니다. 답변 엔진은 입력이 많으며, 여러분의 질의 조합에 대한 실제 검색당 토큰 숫자를 보는 것이 어떤 추정치보다 낫습니다.

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

자주 묻는 질문

Perplexica와 Vane은 같은 프로젝트인가요?

네. 업스트림 저장소는 2026년에 Vane으로 이름이 바뀌었고 도커 이미지도 따랐습니다. 여기서 설명한 프로바이더 시스템, SearxNG 통합, Base URL 필드는 두 이름 모두에서 동일합니다; 레거시 릴리스만 여전히 Perplexica 이름과 config.toml을 사용합니다.

Perplexica가 답변에 Claude나 DeepSeek 모델을 쓸 수 있나요?

네. OpenAI 프로바이더는 설정한 어떤 Base URL로도 model id를 순수 문자열로 전달합니다. 게이트웨이 Base URL을 대상으로 claude-sonnet-4-6이나 deepseek-v4-flash를 모델 항목으로 추가하면 다른 옵션처럼 모델 선택기에 나타납니다.

Base URL을 바꾼 후 모델 목록이 왜 비었나요?

설계된 동작입니다. 기본이 아닌 Base URL에서는 Perplexica가 엔드포인트가 무엇을 서빙하는지 가정할 수 없으므로 여러분이 직접 프로바이더에 추가한 항목만 나열합니다. Settings에서 id를 추가하면 즉시 나타납니다.

레거시 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 프로바이더의 두 필드에 대한 문서화된 env 매핑입니다. 설정 UI를 통해 이미 저장된 값은 데이터 볼륨에 유지되므로, 앱이 한 번 설정된 적이 있다면 거기서 편집하세요.