序列化
langchain_core.load.dump.dumpd ¶
langchain_core.load.dump.dumps ¶
返回一个对象的 JSON 字符串表示形式。
| 参数 | 描述 |
|---|---|
obj
|
要转储的对象。
类型: |
pretty
|
是否美化打印 json。如果为 `True`,json 将使用 2 个空格进行缩进(如果在 `kwargs` 中没有提供 indent 参数)。
类型: |
**kwargs
|
传递给 `json.dumps` 的额外参数
类型: |
| 返回 | 描述 |
|---|---|
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
|
要加载的对象。
类型: |
secrets_map
|
要加载的密钥映射。如果映射中未找到某个密钥,并且 `secrets_from_env` 为 True,则将从环境中加载该密钥。 |
valid_namespaces
|
允许进行反序列化的附加命名空间(模块)列表。 |
secrets_from_env
|
是否从环境中加载密钥。
类型: |
additional_import_mappings
|
额外的命名空间映射字典。您可以使用此参数来覆盖默认映射或添加新映射。 |
ignore_unserializable_fields
|
是否忽略不可序列化的字段。
类型: |
| 返回 | 描述 |
|---|---|
任意
|
已恢复的 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
|
要加载的字符串。
类型: |
secrets_map
|
要加载的密钥映射。如果映射中未找到某个密钥,并且 `secrets_from_env` 为 True,则将从环境中加载该密钥。 |
valid_namespaces
|
允许进行反序列化的附加命名空间(模块)列表。 |
secrets_from_env
|
是否从环境中加载密钥。
类型: |
additional_import_mappings
|
额外的命名空间映射字典。您可以使用此参数来覆盖默认映射或添加新映射。 |
ignore_unserializable_fields
|
是否忽略不可序列化的字段。
类型: |
| 返回 | 描述 |
|---|---|
任意
|
已恢复的 LangChain 对象。 |
langchain_core.load.serializable.Serializable ¶
可序列化的基类。
该类用于将对象序列化为 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 ¶
构造函数参数名称到密钥 ID 的映射。
例如,{"openai_api_key": "OPENAI_API_KEY"}
is_lc_serializable classmethod ¶
is_lc_serializable() -> bool
这个类是否可序列化?
根据设计,即使一个类继承自 Serializable,它默认也是不可序列化的。这是为了防止意外序列化不应被序列化的对象。
| 返回 | 描述 |
|---|---|
bool
|
类是否可序列化。默认为 |
get_lc_namespace classmethod ¶
lc_id classmethod ¶
为此类返回一个用于序列化目的的唯一标识符。
唯一标识符是一个描述对象路径的字符串列表。
例如,对于类 langchain.llms.openai.OpenAI,id 是 ["langchain", "llms", "openai", "OpenAI"]。
to_json ¶
将对象序列化为 JSON。
| 引发 | 描述 |
|---|---|
ValueError
|
如果类有已弃用的属性。 |
| 返回 | 描述 |
|---|---|
SerializedConstructor | SerializedNotImplemented
|
一个可 JSON 序列化的对象或一个 |
to_json_not_implemented ¶
序列化一个“未实现”的对象。
| 返回 | 描述 |
|---|---|
SerializedNotImplemented
|
|