From 1219e41d295a7e054331db949c893fa1330fdaf8 Mon Sep 17 00:00:00 2001 From: takatost Date: Tue, 16 Apr 2024 14:39:14 +0800 Subject: [PATCH] fix: array[string] context in llm node invalid (#3518) --- api/core/workflow/nodes/llm/llm_node.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/api/core/workflow/nodes/llm/llm_node.py b/api/core/workflow/nodes/llm/llm_node.py index 77781058c7..491e984477 100644 --- a/api/core/workflow/nodes/llm/llm_node.py +++ b/api/core/workflow/nodes/llm/llm_node.py @@ -248,16 +248,19 @@ class LLMNode(BaseNode): context_str = '' original_retriever_resource = [] for item in context_value: - if 'content' not in item: - raise ValueError(f'Invalid context structure: {item}') + if isinstance(item, str): + context_str += item + '\n' + else: + if 'content' not in item: + raise ValueError(f'Invalid context structure: {item}') - context_str += item['content'] + '\n' + context_str += item['content'] + '\n' - retriever_resource = self._convert_to_original_retriever_resource(item) - if retriever_resource: - original_retriever_resource.append(retriever_resource) + retriever_resource = self._convert_to_original_retriever_resource(item) + if retriever_resource: + original_retriever_resource.append(retriever_resource) - if self.callbacks: + if self.callbacks and original_retriever_resource: for callback in self.callbacks: callback.on_event( event=QueueRetrieverResourcesEvent(