mirror of
https://git.mirrors.martin98.com/https://github.com/langgenius/dify.git
synced 2025-08-20 12:39:14 +08:00
clean vector collection redis cache (#6494)
This commit is contained in:
parent
c57b3931d5
commit
f38034e455
@ -293,6 +293,7 @@ class AnalyticdbVector(BaseVector):
|
|||||||
return documents
|
return documents
|
||||||
|
|
||||||
def delete(self) -> None:
|
def delete(self) -> None:
|
||||||
|
try:
|
||||||
from alibabacloud_gpdb20160503 import models as gpdb_20160503_models
|
from alibabacloud_gpdb20160503 import models as gpdb_20160503_models
|
||||||
request = gpdb_20160503_models.DeleteCollectionRequest(
|
request = gpdb_20160503_models.DeleteCollectionRequest(
|
||||||
collection=self._collection_name,
|
collection=self._collection_name,
|
||||||
@ -302,6 +303,8 @@ class AnalyticdbVector(BaseVector):
|
|||||||
region_id=self.config.region_id,
|
region_id=self.config.region_id,
|
||||||
)
|
)
|
||||||
self._client.delete_collection(request)
|
self._client.delete_collection(request)
|
||||||
|
except Exception as e:
|
||||||
|
raise e
|
||||||
|
|
||||||
class AnalyticdbVectorFactory(AbstractVectorFactory):
|
class AnalyticdbVectorFactory(AbstractVectorFactory):
|
||||||
def init_vector(self, dataset: Dataset, attributes: list, embeddings: Embeddings):
|
def init_vector(self, dataset: Dataset, attributes: list, embeddings: Embeddings):
|
||||||
|
@ -198,8 +198,6 @@ class TencentVector(BaseVector):
|
|||||||
self._db.drop_collection(name=self._collection_name)
|
self._db.drop_collection(name=self._collection_name)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class TencentVectorFactory(AbstractVectorFactory):
|
class TencentVectorFactory(AbstractVectorFactory):
|
||||||
def init_vector(self, dataset: Dataset, attributes: list, embeddings: Embeddings) -> TencentVector:
|
def init_vector(self, dataset: Dataset, attributes: list, embeddings: Embeddings) -> TencentVector:
|
||||||
|
|
||||||
|
@ -67,3 +67,7 @@ class BaseVector(ABC):
|
|||||||
|
|
||||||
def _get_uuids(self, texts: list[Document]) -> list[str]:
|
def _get_uuids(self, texts: list[Document]) -> list[str]:
|
||||||
return [text.metadata['doc_id'] for text in texts]
|
return [text.metadata['doc_id'] for text in texts]
|
||||||
|
|
||||||
|
@property
|
||||||
|
def collection_name(self):
|
||||||
|
return self._collection_name
|
||||||
|
@ -9,6 +9,7 @@ from core.rag.datasource.entity.embedding import Embeddings
|
|||||||
from core.rag.datasource.vdb.vector_base import BaseVector
|
from core.rag.datasource.vdb.vector_base import BaseVector
|
||||||
from core.rag.datasource.vdb.vector_type import VectorType
|
from core.rag.datasource.vdb.vector_type import VectorType
|
||||||
from core.rag.models.document import Document
|
from core.rag.models.document import Document
|
||||||
|
from extensions.ext_redis import redis_client
|
||||||
from models.dataset import Dataset
|
from models.dataset import Dataset
|
||||||
|
|
||||||
|
|
||||||
@ -134,6 +135,10 @@ class Vector:
|
|||||||
|
|
||||||
def delete(self) -> None:
|
def delete(self) -> None:
|
||||||
self._vector_processor.delete()
|
self._vector_processor.delete()
|
||||||
|
# delete collection redis cache
|
||||||
|
if self._vector_processor.collection_name:
|
||||||
|
collection_exist_cache_key = 'vector_indexing_{}'.format(self._vector_processor.collection_name)
|
||||||
|
redis_client.delete(collection_exist_cache_key)
|
||||||
|
|
||||||
def _get_embeddings(self) -> Embeddings:
|
def _get_embeddings(self) -> Embeddings:
|
||||||
model_manager = ModelManager()
|
model_manager = ModelManager()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user