langchain.output_parsers.retry.RetryWithErrorOutputParser¶

class langchain.output_parsers.retry.RetryWithErrorOutputParser(*, parser: BaseOutputParser[T], retry_chain: LLMChain)[source]¶

Bases: BaseOutputParser[T]

Wraps a parser and tries to fix parsing errors.

Does this by passing the original prompt, the completion, AND the error that was raised to another language model and telling it that the completion did not work, and raised the given error. Differs from RetryOutputParser in that this implementation provides the error that was raised back to the LLM, which in theory should give it more information on how to fix it.

Create a new model by parsing and validating input data from keyword arguments.

Raises ValidationError if the input data cannot be parsed to form a valid model.

param parser: langchain.schema.output_parser.BaseOutputParser[langchain.output_parsers.retry.T] [Required]¶
param retry_chain: langchain.chains.llm.LLMChain [Required]¶
dict(**kwargs: Any) Dict¶

Return dictionary representation of output parser.

classmethod from_llm(llm: BaseLanguageModel, parser: BaseOutputParser[T], prompt: BasePromptTemplate = PromptTemplate(input_variables=['completion', 'error', 'prompt'], output_parser=None, partial_variables={}, template='Prompt:\n{prompt}\nCompletion:\n{completion}\n\nAbove, the Completion did not satisfy the constraints given in the Prompt.\nDetails: {error}\nPlease try again:', template_format='f-string', validate_template=True)) RetryWithErrorOutputParser[T][source]¶

Create a RetryWithErrorOutputParser from an LLM.

Parameters
  • llm – The LLM to use to retry the completion.

  • parser – The parser to use to parse the output.

  • prompt – The prompt to use to retry the completion.

Returns

A RetryWithErrorOutputParser.

get_format_instructions() str[source]¶

Instructions on how the LLM output should be formatted.

invoke(input: str | langchain.schema.messages.BaseMessage, config: langchain.schema.runnable.RunnableConfig | None = None) T¶
parse(completion: str) T[source]¶

Parse a single string model output into some structure.

Parameters

text – String output of a language model.

Returns

Structured output.

parse_result(result: List[Generation]) T¶

Parse a list of candidate model Generations into a specific format.

The return value is parsed from only the first Generation in the result, which

is assumed to be the highest-likelihood Generation.

Parameters

result – A list of Generations to be parsed. The Generations are assumed to be different candidate outputs for a single model input.

Returns

Structured output.

parse_with_prompt(completion: str, prompt_value: PromptValue) T[source]¶

Parse the output of an LLM call with the input prompt for context.

The prompt is largely provided in the event the OutputParser wants to retry or fix the output in some way, and needs information from the prompt to do so.

Parameters
  • completion – String output of a language model.

  • prompt – Input PromptValue.

Returns

Structured output

to_json() Union[SerializedConstructor, SerializedNotImplemented]¶
to_json_not_implemented() SerializedNotImplemented¶
property lc_attributes: Dict¶

Return a list of attribute names that should be included in the serialized kwargs. These attributes must be accepted by the constructor.

property lc_namespace: List[str]¶

Return the namespace of the langchain object. eg. [“langchain”, “llms”, “openai”]

property lc_secrets: Dict[str, str]¶

Return a map of constructor argument names to secret ids. eg. {“openai_api_key”: “OPENAI_API_KEY”}

property lc_serializable: bool¶

Return whether or not the class is serializable.

model Config¶

Bases: object

extra = 'ignore'¶

Examples using RetryWithErrorOutputParser¶