From 302989a2b1b8b0228d9de406b91edc88979e5e58 Mon Sep 17 00:00:00 2001 From: Tomaz Bratanic Date: Wed, 7 Feb 2024 19:26:14 +0100 Subject: [PATCH] allow optional newline in the action responses of JSON Agent parser (#17186) Based on my experiments, the newline isn't always there, so we can make the regex slightly more robust by allowing an optional newline after the bacticks --- .../langchain/agents/output_parsers/react_json_single_input.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/langchain/langchain/agents/output_parsers/react_json_single_input.py b/libs/langchain/langchain/agents/output_parsers/react_json_single_input.py index c58e1804ab1..0ca9ed2ffd8 100644 --- a/libs/langchain/langchain/agents/output_parsers/react_json_single_input.py +++ b/libs/langchain/langchain/agents/output_parsers/react_json_single_input.py @@ -42,7 +42,7 @@ class ReActJsonSingleInputOutputParser(AgentOutputParser): """ - pattern = re.compile(r"^.*?`{3}(?:json)?\n(.*?)`{3}.*?$", re.DOTALL) + pattern = re.compile(r"^.*?`{3}(?:json)?\n?(.*?)`{3}.*?$", re.DOTALL) """Regex pattern to parse the output.""" def get_format_instructions(self) -> str: