From 1976142c2836bf558c6f150e4f50ab24be247ac6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8E=98=E6=9D=83=20=E9=A9=AC?= Date: Mon, 2 Sep 2024 16:24:20 +0800 Subject: [PATCH] fixbug: circular import --- metagpt/tools/libs/index_repo.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/metagpt/tools/libs/index_repo.py b/metagpt/tools/libs/index_repo.py index 720fec4fd..dc23987c9 100644 --- a/metagpt/tools/libs/index_repo.py +++ b/metagpt/tools/libs/index_repo.py @@ -11,7 +11,6 @@ from pydantic import BaseModel, Field, model_validator from metagpt.config2 import Config from metagpt.logs import logger -from metagpt.rag.engines import SimpleEngine from metagpt.rag.factories.embedding import RAGEmbeddingFactory from metagpt.rag.schema import FAISSIndexConfig, FAISSRetrieverConfig, LLMRankerConfig from metagpt.utils.common import aread, awrite, generate_fingerprint, list_files @@ -100,6 +99,8 @@ class IndexRepo(BaseModel): await self._add_batch(filenames=filter_filenames, delete_filenames=delete_filenames) async def _add_batch(self, filenames: List[Union[str, Path]], delete_filenames: List[Union[str, Path]]): + from metagpt.rag.engines import SimpleEngine + if not filenames: return engine = None @@ -160,6 +161,8 @@ class IndexRepo(BaseModel): return pathnames, excludes async def _search(self, query: str, filters: Set[str]) -> List[NodeWithScore]: + from metagpt.rag.engines import SimpleEngine + if not Path(self.filename).exists(): return [] engine = SimpleEngine.from_index(