{"record":{"id":"77e8c09102eab113","repo":"BerriAI/litellm","slug":"api-base-not-found-in-vector-store-configuration-f","errorCode":null,"errorMessage":"api_base not found in vector store configuration for {vector_store_name}","messagePattern":"api_base not found in vector store configuration for (.+?)","errorType":"exception","errorClass":"Exception","httpStatus":500,"severity":"error","filePath":"litellm/proxy/pass_through_endpoints/llm_passthrough_endpoints.py","lineNumber":525,"sourceCode":"    if vector_store is None:\n        raise Exception(f\"Vector store not found for {vector_store_name}\")\n    await assert_user_can_access_vector_store(\n        vector_store=vector_store,\n        user_api_key_dict=user_api_key_dict,\n    )\n    litellm_params = vector_store.get(\"litellm_params\") or {}\n    auth_credentials: Final = provider_config.get_auth_credentials(litellm_params=litellm_params)\n\n    extra_headers = auth_credentials.get(\"headers\") or {}\n\n    litellm_params = vector_store.get(\"litellm_params\") or {}\n\n    base_target_url = provider_config.get_complete_url(\n        api_base=litellm_params.get(\"api_base\"), litellm_params=litellm_params\n    )\n\n    if base_target_url is None:\n        raise Exception(f\"api_base not found in vector store configuration for {vector_store_name}\")\n\n    encoded_endpoint = httpx.URL(endpoint).path\n\n    # Ensure endpoint starts with '/' for proper URL construction\n    if not encoded_endpoint.startswith(\"/\"):\n        encoded_endpoint = \"/\" + encoded_endpoint\n\n    # Construct the full target URL using httpx, preserving any base path\n    # prefix that the operator configured on base_target_url.\n    base_url: Final = httpx.URL(base_target_url)\n    updated_url: Final = base_url.copy_with(\n        path=HttpPassThroughEndpointHelpers.join_base_and_endpoint_path(base_url, encoded_endpoint)\n    )\n    ## CREATE PASS-THROUGH\n    endpoint_func: Final = create_pass_through_route(\n        endpoint=endpoint,\n        target=str(updated_url),\n        custom_headers=extra_headers,","sourceCodeStart":507,"sourceCodeEnd":543,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/proxy/pass_through_endpoints/llm_passthrough_endpoints.py#L507-L543","documentation":"While building the target URL for the Milvus pass-through request, provider_config.get_complete_url() could not determine an api_base: the vector store's litellm_params contain no usable api_base/host and no environment default applies, so no upstream URL can be constructed. Thrown as a bare Exception.","triggerScenarios":"Thrown at litellm/proxy/pass_through_endpoints/llm_passthrough_endpoints.py:525 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Add api_base to the vector store configuration for the named vector store in config.yaml.","For Milvus, set api_base to the Milvus endpoint URI (e.g. http://localhost:19530)."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8","analyzedAt":"2026-08-18T11:44:31.656Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}