Home / File/ __init__.py — langchain Source File

__init__.py — langchain Source File

Architecture documentation for __init__.py, a python file in the langchain codebase. 10 imports, 0 dependents.

File python OutputParsing StreamingParsers 10 imports 3 functions

Entity Profile

Dependency Diagram

graph LR
  9e905e98_d092_40db_6421_ab6d874dd752["__init__.py"]
  8e2034b7_ceb8_963f_29fc_2ea6b50ef9b3["typing"]
  9e905e98_d092_40db_6421_ab6d874dd752 --> 8e2034b7_ceb8_963f_29fc_2ea6b50ef9b3
  923d222e_e249_1c30_4cfe_3c907f050b78["langchain_core._import_utils"]
  9e905e98_d092_40db_6421_ab6d874dd752 --> 923d222e_e249_1c30_4cfe_3c907f050b78
  fc383c03_4b29_7c03_c489_626a968d8d03["langchain_core.output_parsers.base"]
  9e905e98_d092_40db_6421_ab6d874dd752 --> fc383c03_4b29_7c03_c489_626a968d8d03
  d45ff838_1238_0965_d3b7_5b33a0452ec0["langchain_core.output_parsers.json"]
  9e905e98_d092_40db_6421_ab6d874dd752 --> d45ff838_1238_0965_d3b7_5b33a0452ec0
  e2506531_acbb_2ada_3335_6574849e4389["langchain_core.output_parsers.list"]
  9e905e98_d092_40db_6421_ab6d874dd752 --> e2506531_acbb_2ada_3335_6574849e4389
  e621cf3d_5d65_d51d_0d81_469c2c9e4846["langchain_core.output_parsers.openai_tools"]
  9e905e98_d092_40db_6421_ab6d874dd752 --> e621cf3d_5d65_d51d_0d81_469c2c9e4846
  5751bc83_5d18_f727_5499_728fd52dfe92["langchain_core.output_parsers.pydantic"]
  9e905e98_d092_40db_6421_ab6d874dd752 --> 5751bc83_5d18_f727_5499_728fd52dfe92
  52f47dc8_0343_2bf7_c7f6_1df7a48ca84e["langchain_core.output_parsers.string"]
  9e905e98_d092_40db_6421_ab6d874dd752 --> 52f47dc8_0343_2bf7_c7f6_1df7a48ca84e
  5d37c56a_542f_e309_4416_d58ad5f08a28["langchain_core.output_parsers.transform"]
  9e905e98_d092_40db_6421_ab6d874dd752 --> 5d37c56a_542f_e309_4416_d58ad5f08a28
  6ea8ed8c_4ab1_5e30_e53f_6219182045af["langchain_core.output_parsers.xml"]
  9e905e98_d092_40db_6421_ab6d874dd752 --> 6ea8ed8c_4ab1_5e30_e53f_6219182045af
  style 9e905e98_d092_40db_6421_ab6d874dd752 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

"""`OutputParser` classes parse the output of an LLM call into structured data.

!!! tip "Structured output"

    Output parsers emerged as an early solution to the challenge of obtaining structured
    output from LLMs.

    Today, most LLMs support [structured output](https://docs.langchain.com/oss/python/langchain/models#structured-outputs)
    natively. In such cases, using output parsers may be unnecessary, and you should
    leverage the model's built-in capabilities for structured output. Refer to the
    [documentation of your chosen model](https://docs.langchain.com/oss/python/integrations/providers/overview)
    for guidance on how to achieve structured output directly.

    Output parsers remain valuable when working with models that do not support
    structured output natively, or when you require additional processing or validation
    of the model's output beyond its inherent capabilities.
"""

from typing import TYPE_CHECKING

from langchain_core._import_utils import import_attr

