Home / Function/ parse() — langchain Function Reference

parse() — langchain Function Reference

Architecture documentation for the parse() function in base.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  8c121d4b_613e_c49b_ff2d_343e311f21b1["parse()"]
  6605de10_a777_2f31_c097_c8959e1f5cd1["StructuredQueryOutputParser"]
  8c121d4b_613e_c49b_ff2d_343e311f21b1 -->|defined in| 6605de10_a777_2f31_c097_c8959e1f5cd1
  a1a96dfd_ae4c_e804_cc3c_fa1f0626d568["from_components()"]
  a1a96dfd_ae4c_e804_cc3c_fa1f0626d568 -->|calls| 8c121d4b_613e_c49b_ff2d_343e311f21b1
  style 8c121d4b_613e_c49b_ff2d_343e311f21b1 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

libs/langchain/langchain_classic/chains/query_constructor/base.py lines 51–69

    def parse(self, text: str) -> StructuredQuery:
        try:
            expected_keys = ["query", "filter"]
            allowed_keys = ["query", "filter", "limit"]
            parsed = parse_and_check_json_markdown(text, expected_keys)
            if parsed["query"] is None or len(parsed["query"]) == 0:
                parsed["query"] = " "
            if parsed["filter"] == "NO_FILTER" or not parsed["filter"]:
                parsed["filter"] = None
            else:
                parsed["filter"] = self.ast_parse(parsed["filter"])
            if not parsed.get("limit"):
                parsed.pop("limit", None)
            return StructuredQuery(
                **{k: v for k, v in parsed.items() if k in allowed_keys},
            )
        except Exception as e:
            msg = f"Parsing text\n{text}\n raised following error:\n{e}"
            raise OutputParserException(msg) from e

Subdomains

Called By

Frequently Asked Questions

What does parse() do?
parse() is a function in the langchain codebase, defined in libs/langchain/langchain_classic/chains/query_constructor/base.py.
Where is parse() defined?
parse() is defined in libs/langchain/langchain_classic/chains/query_constructor/base.py at line 51.
What calls parse()?
parse() is called by 1 function(s): from_components.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free