mirror of
https://github.com/infiniflow/ragflow.git
synced 2025-12-08 12:32:30 +08:00
Fix:reset the agent component’s output (#11222)
### What problem does this PR solve? change: “After each dialogue turn, the agent component’s output is not reset.” ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue)
This commit is contained in:
@ -368,11 +368,19 @@ Respond immediately with your final comprehensive answer.
|
|||||||
|
|
||||||
return "Error occurred."
|
return "Error occurred."
|
||||||
|
|
||||||
def reset(self, temp=False):
|
def reset(self, only_output=False):
|
||||||
"""
|
"""
|
||||||
Reset all tools if they have a reset method. This avoids errors for tools like MCPToolCallSession.
|
Reset all tools if they have a reset method. This avoids errors for tools like MCPToolCallSession.
|
||||||
"""
|
"""
|
||||||
|
for k in self._param.outputs.keys():
|
||||||
|
self._param.outputs[k]["value"] = None
|
||||||
|
|
||||||
for k, cpn in self.tools.items():
|
for k, cpn in self.tools.items():
|
||||||
if hasattr(cpn, "reset") and callable(cpn.reset):
|
if hasattr(cpn, "reset") and callable(cpn.reset):
|
||||||
cpn.reset()
|
cpn.reset()
|
||||||
|
if only_output:
|
||||||
|
return
|
||||||
|
for k in self._param.inputs.keys():
|
||||||
|
self._param.inputs[k]["value"] = None
|
||||||
|
self._param.debug_inputs = {}
|
||||||
|
|
||||||
|
|||||||
@ -222,7 +222,7 @@ class LLM(ComponentBase):
|
|||||||
output_structure = self._param.outputs['structured']
|
output_structure = self._param.outputs['structured']
|
||||||
except Exception:
|
except Exception:
|
||||||
pass
|
pass
|
||||||
if output_structure:
|
if output_structure and isinstance(output_structure, dict) and output_structure.get("properties"):
|
||||||
schema=json.dumps(output_structure, ensure_ascii=False, indent=2)
|
schema=json.dumps(output_structure, ensure_ascii=False, indent=2)
|
||||||
prompt += structured_output_prompt(schema)
|
prompt += structured_output_prompt(schema)
|
||||||
for _ in range(self._param.max_retries+1):
|
for _ in range(self._param.max_retries+1):
|
||||||
|
|||||||
@ -186,9 +186,6 @@ class DoclingParser(RAGFlowPdfParser):
|
|||||||
yield (DoclingContentType.EQUATION.value, text, bbox)
|
yield (DoclingContentType.EQUATION.value, text, bbox)
|
||||||
|
|
||||||
def _transfer_to_sections(self, doc) -> list[tuple[str, str]]:
|
def _transfer_to_sections(self, doc) -> list[tuple[str, str]]:
|
||||||
"""
|
|
||||||
和 MinerUParser 保持一致:返回 [(section_text, line_tag), ...]
|
|
||||||
"""
|
|
||||||
sections: list[tuple[str, str]] = []
|
sections: list[tuple[str, str]] = []
|
||||||
for typ, payload, bbox in self._iter_doc_items(doc):
|
for typ, payload, bbox in self._iter_doc_items(doc):
|
||||||
if typ == DoclingContentType.TEXT.value:
|
if typ == DoclingContentType.TEXT.value:
|
||||||
|
|||||||
Reference in New Issue
Block a user