diff --git a/langchain/agents/structured_chat/base.py b/langchain/agents/structured_chat/base.py index e96aac54..bd6ec0f0 100644 --- a/langchain/agents/structured_chat/base.py +++ b/langchain/agents/structured_chat/base.py @@ -5,7 +5,6 @@ from pydantic import Field from langchain.agents.agent import Agent, AgentOutputParser from langchain.agents.structured_chat.output_parser import ( - StructuredChatOutputParser, StructuredChatOutputParserWithRetries, ) from langchain.agents.structured_chat.prompt import FORMAT_INSTRUCTIONS, PREFIX, SUFFIX @@ -23,7 +22,9 @@ from langchain.tools import BaseTool class StructuredChatAgent(Agent): - output_parser: AgentOutputParser = Field(default_factory=StructuredChatOutputParser) + output_parser: AgentOutputParser = Field( + default_factory=StructuredChatOutputParserWithRetries + ) @property def observation_prefix(self) -> str: diff --git a/langchain/agents/structured_chat/output_parser.py b/langchain/agents/structured_chat/output_parser.py index 9d10e833..4f9240ad 100644 --- a/langchain/agents/structured_chat/output_parser.py +++ b/langchain/agents/structured_chat/output_parser.py @@ -11,7 +11,6 @@ from langchain.agents.agent import AgentOutputParser from langchain.agents.structured_chat.prompt import FORMAT_INSTRUCTIONS from langchain.base_language import BaseLanguageModel from langchain.output_parsers import OutputFixingParser -from langchain.output_parsers.pydantic import PydanticOutputParser from langchain.schema import AgentAction, AgentFinish, OutputParserException logger = logging.getLogger(__name__) @@ -43,9 +42,7 @@ class StructuredChatOutputParser(AgentOutputParser): class StructuredChatOutputParserWithRetries(AgentOutputParser): - base_parser: PydanticOutputParser = Field( - default_factory=StructuredChatOutputParser - ) + base_parser: AgentOutputParser = Field(default_factory=StructuredChatOutputParser) output_fixing_parser: Optional[OutputFixingParser] = None def get_format_instructions(self) -> str: