HKUDS/DeepTutor · error · HTTPException

base_url is required for this provider.

Error message

base_url is required for this provider.

What it means

Error "base_url is required for this provider." thrown in HKUDS/DeepTutor.

Source

Thrown at deeptutor/api/routers/settings.py:1320

        "runtime": applied,
    }


@router.post("/fetch-models")
async def fetch_models_from_provider(payload: FetchModelsPayload):
    """List the model IDs an OpenAI-compatible provider exposes.

    Thin HTTP surface over ``factory.fetch_models`` so the settings UI can
    populate a model picker from ``base_url`` + ``api_key`` instead of making
    the user type model IDs by hand.
    """
    _require_settings_admin()
    from deeptutor.services.llm.factory import fetch_models as fetch_llm_models

    base_url = (payload.base_url or "").strip()
    binding = (payload.binding or "").strip().lower() or "openai"
    if not base_url and binding != "codebuddy":
        raise HTTPException(
            status_code=status.HTTP_400_BAD_REQUEST,
            detail="base_url is required for this provider.",
        )

    api_key = payload.api_key
    if api_key == CATALOG_SECRET_MASK and payload.profile_id:
        llm_service = get_model_catalog_service().load().get("services", {}).get("llm", {})
        profile = next(
            (
                item
                for item in llm_service.get("profiles", [])
                if item.get("id") == payload.profile_id
            ),
            None,
        )
        api_key = profile.get("api_key") if profile else None

    try:

View on GitHub (pinned to 3e82f13042)

When it happens

Trigger: Thrown at deeptutor/api/routers/settings.py:1320 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of HKUDS/DeepTutor@3e82f13042 (2026-08-27). Data as JSON: /api/errors/19f37e6529a8fc4f. Report an issue: GitHub.