langchain.storage.encoder_backed
.EncoderBackedStore¶
- class langchain.storage.encoder_backed.EncoderBackedStore(store: BaseStore[str, Any], key_encoder: Callable[[K], str], value_serializer: Callable[[V], bytes], value_deserializer: Callable[[Any], V])[source]¶
将存储与键值编码/解码器包装起来。
使用JSON进行编码/解码的示例
import json def key_encoder(key: int) -> str: return json.dumps(key) def value_serializer(value: float) -> str: return json.dumps(value) def value_deserializer(serialized_value: str) -> float: return json.loads(serialized_value) # Create an instance of the abstract store abstract_store = MyCustomStore() # Create an instance of the encoder-backed store store = EncoderBackedStore( store=abstract_store, key_encoder=key_encoder, value_serializer=value_serializer, value_deserializer=value_deserializer ) # Use the encoder-backed store methods store.mset([(1, 3.14), (2, 2.718)]) values = store.mget([1, 2]) # Retrieves [3.14, 2.718] store.mdelete([1, 2]) # Deletes the keys 1 and 2
初始化一个EncodedStore。
方法
__init__
(store, key_encoder, ...)初始化一个EncodedStore。
amdelete
(keys)删除给定的键及其关联的值。
amget
(keys)获取与给定键相关联的值。
amset
(key_value_pairs)为给定的键设置值。
ayield_keys
(*[, prefix])获取匹配给定前缀的键的迭代器。
mdelete
(keys)删除给定的键及其关联的值。
mget
(keys)获取与给定键相关联的值。
mset
(key_value_pairs)为给定的键设置值。
yield_keys
(*[, prefix])获取匹配给定前缀的键的迭代器。
- 参数
store (BaseStore[str, Any]) –
key_encoder (Callable[[K], str]) –
value_serializer (Callable[[V], bytes]) –
value_deserializer (Callable[[Any], V]) –
- __init__(store: BaseStore[str, Any], key_encoder: Callable[[K], str], value_serializer: Callable[[V], bytes], value_deserializer: Callable[[Any], V]) None [source]¶
初始化一个EncodedStore。
- 参数
store (BaseStore[str, Any]) –
key_encoder (Callable[[K], str]) –
value_serializer (Callable[[V], bytes]) –
value_deserializer (Callable[[Any], V]) –
- 返回类型
None
- async amget(keys: Sequence[K]) List[Optional[V]] [来源]¶
获取与给定键相关联的值。
- 参数
keys (Sequence[K]) –
- 返回类型
List<Optional<V>>
- async amset(key_value_pairs: Sequence[Tuple[K, V]]) None [来源]¶
为给定的键设置值。
- 参数
key_value_pairs (Sequence[Tuple[K, V]]) –
- 返回类型
None
- async ayield_keys(*, prefix: Optional[str] = None) Union[AsyncIterator[K], AsyncIterator[str]] [来源]¶
获取匹配给定前缀的键的迭代器。
- 参数
prefix (Optional[str]) –
- 返回类型
Union[AsyncIterator[K], AsyncIterator[str]]
- mget(keys: Sequence[K]) List[Optional[V]] [source]¶
获取与给定键相关联的值。
- 参数
keys (Sequence[K]) –
- 返回类型
List<Optional<V>>