stanford-oval/storm · error · ValueError
Please provide the name of the url column.
Error message
Please provide the name of the url column.
What it means
url_column is None; each ingested document stores a source URL from this column, so the function rejects the call before touching the vector DB.
Source
Thrown at knowledge_storm/utils.py:215
model_kwargs = {"device": device}
encode_kwargs = {"normalize_embeddings": True}
from langchain_huggingface import HuggingFaceEmbeddings
model = HuggingFaceEmbeddings(
model_name=embedding_model,
model_kwargs=model_kwargs,
encode_kwargs=encode_kwargs,
)
if file_path is None:
raise ValueError("Please provide a file path.")
# check if the file is a csv file
if not file_path.endswith(".csv"):
raise ValueError(f"Not valid file format. Please provide a csv file.")
if content_column is None:
raise ValueError("Please provide the name of the content column.")
if url_column is None:
raise ValueError("Please provide the name of the url column.")
# try to initialize the Qdrant client
qdrant = None
if vector_db_mode == "online":
qdrant = QdrantVectorStoreManager._init_online_vector_db(
url=url,
api_key=qdrant_api_key,
collection_name=collection_name,
model=model,
)
elif vector_db_mode == "offline":
qdrant = QdrantVectorStoreManager._init_offline_vector_db(
vector_store_path=vector_store_path,
collection_name=collection_name,
model=model,
)
else:
raise ValueError(View on GitHub (pinned to fb951af774)
Solutions
- Pass the exact header of the URL column, e.g. url_column='url'
- If the CSV has no URL column, add one (even a synthetic identifier) before ingestion
- Verify header spelling against df.columns
Example fix
# before
create_or_update_vector_store('c', 'offline', 'd.csv', 'content', None)
# after
create_or_update_vector_store('c', 'offline', 'd.csv', 'content', 'url') Defensive patterns
Strategy: validation
Validate before calling
import pandas as pd
cols = pd.read_csv(file_path, nrows=0).columns.tolist()
assert url_column in cols, f'{url_column} not in {cols}' Type guard
def has_url_column(csv_path: str, col: str) -> bool:
import pandas as pd
return col in pd.read_csv(csv_path, nrows=0).columns Try / catch
try:
create_or_update_vector_store('c', mode, f, content_column, url_column, ...)
except ValueError as e:
if 'url column' in str(e):
raise SystemExit(f'Missing URL column; available: {pd.read_csv(f, nrows=0).columns.tolist()}') from e
raise Prevention
- Add a url column (even synthetic ids) when preparing corpora without links
- Validate both column names against the CSV header before ingestion
When it happens
Trigger: Calling create_or_update_vector_store without url_column or with url_column=None.
Common situations: Corpus without obvious URL field so the caller skips it, or the CSV uses a different header like 'link'/'source' and the argument was never updated.
Understand the failure class
Background: "missing required argument" and "the following required arguments were not provided": what required-argument errors mean and how to fix them — this error's family across 20 libraries.
Related errors
- Please provide the name of the content column.
- Please provide a file path.
- Content column {content_column} not found in the csv file.
- Please provide a folder path.
- Please provide a collection name.
AI-assisted analysis of stanford-oval/storm@fb951af774 (2026-08-28).
Data as JSON: /api/errors/e1bd651804258de3.
Report an issue: GitHub.