From 07117d60396514f947a61fc35095cad1751a3e34 Mon Sep 17 00:00:00 2001 From: Kevin-Li-2025 <2242139@qq.com> Date: Sat, 27 Jun 2026 18:47:54 +0800 Subject: [PATCH] Fix blank LanceDB vector store URI validation Signed-off-by: Kevin-Li-2025 <2242139@qq.com> --- .../graphrag/config/models/graph_rag_config.py | 2 +- tests/unit/config/test_config.py | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/packages/graphrag/graphrag/config/models/graph_rag_config.py b/packages/graphrag/graphrag/config/models/graph_rag_config.py index 1b753d58fc..eb32b3e5a7 100644 --- a/packages/graphrag/graphrag/config/models/graph_rag_config.py +++ b/packages/graphrag/graphrag/config/models/graph_rag_config.py @@ -270,7 +270,7 @@ def _validate_vector_store_db_uri(self) -> None: """Validate the vector store configuration.""" store = self.vector_store if store.type == VectorStoreType.LanceDB: - if not store.db_uri or store.db_uri.strip == "": + if not store.db_uri or store.db_uri.strip() == "": store.db_uri = graphrag_config_defaults.vector_store.db_uri store.db_uri = str(Path(store.db_uri).resolve()) diff --git a/tests/unit/config/test_config.py b/tests/unit/config/test_config.py index 75a472f023..ec569af4a3 100644 --- a/tests/unit/config/test_config.py +++ b/tests/unit/config/test_config.py @@ -5,6 +5,7 @@ from pathlib import Path from unittest import mock +import graphrag.config.defaults as defs from graphrag.config.load_config import load_config from graphrag.config.models.graph_rag_config import GraphRagConfig @@ -26,6 +27,19 @@ def test_default_config() -> None: assert_graphrag_configs(actual, expected) +def test_blank_lancedb_uri_uses_default(tmp_path: Path, monkeypatch) -> None: + monkeypatch.chdir(tmp_path) + config = GraphRagConfig( + completion_models=DEFAULT_COMPLETION_MODELS, # type: ignore + embedding_models=DEFAULT_EMBEDDING_MODELS, # type: ignore + vector_store={"type": "lancedb", "db_uri": " \t "}, + ) + + assert config.vector_store.db_uri == str( + (tmp_path / defs.graphrag_config_defaults.vector_store.db_uri).resolve() + ) + + @mock.patch.dict(os.environ, {"CUSTOM_API_KEY": FAKE_API_KEY}, clear=True) def test_load_minimal_config() -> None: cwd = Path.cwd()