From dc737523abaf45adaf91f5ea9408b810b2604a92 Mon Sep 17 00:00:00 2001 From: JieguangZhou Date: Wed, 8 Nov 2023 16:14:55 +0800 Subject: [PATCH] Add configuration items about lance home --- superduperdb/base/config.py | 2 ++ superduperdb/vector_search/lance.py | 6 ++---- test/unittest/vector_search/test_vector_search.py | 3 ++- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/superduperdb/base/config.py b/superduperdb/base/config.py index d405cc29b..b4c3eb393 100644 --- a/superduperdb/base/config.py +++ b/superduperdb/base/config.py @@ -5,6 +5,7 @@ """ # TODO further simplify these configurations +import os import re import typing as t from enum import Enum @@ -143,6 +144,7 @@ def self_hosted_vector_search(self) -> bool: #: The configuration for the vector search vector_search: 'str' = 'in_memory' # "in_memory" / "lance" + lance_home: str = os.path.join('.superduperdb', 'vector_indices') artifact_store: t.Optional[str] = None metadata_store: t.Optional[str] = None diff --git a/superduperdb/vector_search/lance.py b/superduperdb/vector_search/lance.py index 72c8bb27e..53c69dfb4 100644 --- a/superduperdb/vector_search/lance.py +++ b/superduperdb/vector_search/lance.py @@ -5,6 +5,7 @@ import numpy import pyarrow as pa +from superduperdb import CFG from superduperdb.vector_search.base import BaseVectorSearcher, VectorItem @@ -27,10 +28,7 @@ def __init__( index: t.Optional[t.List[str]] = None, measure: t.Optional[str] = None, ): - lance_home = os.environ.get( - 'SUPERDUPERDB_LANCE_HOME', '.superduperdb/vector_indices' - ) - self.dataset_path = f'{lance_home}/{identifier}.lance' + self.dataset_path = os.path.join(CFG.lance_home, f'{identifier}.lance') self.dimensions = dimensions self._created = False self.measure = measure diff --git a/test/unittest/vector_search/test_vector_search.py b/test/unittest/vector_search/test_vector_search.py index d4068db5d..935dc084b 100644 --- a/test/unittest/vector_search/test_vector_search.py +++ b/test/unittest/vector_search/test_vector_search.py @@ -4,6 +4,7 @@ import numpy as np import pytest +from superduperdb import CFG from superduperdb.vector_search.base import VectorItem from superduperdb.vector_search.in_memory import InMemoryVectorSearcher from superduperdb.vector_search.lance import LanceVectorSearcher @@ -12,7 +13,7 @@ @pytest.fixture def index_data(monkeypatch): with tempfile.TemporaryDirectory() as unique_dir: - monkeypatch.setenv('SUPERDUPERDB_LANCE_HOME', str(unique_dir)) + monkeypatch.setattr(CFG, 'lance_home', str(unique_dir)) h = np.array([[0, 0, 1], [0, 1, 0], [1, 0, 0]]) ids = [str(uuid.uuid4()) for _ in range(h.shape[0])] yield h, ids