diff --git a/pilot/scene/chat_knowledge/default/chat.py b/pilot/scene/chat_knowledge/default/chat.py index 325b03783..3f21b828d 100644 --- a/pilot/scene/chat_knowledge/default/chat.py +++ b/pilot/scene/chat_knowledge/default/chat.py @@ -1,3 +1,5 @@ +from chromadb.errors import NoIndexException + from pilot.scene.base_chat import BaseChat, logger, headers from pilot.scene.base import ChatScene from pilot.common.sql_database import Database @@ -46,12 +48,15 @@ class ChatDefaultKnowledge(BaseChat): ) def generate_input_values(self): - docs = self.knowledge_embedding_client.similar_search( - self.current_user_input, CFG.KNOWLEDGE_SEARCH_TOP_SIZE - ) - context = [d.page_content for d in docs] - context = context[:2000] - input_values = {"context": context, "question": self.current_user_input} + try: + docs = self.knowledge_embedding_client.similar_search( + self.current_user_input, CFG.KNOWLEDGE_SEARCH_TOP_SIZE + ) + context = [d.page_content for d in docs] + context = context[:2000] + input_values = {"context": context, "question": self.current_user_input} + except NoIndexException: + raise ValueError("you have no default knowledge store, please execute python knowledge_init.py") return input_values def do_with_prompt_response(self, prompt_response): diff --git a/tools/knowlege_init.py b/tools/knowlege_init.py index 26338df1c..c9a0c5457 100644 --- a/tools/knowlege_init.py +++ b/tools/knowlege_init.py @@ -43,7 +43,6 @@ if __name__ == "__main__": parser.add_argument("--vector_name", type=str, default="default") args = parser.parse_args() vector_name = args.vector_name - append_mode = args.append store_type = CFG.VECTOR_STORE_TYPE vector_store_config = {"vector_store_name": vector_name} print(vector_store_config)