跳转到内容

序列化

langchain_core.load.dump.dumpd

dumpd(obj: Any) -> Any

返回一个对象的字典表示形式。

参数 描述
obj

要转储的对象。

类型: Any

返回 描述
任意

可以使用 `json.dumps` 序列化为 json 的字典。

langchain_core.load.dump.dumps

dumps(obj: Any, *, pretty: bool = False, **kwargs: Any) -> str

返回一个对象的 JSON 字符串表示形式。

参数 描述
obj

要转储的对象。

类型: Any

pretty

是否美化打印 json。如果为 `True`,json 将使用 2 个空格进行缩进(如果在 `kwargs` 中没有提供 indent 参数)。

类型: bool 默认值: False

**kwargs

传递给 `json.dumps` 的额外参数

类型: Any 默认值: {}

返回 描述
str

该对象的 JSON 字符串表示形式。

引发 描述
ValueError

如果 `default` 作为关键字参数传递。

langchain_core.load.load.load

load(
    obj: Any,
    *,
    secrets_map: dict[str, str] | None = None,
    valid_namespaces: list[str] | None = None,
    secrets_from_env: bool = True,
    additional_import_mappings: dict[tuple[str, ...], tuple[str, ...]] | None = None,
    ignore_unserializable_fields: bool = False,
) -> Any

从一个 JSON 对象中恢复一个 LangChain 类。

如果您已经有一个解析过的 JSON 对象,例如来自 `json.load` 或 `orjson.loads`,请使用此函数。

参数 描述
obj

要加载的对象。

类型: Any

secrets_map

要加载的密钥映射。如果映射中未找到某个密钥,并且 `secrets_from_env` 为 True,则将从环境中加载该密钥。

类型: dict[str, str] | None 默认值: None

valid_namespaces

允许进行反序列化的附加命名空间(模块)列表。

类型: list[str] | None 默认值: None

secrets_from_env

是否从环境中加载密钥。

类型: bool 默认值: True

additional_import_mappings

额外的命名空间映射字典。您可以使用此参数来覆盖默认映射或添加新映射。

类型: dict[tuple[str, ...], tuple[str, ...]] | None 默认值: None

ignore_unserializable_fields

是否忽略不可序列化的字段。

类型: bool 默认值: False

返回 描述
任意

已恢复的 LangChain 对象。

langchain_core.load.load.loads

loads(
    text: str,
    *,
    secrets_map: dict[str, str] | None = None,
    valid_namespaces: list[str] | None = None,
    secrets_from_env: bool = True,
    additional_import_mappings: dict[tuple[str, ...], tuple[str, ...]] | None = None,
    ignore_unserializable_fields: bool = False,
) -> Any

从一个 JSON 字符串中恢复一个 LangChain 类。

等同于 `load(json.loads(text))`。

参数 描述
text

要加载的字符串。

类型: str

secrets_map

要加载的密钥映射。如果映射中未找到某个密钥,并且 `secrets_from_env` 为 True,则将从环境中加载该密钥。

类型: dict[str, str] | None 默认值: None

valid_namespaces

允许进行反序列化的附加命名空间(模块)列表。

类型: list[str] | None 默认值: None

secrets_from_env

是否从环境中加载密钥。

类型: bool 默认值: True

additional_import_mappings

额外的命名空间映射字典。您可以使用此参数来覆盖默认映射或添加新映射。

类型: dict[tuple[str, ...], tuple[str, ...]] | None 默认值: None

ignore_unserializable_fields

是否忽略不可序列化的字段。

类型: bool 默认值: False

返回 描述
任意

已恢复的 LangChain 对象。

langchain_core.load.serializable.Serializable

基类: BaseModel, ABC

可序列化的基类。

该类用于将对象序列化为 JSON。

它依赖于以下方法和属性:

  • is_lc_serializable:此​​类是否可序列化?根据设计,即使一个类继承自 `Serializable`,它默认也不是可序列化的。这是为了防止意外序列化不应被序列化的对象。
  • get_lc_namespace:获取 LangChain 对象的命名空间。

    在反序列化过程中,此命名空间用于识别要实例化的正确类。

    有关更多详细信息,请参阅 `langchain_core.load.load` 中的 `Reviver` 类。在反序列化期间,会有一个额外的映射来处理跨包版本移动或重命名的类。

  • lc_secrets:构造函数参数名称到密钥 ID 的映射。

  • lc_attributes:应包含在序列化表示形式中的附加属性名称列表。
方法 描述
__init__
is_lc_serializable

这个类是否可序列化?

get_lc_namespace

获取 LangChain 对象的命名空间。

lc_id

为此类返回一个用于序列化目的的唯一标识符。

to_json

将对象序列化为 JSON。

to_json_not_implemented

序列化一个“未实现”的对象。

lc_secrets property

lc_secrets: dict[str, str]

构造函数参数名称到密钥 ID 的映射。

例如,{"openai_api_key": "OPENAI_API_KEY"}

lc_attributes property

lc_attributes: dict

应包含在序列化 kwargs 中的属性名称列表。

这些属性必须被构造函数接受。

默认为空字典。

__init__

__init__(*args: Any, **kwargs: Any) -> None

is_lc_serializable classmethod

is_lc_serializable() -> bool

这个类是否可序列化?

根据设计,即使一个类继承自 Serializable,它默认也是不可序列化的。这是为了防止意外序列化不应被序列化的对象。

返回 描述
bool

类是否可序列化。默认为 False

get_lc_namespace classmethod

get_lc_namespace() -> list[str]

获取 LangChain 对象的命名空间。

例如,如果类是 langchain.llms.openai.OpenAI,那么命名空间是 ["langchain", "llms", "openai"]

返回 描述
list[str]

命名空间。

lc_id classmethod

lc_id() -> list[str]

为此类返回一个用于序列化目的的唯一标识符。

唯一标识符是一个描述对象路径的字符串列表。

例如,对于类 langchain.llms.openai.OpenAI,id 是 ["langchain", "llms", "openai", "OpenAI"]

to_json

to_json() -> SerializedConstructor | SerializedNotImplemented

将对象序列化为 JSON。

引发 描述
ValueError

如果类有已弃用的属性。

返回 描述
SerializedConstructor | SerializedNotImplemented

一个可 JSON 序列化的对象或一个 SerializedNotImplemented 对象。

to_json_not_implemented

to_json_not_implemented() -> SerializedNotImplemented

序列化一个“未实现”的对象。

返回 描述
SerializedNotImplemented

SerializedNotImplemented.

© . This site is unofficial and not affiliated with LangChain, Inc.