diff --git a/libs/langchain/langchain/output_parsers/__init__.py b/libs/langchain/langchain/output_parsers/__init__.py index c50d5d41100..f029f52bfb8 100644 --- a/libs/langchain/langchain/output_parsers/__init__.py +++ b/libs/langchain/langchain/output_parsers/__init__.py @@ -16,6 +16,7 @@ from langchain.output_parsers.boolean import BooleanOutputParser from langchain.output_parsers.combining import CombiningOutputParser from langchain.output_parsers.datetime import DatetimeOutputParser from langchain.output_parsers.enum import EnumOutputParser +from langchain.output_parsers.fix import OutputFixingParser from langchain.output_parsers.list import ( CommaSeparatedListOutputParser, ListOutputParser, @@ -24,6 +25,7 @@ from langchain.output_parsers.pydantic import PydanticOutputParser from langchain.output_parsers.rail_parser import GuardrailsOutputParser from langchain.output_parsers.regex import RegexParser from langchain.output_parsers.regex_dict import RegexDictParser +from langchain.output_parsers.retry import RetryOutputParser, RetryWithErrorOutputParser from langchain.output_parsers.structured import ResponseSchema, StructuredOutputParser __all__ = [ @@ -34,9 +36,12 @@ __all__ = [ "EnumOutputParser", "GuardrailsOutputParser", "ListOutputParser", + "OutputFixingParser", "PydanticOutputParser", "RegexDictParser", "RegexParser", "ResponseSchema", + "RetryOutputParser", + "RetryWithErrorOutputParser", "StructuredOutputParser", ] diff --git a/libs/langchain/langchain/prompts/loading.py b/libs/langchain/langchain/prompts/loading.py index dc8a1bc32a8..100f74c84f9 100644 --- a/libs/langchain/langchain/prompts/loading.py +++ b/libs/langchain/langchain/prompts/loading.py @@ -6,7 +6,6 @@ from typing import Union import yaml -from langchain.output_parsers.regex import RegexParser from langchain.prompts.few_shot import FewShotPromptTemplate from langchain.prompts.prompt import PromptTemplate from langchain.schema import BaseLLMOutputParser, BasePromptTemplate, StrOutputParser @@ -77,6 +76,9 @@ def _load_output_parser(config: dict) -> dict: _config = config.pop("output_parser") output_parser_type = _config.pop("_type") if output_parser_type == "regex_parser": + # Import here to avoid circular dependencies + from langchain.output_parsers.regex import RegexParser + output_parser: BaseLLMOutputParser = RegexParser(**_config) elif output_parser_type == "default": output_parser = StrOutputParser(**_config)