if TYPE_CHECKING:
    from langchain_core.output_parsers.base import (
        BaseGenerationOutputParser,
        BaseLLMOutputParser,
        BaseOutputParser,
    )
    from langchain_core.output_parsers.json import (
        JsonOutputParser,
        SimpleJsonOutputParser,
    )
    from langchain_core.output_parsers.list import (
        CommaSeparatedListOutputParser,
        ListOutputParser,
        MarkdownListOutputParser,
        NumberedListOutputParser,
    )
    from langchain_core.output_parsers.openai_tools import (
        JsonOutputKeyToolsParser,
        JsonOutputToolsParser,
        PydanticToolsParser,
    )
    from langchain_core.output_parsers.pydantic import PydanticOutputParser
    from langchain_core.output_parsers.string import StrOutputParser
    from langchain_core.output_parsers.transform import (
        BaseCumulativeTransformOutputParser,
        BaseTransformOutputParser,
    )
    from langchain_core.output_parsers.xml import XMLOutputParser

__all__ = [
    "BaseCumulativeTransformOutputParser",
    "BaseGenerationOutputParser",
    "BaseLLMOutputParser",
    "BaseOutputParser",
    "BaseTransformOutputParser",
    "CommaSeparatedListOutputParser",
    "JsonOutputKeyToolsParser",
    "JsonOutputParser",
    "JsonOutputToolsParser",
    "ListOutputParser",
    "MarkdownListOutputParser",
    "NumberedListOutputParser",
    "PydanticOutputParser",
    "PydanticToolsParser",
    "SimpleJsonOutputParser",
    "StrOutputParser",
    "XMLOutputParser",
]

_dynamic_imports = {
    "BaseLLMOutputParser": "base",
    "BaseGenerationOutputParser": "base",
    "BaseOutputParser": "base",
    "JsonOutputParser": "json",
    "SimpleJsonOutputParser": "json",
    "ListOutputParser": "list",
    "CommaSeparatedListOutputParser": "list",
    "MarkdownListOutputParser": "list",
    "NumberedListOutputParser": "list",
    "JsonOutputKeyToolsParser": "openai_tools",
    "JsonOutputToolsParser": "openai_tools",
    "PydanticToolsParser": "openai_tools",
    "PydanticOutputParser": "pydantic",
    "StrOutputParser": "string",
    "BaseTransformOutputParser": "transform",
    "BaseCumulativeTransformOutputParser": "transform",
    "XMLOutputParser": "xml",
}


def __getattr__(attr_name: str) -> object:
    module_name = _dynamic_imports.get(attr_name)
    result = import_attr(attr_name, module_name, __spec__.parent)
    globals()[attr_name] = result
    return result


def __dir__() -> list[str]:
    return __all__

Domain

Subdomains

Dependencies

  • langchain_core._import_utils
  • langchain_core.output_parsers.base
  • langchain_core.output_parsers.json
  • langchain_core.output_parsers.list
  • langchain_core.output_parsers.openai_tools
  • langchain_core.output_parsers.pydantic
  • langchain_core.output_parsers.string
  • langchain_core.output_parsers.transform
  • langchain_core.output_parsers.xml
  • typing

Frequently Asked Questions

What does __init__.py do?
__init__.py is a source file in the langchain codebase, written in python. It belongs to the OutputParsing domain, StreamingParsers subdomain.
What functions are defined in __init__.py?
__init__.py defines 3 function(s): __dir__, __getattr__, langchain_core.
What does __init__.py depend on?
__init__.py imports 10 module(s): langchain_core._import_utils, langchain_core.output_parsers.base, langchain_core.output_parsers.json, langchain_core.output_parsers.list, langchain_core.output_parsers.openai_tools, langchain_core.output_parsers.pydantic, langchain_core.output_parsers.string, langchain_core.output_parsers.transform, and 2 more.
Where is __init__.py in the architecture?
__init__.py is located at libs/core/langchain_core/output_parsers/__init__.py (domain: OutputParsing, subdomain: StreamingParsers, directory: libs/core/langchain_core/output_parsers).

Analyze Your Own Codebase

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

Try Supermodel Free