Reviver(
self,
allowed_objects: Iterable[AllowedObject] | Literal['all', 'core']| Name | Type | Description |
|---|---|---|
allowed_objects | Iterable[AllowedObject] | Literal['all', 'core'] | Default: 'core'Allowlist of classes that can be deserialized.
|
secrets_map | dict[str, str] | None | Default: None |
valid_namespaces | list[str] | None | Default: None |
secrets_from_env | bool | Default: False |
additional_import_mappings | dict[tuple[str, ...], tuple[str, ...]] | None | Default: None |
ignore_unserializable_fields | bool | Default: False |
init_validator | InitValidator | None | Default: default_init_validator |
Reviver for JSON objects.
Used as the object_hook for json.loads to reconstruct LangChain objects from
their serialized JSON representation.
Only classes in the allowlist can be instantiated.
A map of secrets to load.
Only include the specific secrets the serialized object
requires. If a secret is not found in the map, it will be loaded
from the environment if secrets_from_env is True.
Additional namespaces (modules) to allow during deserialization, beyond the default trusted namespaces.
Whether to load secrets from the environment.
A crafted payload can name arbitrary environment variables in
its secret fields, so enabling this on untrusted data can leak
sensitive values. Keep this False (the default) unless the
serialized data is fully trusted.
A dictionary of additional namespace mappings.
You can use this to override default mappings or add new mappings.
When allowed_objects is None (using defaults), paths from these
mappings are also added to the allowed class paths.
Whether to ignore unserializable fields.
Optional callable to validate kwargs before instantiation.
If provided, this function is called with (class_path, kwargs) where
class_path is the class path tuple and kwargs is the kwargs dict.
The validator should raise an exception if the object should not be
deserialized, otherwise return None.
Defaults to default_init_validator which blocks jinja2 templates.