diff --git a/astrbot/core/db/vec_db/faiss_impl/embedding_storage.py b/astrbot/core/db/vec_db/faiss_impl/embedding_storage.py index 581032aa7..2c0cc8dfe 100644 --- a/astrbot/core/db/vec_db/faiss_impl/embedding_storage.py +++ b/astrbot/core/db/vec_db/faiss_impl/embedding_storage.py @@ -51,6 +51,7 @@ class EmbeddingStorage: f"向量维度不匹配, 期望: {self.dimension}, 实际: {vectors.shape[1]}" ) self.index.add_with_ids(vectors, np.array(ids)) + await self.save_index() async def search(self, vector: np.ndarray, k: int) -> tuple: """搜索最相似的向量 diff --git a/astrbot/core/knowledge_base/retrieval/sparse_retriever.py b/astrbot/core/knowledge_base/retrieval/sparse_retriever.py index 4275c3ef4..75ed8738b 100644 --- a/astrbot/core/knowledge_base/retrieval/sparse_retriever.py +++ b/astrbot/core/knowledge_base/retrieval/sparse_retriever.py @@ -73,7 +73,9 @@ class SparseRetriever: vec_db: FaissVecDB = kb_options.get(kb_id, {}).get("vec_db") if not vec_db: continue - result = await vec_db.document_storage.get_documents(metadata_filters={}) + result = await vec_db.document_storage.get_documents( + metadata_filters={}, limit=None, offset=None + ) chunk_mds = [json.loads(doc["metadata"]) for doc in result] result = [ {