HKUDS/DeepTutor · error · RuntimeError
The active LLM transport is not supported by PageIndex OSS i
Error message
The active LLM transport is not supported by PageIndex OSS indexing.
What it means
resolve_oss_sdk_config maps the active provider backend to a PageIndex SDK model prefix, and only anthropic, azure_openai, and openai_compat backends are supported. Any other backend yields prefix=None and this RuntimeError.
Source
Thrown at deeptutor/services/rag/pipelines/pageindex/client.py:68
in {
"openai_codex",
"github_copilot",
"codebuddy",
}
):
raise RuntimeError(
"PageIndex OSS indexing needs an API-key or local LLM profile; "
"the active OAuth-only provider cannot be used."
)
resolved_model = strip_provider_prefix(model, spec)
prefix = {
"anthropic": "anthropic",
"azure_openai": "azure",
"openai_compat": "openai",
}.get(spec.backend)
if prefix is None:
raise RuntimeError("The active LLM transport is not supported by PageIndex OSS indexing.")
sdk_model = _prefixed_model(prefix, resolved_model)
backend: dict[str, Any] = {}
api_key = str(getattr(cfg, "api_key", "") or "").strip()
base_url = str(getattr(cfg, "base_url", "") or "").strip()
api_version = str(getattr(cfg, "api_version", "") or "").strip()
headers = getattr(cfg, "extra_headers", None)
if spec.backend == "openai_compat":
# PageIndex treats ``openai/...`` as the OpenAI-compatible fast path;
# this also preserves gateway model ids such as anthropic/claude-*.
backend["api_key"] = api_key or "sk-no-key-required"
elif api_key:
backend["api_key"] = api_key
if base_url:
backend["api_base"] = base_url
if api_version and spec.backend != "openai_compat":View on GitHub (pinned to 3e82f13042)
Solutions
- Switch the active LLM to an openai_compat binding pointed at your provider's OpenAI-compatible endpoint — most gateways expose one.
- If your provider is genuinely Anthropic/Azure, ensure it's configured under those exact backend types so the prefix maps.
- File/extend the prefix map in client.py if you control a custom backend that PageIndex's SDK actually supports.
Example fix
# before # binding backend: "vertex_ai" -> prefix None -> RuntimeError await pageindex_client.local(...) # after # binding backend: "openai_compat", base_url=https://my-gateway/v1 await pageindex_client.local(...)
Defensive patterns
Strategy: validation
Validate before calling
SUPPORTED = {"anthropic", "azure_openai", "openai_compat"}
spec = find_by_name(active_binding())
assert spec.backend in SUPPORTED, f"backend {spec.backend} unsupported by PageIndex OSS" Type guard
def backend_supported_by_pageindex(spec) -> bool:
return spec.backend in {"anthropic", "azure_openai", "openai_compat"} Try / catch
try:
cfg = resolve_oss_sdk_config()
except RuntimeError as e:
if "not supported" in str(e):
configure_openai_compat_gateway(provider_base_url)
cfg = resolve_oss_sdk_config()
else:
raise Prevention
- Default headless setups to openai_compat bindings.
- Gate OSS features on a backend allowlist check at startup.
- Track provider catalog changes when upgrading — new backends may be unmapped.
When it happens
Trigger: Active LLM binding resolves to a backend outside the supported set (e.g., a newly added or exotic provider backend) when list_pipelines/local/_pageindex_oss_preflight resolve OSS SDK config.
Common situations: Adding a custom provider backend to the catalog, using a Google/Bedrock-style binding, or a version change that renamed backends — the provider works for chat but is unmapped for PageIndex OSS.
Related errors
- PageIndex OSS needs an active LLM. Configure one under Setti
- PageIndex OSS indexing needs an API-key or local LLM profile
- Model is required for cloud LLM provider
- Anthropic API key is missing from the active LLM profile.
- Cohere API key is missing from the active LLM profile.
AI-assisted analysis of HKUDS/DeepTutor@3e82f13042 (2026-08-27).
Data as JSON: /api/errors/da0c621f6171b105.
Report an issue: GitHub.