diff --git a/dbgpt/rag/index/base.py b/dbgpt/rag/index/base.py index a48d6dad4..998f95a0b 100644 --- a/dbgpt/rag/index/base.py +++ b/dbgpt/rag/index/base.py @@ -8,7 +8,10 @@ from typing import Any, Dict, List, Optional from dbgpt._private.pydantic import BaseModel, ConfigDict, Field, model_to_dict from dbgpt.core import Chunk, Embeddings from dbgpt.storage.vector_store.filters import MetadataFilters -from dbgpt.util.executor_utils import blocking_func_to_async +from dbgpt.util.executor_utils import ( + blocking_func_to_async, + blocking_func_to_async_no_executor, +) logger = logging.getLogger(__name__) @@ -195,4 +198,6 @@ class IndexStoreBase(ABC): filters: Optional[MetadataFilters] = None, ) -> List[Chunk]: """Aynsc similar_search_with_score in vector database.""" - return self.similar_search_with_scores(doc, topk, score_threshold, filters) + return await blocking_func_to_async_no_executor( + self.similar_search_with_scores, doc, topk, score_threshold, filters + ) diff --git a/dbgpt/rag/retriever/embedding.py b/dbgpt/rag/retriever/embedding.py index f55480840..cdc960854 100644 --- a/dbgpt/rag/retriever/embedding.py +++ b/dbgpt/rag/retriever/embedding.py @@ -267,10 +267,6 @@ class EmbeddingRetriever(BaseRetriever): "score_threshold": score_threshold, }, ): - return await blocking_func_to_async_no_executor( - self._index_store.similar_search_with_scores, - query, - self._top_k, - score_threshold, - filters, + return await self._index_store.asimilar_search_with_scores( + query, self._top_k, score_threshold, filters )