langchain.output_parsers.structured.StructuredOutputParser¶
- class langchain.output_parsers.structured.StructuredOutputParser(*, response_schemas: List[ResponseSchema])[source]¶
Bases:
BaseOutputParserParse the output of an LLM call to a structured output.
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 response_schemas: List[langchain.output_parsers.structured.ResponseSchema] [Required]¶
The schemas for the response.
- dict(**kwargs: Any) Dict¶
Return dictionary representation of output parser.
- classmethod from_response_schemas(response_schemas: List[ResponseSchema]) StructuredOutputParser[source]¶
- get_format_instructions(only_json: bool = False) str[source]¶
Get format instructions for the output parser.
example: ```python from langchain.output_parsers.structured import (
StructuredOutputParser, ResponseSchema
)
- response_schemas = [
- ResponseSchema(
name=”foo”, description=”a list of strings”, type=”List[string]” ),
- ResponseSchema(
name=”bar”, description=”a string”, type=”string” ),
]
parser = StructuredOutputParser.from_response_schemas(response_schemas)
print(parser.get_format_instructions())
output: # The output should be a Markdown code snippet formatted in the following # schema, including the leading and trailing “
`json" and "`”: # # ```json # { # “foo”: List[string] // a list of strings # “bar”: string // a string # }- Parameters
only_json (bool) – If True, only the json in the Markdown code snippet will be returned, without the introducing text. Defaults to False.
- invoke(input: str | langchain.schema.messages.BaseMessage, config: langchain.schema.runnable.RunnableConfig | None = None) T¶
- parse(text: str) Any[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: PromptValue) Any¶
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.