stanford-oval/storm · error · ValueError

Please provide a folder path.

Error message

Please provide a folder path.

What it means

Raised by QdrantVectorStoreManager._init_offline_vector_db when vector_store_path is None. The library requires an explicit filesystem folder path to open an offline (embedded) Qdrant store via QdrantClient(path=...). Without it there is no location to load or create the vector database.

Source

Thrown at knowledge_storm/utils.py:141

            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:
            vector_store_path (str): Path to the vector store.
        """
        if vector_store_path is None:
            raise ValueError("Please provide a folder path.")

        try:
            client = QdrantClient(path=vector_store_path)
            return QdrantVectorStoreManager._check_create_collection(
                client=client, collection_name=collection_name, model=model
            )
        except Exception as e:
            raise ValueError(f"Error occurs when loading the vector store: {e}")

    @staticmethod
    def create_or_update_vector_store(
        collection_name: str,
        vector_db_mode: str,
        file_path: str,
        content_column: str,
        title_column: str = "title",
        url_column: str = "url",
        desc_column: str = "description",

View on GitHub (pinned to fb951af774)

Solutions

  1. Pass a valid folder path, e.g. vector_store_path='./qdrant_store'
  2. If you meant to use a Qdrant server, set vector_db_mode='online' and provide url/api_key instead
  3. Ensure the directory exists or is creatable and the process has write permissions

Example fix

# before
create_or_update_vector_store(..., vector_db_mode='offline')
# after
create_or_update_vector_store(..., vector_db_mode='offline', vector_store_path='./qdrant_store')
Defensive patterns

Strategy: validation

Validate before calling

from pathlib import Path

vector_store_path = './qdrant_store'
if vector_db_mode == 'offline':
    assert vector_store_path, 'vector_store_path required in offline mode'
    p = Path(vector_store_path)
    p.mkdir(parents=True, exist_ok=True)
    assert os.access(p, os.W_OK), f'no write access to {p}'

Type guard

def is_offline_config(mode: str, path: str | None) -> bool:
    return mode == 'offline' and isinstance(path, str) and len(path) > 0

Try / catch

try:
    create_or_update_vector_store(..., vector_db_mode='offline', vector_store_path=p)
except ValueError as e:
    if 'folder path' in str(e):
        raise SystemExit('Missing --vector-store-path for offline mode') from e
    raise

Prevention

When it happens

Trigger: Calling create_or_update_vector_store(..., vector_db_mode='offline', vector_store_path=None), or omitting the vector_store_path argument while in offline mode.

Common situations: Defaulting vector_store_path to None in a wrapper script, copy-pasting an online-mode example and just flipping the mode string, or forgetting the CLI flag that supplies the path.

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


AI-assisted analysis of stanford-oval/storm@fb951af774 (2026-08-28). Data as JSON: /api/errors/132b5b4c1727a316. Report an issue: GitHub.