From 88bbd695d05cbec1bb57b560705edb87ccb85695 Mon Sep 17 00:00:00 2001 From: Tam Date: Tue, 18 Mar 2025 11:53:41 +0800 Subject: [PATCH] fix(LLM extractor): handle empty response in LLM extractor (#2480) Co-authored-by: tam --- packages/dbgpt-app/src/dbgpt_app/knowledge/service.py | 2 +- .../dbgpt-core/src/dbgpt/rag/transformer/llm_extractor.py | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/dbgpt-app/src/dbgpt_app/knowledge/service.py b/packages/dbgpt-app/src/dbgpt_app/knowledge/service.py index 6e8068daf..798facff9 100644 --- a/packages/dbgpt-app/src/dbgpt_app/knowledge/service.py +++ b/packages/dbgpt-app/src/dbgpt_app/knowledge/service.py @@ -99,7 +99,7 @@ class KnowledgeService: if request.vector_type == "VectorStore": request.vector_type = self.rag_config.storage.vector.get_type_value() if request.vector_type == "KnowledgeGraph": - knowledge_space_name_pattern = r"^[a-zA-Z0-9\u4e00-\u9fa5]+$" + knowledge_space_name_pattern = r"^[_a-zA-Z0-9\u4e00-\u9fa5]+$" if not re.match(knowledge_space_name_pattern, request.name): raise Exception(f"space name:{request.name} invalid") spaces = knowledge_space_dao.get_knowledge_space(query) diff --git a/packages/dbgpt-core/src/dbgpt/rag/transformer/llm_extractor.py b/packages/dbgpt-core/src/dbgpt/rag/transformer/llm_extractor.py index 624b11809..534dc19fe 100644 --- a/packages/dbgpt-core/src/dbgpt/rag/transformer/llm_extractor.py +++ b/packages/dbgpt-core/src/dbgpt/rag/transformer/llm_extractor.py @@ -84,7 +84,10 @@ class LLMExtractor(ExtractorBase, ABC): logger.error(f"request llm failed ({code}) {reason}") return [] - return self._parse_response(response.text, limit) + if response.has_text: + return self._parse_response(response.text, limit) + else: + return [] def truncate(self): """Do nothing by default."""