BerriAI/litellm · error · HTTPException
retrieval_config is required
Error message
retrieval_config is required
What it means
RAG query validation: model and messages are present, but 'retrieval_config' is missing/null/empty, so the handler has no vector store or retrieval settings to query with; rejected with 400.
Source
Thrown at litellm/proxy/rag_endpoints/endpoints.py:645
model: Final = data.get("model")
messages: Final = data.get("messages")
retrieval_config: Final = data.get("retrieval_config")
rerank: Final = data.get("rerank")
stream: Final = data.get("stream", False)
# Validate required fields
if not model:
raise HTTPException(
status_code=400,
detail={"error": "model is required"},
)
if not messages:
raise HTTPException(
status_code=400,
detail={"error": "messages is required"},
)
if not retrieval_config:
raise HTTPException(
status_code=400,
detail={"error": "retrieval_config is required"},
)
if not isinstance(retrieval_config, dict):
raise HTTPException(
status_code=400,
detail={"error": "retrieval_config must be an object"},
)
if "vector_store_id" not in retrieval_config:
raise HTTPException(
status_code=400,
detail={"error": "retrieval_config must contain 'vector_store_id'"},
)
await _authorize_nested_vector_store_ids(
payload=retrieval_config,
user_api_key_dict=user_api_key_dict,
)
View on GitHub (pinned to 77b7c6c40c)
Solutions
- Add retrieval_config to the request body with the vector store to query.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at litellm/proxy/rag_endpoints/endpoints.py:645 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of BerriAI/litellm@77b7c6c40c (2026-08-18).
Data as JSON: /api/errors/a1aab3afd3d155cc.
Report an issue: GitHub.