diff --git a/api/core/agent/cot_agent_runner.py b/api/core/agent/cot_agent_runner.py index eee96fccd5..507dedaedd 100644 --- a/api/core/agent/cot_agent_runner.py +++ b/api/core/agent/cot_agent_runner.py @@ -69,9 +69,12 @@ class CotAgentRunner(BaseAgentRunner, ABC): tool_instances, prompt_messages_tools = self._init_prompt_tools() self._prompt_messages_tools = prompt_messages_tools - metadata_filtering_conditions = app_config.dataset.retrieve_config.metadata_filtering_conditions - for key, dataset_retriever_tool in tool_instances.items(): - dataset_retriever_tool.retrieval_tool.metadata_filtering_conditions = metadata_filtering_conditions + # fix metadata filter not work + if app_config.dataset is not None: + metadata_filtering_conditions = app_config.dataset.retrieve_config.metadata_filtering_conditions + for key, dataset_retriever_tool in tool_instances.items(): + if hasattr(dataset_retriever_tool, 'retrieval_tool'): + dataset_retriever_tool.retrieval_tool.metadata_filtering_conditions = metadata_filtering_conditions function_call_state = True llm_usage: dict[str, Optional[LLMUsage]] = {"usage": None} diff --git a/api/core/agent/fc_agent_runner.py b/api/core/agent/fc_agent_runner.py index 2f0f534479..419196b144 100644 --- a/api/core/agent/fc_agent_runner.py +++ b/api/core/agent/fc_agent_runner.py @@ -45,9 +45,12 @@ class FunctionCallAgentRunner(BaseAgentRunner): # convert tools into ModelRuntime Tool format tool_instances, prompt_messages_tools = self._init_prompt_tools() - metadata_filtering_conditions = app_config.dataset.retrieve_config.metadata_filtering_conditions - for key, dataset_retriever_tool in tool_instances.items(): - dataset_retriever_tool.retrieval_tool.metadata_filtering_conditions = metadata_filtering_conditions + # fix metadata filter not work + if app_config.dataset is not None: + metadata_filtering_conditions = app_config.dataset.retrieve_config.metadata_filtering_conditions + for key, dataset_retriever_tool in tool_instances.items(): + if hasattr(dataset_retriever_tool, 'retrieval_tool'): + dataset_retriever_tool.retrieval_tool.metadata_filtering_conditions = metadata_filtering_conditions assert app_config.agent