websearch / config_models.py
opencode-ai
fix: correct model-preference IDs for all Perplexity models
3ddae2f
Raw
History Blame Contribute Delete
1.99 kB
# Perplexity models as of May 2026
# Model-preference IDs reverse-engineered from Perplexity web UI (via perplexity-web-mcp-cli v0.12.1)
MODEL_MAPPINGS = {
"auto": {None: "pplx_pro"},
"pro": {
None: "gpt54",
"sonar": "experimental",
"sonar2": "experimental",
"gpt-5.4": "gpt54",
"gpt-5.4-thinking": "gpt54_thinking",
"gpt-5.5": "gpt55",
"gpt-5.5-thinking": "gpt55_thinking",
"claude-sonnet-4.6": "claude46sonnet",
"claude-sonnet-4.6-thinking": "claude46sonnetthinking",
"claude-opus-4.7": "claude47opus",
"claude-opus-4.7-thinking": "claude47opusthinking",
"gemini-3.1-pro": "gemini31pro_high",
"gemini-3.1-pro-thinking": "gemini31pro_high",
"nemotron-3-super-120b": "nv_nemotron_3_super",
"nemotron-3-super-120b-thinking": "nv_nemotron_3_super",
"kimi-k2.6": "kimik26instant",
"kimi-k2.6-thinking": "kimik26thinking",
},
"reasoning": {
None: "gpt54_thinking",
"gpt-5.4-thinking": "gpt54_thinking",
"gpt-5.5-thinking": "gpt55_thinking",
"claude-sonnet-4.6-thinking": "claude46sonnetthinking",
"claude-opus-4.7-thinking": "claude47opusthinking",
"gemini-3.1-pro-thinking": "gemini31pro_high",
"nemotron-3-super-120b-thinking": "nv_nemotron_3_super",
"kimi-k2.6-thinking": "kimik26thinking",
},
"deep research": {None: "pplx_alpha"},
}
LABS_MODELS = [
"sonar",
"sonar-pro",
"sonar-reasoning-pro",
"sonar-deep-research",
]
MODE_MAP = {
"auto": "auto",
"pro": "pro",
"reasoning": "reasoning",
"deep-research": "deep research",
"deep_research": "deep research",
"sonar": "pro",
"sonar2": "pro",
"sonar-pro": "pro",
"sonar-deep-research": "deep research",
}
VALID_MODEL_NAMES = set()
for mode_models in MODEL_MAPPINGS.values():
for k in mode_models:
if k is not None:
VALID_MODEL_NAMES.add(k)