From 2ab5810f130be83589482b027544e9211f816d4d Mon Sep 17 00:00:00 2001 From: Soulter <905617992@qq.com> Date: Fri, 30 May 2025 12:59:26 +0800 Subject: [PATCH] perf: improve transaction performance in vector db --- astrbot/core/db/vec_db/faiss_impl/vec_db.py | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/astrbot/core/db/vec_db/faiss_impl/vec_db.py b/astrbot/core/db/vec_db/faiss_impl/vec_db.py index e4122e547..8d95c2501 100644 --- a/astrbot/core/db/vec_db/faiss_impl/vec_db.py +++ b/astrbot/core/db/vec_db/faiss_impl/vec_db.py @@ -30,19 +30,13 @@ class FaissVecDB(BaseVecDB): async def initialize(self): await self.document_storage.initialize() - async def insert( - self, - content: str, - metadata: dict = None, - id: str = None, - ) -> int: + async def insert(self, content: str, metadata: dict = None, id: str = None) -> int: """ 插入一条文本和其对应向量,自动生成 ID 并保持一致性。 """ metadata = metadata or {} str_id = id or str(uuid.uuid4()) # 使用 UUID 作为原始 ID - # 获取向量 vector = await self.embedding_provider.get_embedding(content) vector = np.array(vector, dtype=np.float32) async with self.document_storage.connection.cursor() as cursor: @@ -54,9 +48,9 @@ class FaissVecDB(BaseVecDB): result = await self.document_storage.get_document_by_doc_id(str_id) int_id = result["id"] - # 插入向量到 FAISS - await self.embedding_storage.insert(vector, int_id) - return int_id + # 插入向量到 FAISS + await self.embedding_storage.insert(vector, int_id) + return int_id async def retrieve( self, query: str, k: int = 5, fetch_k: int = 20, metadata_filters: dict = None