diff --git a/.github/workflows/pylint.yml b/.github/workflows/pylint.yml index d15f86769..aca3bc806 100644 --- a/.github/workflows/pylint.yml +++ b/.github/workflows/pylint.yml @@ -27,3 +27,5 @@ jobs: run: make setup - name: Check Python code style run: make fmt-check + - name: Check Python code type + run: make mypy diff --git a/dbgpt/app/knowledge/service.py b/dbgpt/app/knowledge/service.py index b6a2fab68..58aff202c 100644 --- a/dbgpt/app/knowledge/service.py +++ b/dbgpt/app/knowledge/service.py @@ -444,7 +444,13 @@ def delete_space(self, space_name: str): if len(spaces) == 0: raise Exception(f"delete error, no space name:{space_name} in database") space = spaces[0] - config = VectorStoreConfig(name=space.name) + embedding_factory = CFG.SYSTEM_APP.get_component( + "embedding_factory", EmbeddingFactory + ) + embedding_fn = embedding_factory.create( + model_name=EMBEDDING_MODEL_CONFIG[CFG.EMBEDDING_MODEL] + ) + config = VectorStoreConfig(name=space.name, embedding_fn=embedding_fn) vector_store_connector = VectorStoreConnector( vector_store_type=CFG.VECTOR_STORE_TYPE, vector_store_config=config, diff --git a/dbgpt/storage/vector_store/milvus_store.py b/dbgpt/storage/vector_store/milvus_store.py index de8f27885..80a352d40 100644 --- a/dbgpt/storage/vector_store/milvus_store.py +++ b/dbgpt/storage/vector_store/milvus_store.py @@ -174,7 +174,10 @@ def __init__(self, vector_store_config: MilvusVectorConfig) -> None: bytes_str = self.collection_name.encode("utf-8") hex_str = bytes_str.hex() self.collection_name = hex_str - + if vector_store_config.embedding_fn is None: + # Perform runtime checks on self.embedding to + # ensure it has been correctly set and loaded + raise ValueError("embedding_fn is required for MilvusStore") self.embedding: Embeddings = vector_store_config.embedding_fn self.fields: List = [] self.alias = milvus_vector_config.get("alias") or "default"