stanford-oval/storm · error · ValueError
Please provide a url for the Qdrant server.
Error message
Please provide a url for the Qdrant server.
What it means
Raised by QdrantVectorStoreManager._init_online_vector_db when the url argument is None — there is no default or env fallback for it. Online mode needs an explicit Qdrant server endpoint (self-hosted URL or Qdrant Cloud URL) to build the QdrantClient, so the manager aborts immediately.
Source
Thrown at knowledge_storm/utils.py:119
@staticmethod
def _init_online_vector_db(
url: str, api_key: str, collection_name: str, model: "HuggingFaceEmbeddings"
):
from qdrant_client import QdrantClient
"""Initialize the Qdrant client that is connected to an online vector store with the given URL and API key.
Args:
url (str): URL of the Qdrant server.
api_key (str): API key for the Qdrant server.
"""
if api_key is None:
if not os.getenv("QDRANT_API_KEY"):
raise ValueError("Please provide an api key.")
api_key = os.getenv("QDRANT_API_KEY")
if url is None:
raise ValueError("Please provide a url for the Qdrant server.")
try:
client = QdrantClient(url=url, api_key=api_key)
return QdrantVectorStoreManager._check_create_collection(
client=client, collection_name=collection_name, model=model
)
except Exception as e:
raise ValueError(f"Error occurs when connecting to the server: {e}")
@staticmethod
def _init_offline_vector_db(
vector_store_path: str, collection_name: str, model: "HuggingFaceEmbeddings"
):
from qdrant_client import QdrantClient
"""Initialize the Qdrant client that is connected to an offline vector store with the given vector store folder path.
Args:View on GitHub (pinned to fb951af774)
Solutions
- Pass the server URL explicitly: create_or_update_vector_store(url="https://<cluster>.cloud.qdrant.io:6333", online_mode=True, ...)
- For a local server use url="http://localhost:6333"
- Double-check keyword-argument names/order — unlike the key, url has no environment-variable fallback
Example fix
# before store = QdrantVectorStoreManager.create_or_update_vector_store(online_mode=True, api_key=KEY, model=model, collection_name="c") # after store = QdrantVectorStoreManager.create_or_update_vector_store(url="https://xyz.cloud.qdrant.io:6333", online_mode=True, api_key=KEY, model=model, collection_name="c")
Defensive patterns
Strategy: validation
Validate before calling
def valid_qdrant_url(url):
return url is not None and url.startswith(("http://", "https://"))
assert valid_qdrant_url(URL), "url is required (no env fallback) for online mode" Try / catch
try:
store = QdrantVectorStoreManager.create_or_update_vector_store(online_mode=True, api_key=K, model=m, collection_name=c)
except ValueError as e:
if "url" in str(e):
raise SystemExit("Pass url= explicitly, e.g. https://<cluster>.cloud.qdrant.io:6333")
raise Prevention
- Remember url has no env-var fallback unlike the API key
- Use keyword arguments to avoid positional mix-ups
- Default local dev URL to http://localhost:6333 explicitly
When it happens
Trigger: Calling create_or_update_vector_store(..., online_mode=True) or _init_online_vector_db(api_key=..., url=None). Note the API-key check runs first, so the key must already be resolved for this error to surface.
Common situations: Developer sets QDRANT_API_KEY but forgets the URL entirely; passing arguments in the wrong order so url receives None; copy-paste from offline-mode examples that use a local path instead of a url; expecting a QDRANT_URL env fallback that doesn't exist in this code.
Understand the failure class
Background: Missing required parameter errors: what 'X is required' and 'the required X param is missing' mean, and how to fix them — this error's family across 27 libraries.
Related errors
- Please provide a url for the Qdrant server.
- You must supply searxng_api_url
- Qdrant client is not initialized.
- Please provide an api key.
- Error occurs when connecting to the server: {e}
AI-assisted analysis of stanford-oval/storm@fb951af774 (2026-08-28).
Data as JSON: /api/errors/c4eb606439390560.
Report an issue: GitHub.