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.
- 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.