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) # 创建抽象存储的实例 abstract_store = MyCustomStore() # 创建支持编码器的存储的实例 store = EncoderBackedStore( store=abstract_store, key_encoder=key_encoder, value_serializer=value_serializer, value_deserializer=value_deserializer ) # 使用支持编码器的存储方法 store.mset([(1, 3.14), (2, 2.718)]) values = store.mget([1, 2]) # 检索 [3.14, 2.718] store.mdelete([1, 2]) # 删除键1和2
初始化一个EncodedStore。
Methods
__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])获取与给定前缀匹配的键的迭代器。
- Parameters
store (BaseStore[str, Any]) –
key_encoder (Callable[[K], str]) –
value_serializer (Callable[[V], bytes]) –
value_deserializer (Callable[[Any], V]) –
- Return type
None
- __init__(store: BaseStore[str, Any], key_encoder: Callable[[K], str], value_serializer: Callable[[V], bytes], value_deserializer: Callable[[Any], V]) None [source]¶
初始化一个EncodedStore。
- Parameters
store (BaseStore[str, Any]) –
key_encoder (Callable[[K], str]) –
value_serializer (Callable[[V], bytes]) –
value_deserializer (Callable[[Any], V]) –
- Return type
None
- async amdelete(keys: Sequence[K]) None [source]¶
删除给定的键及其关联的值。
- Parameters
keys (Sequence[K]) –
- Return type
None
- async amget(keys: Sequence[K]) List[Optional[V]] [source]¶
获取与给定键相关联的值。
- Parameters
keys (Sequence[K]) –
- Return type
List[Optional[V]]
- async amset(key_value_pairs: Sequence[Tuple[K, V]]) None [source]¶
设置给定键的值。
- Parameters
key_value_pairs (Sequence[Tuple[K, V]]) –
- Return type
None
- async ayield_keys(*, prefix: Optional[str] = None) Union[AsyncIterator[K], AsyncIterator[str]] [source]¶
获取与给定前缀匹配的键的迭代器。
- Parameters
prefix (Optional[str]) –
- Return type
Union[AsyncIterator[K], AsyncIterator[str]]
- mdelete(keys: Sequence[K]) None [source]¶
删除给定的键及其关联的值。
- Parameters
keys (Sequence[K]) –
- Return type
None
- mget(keys: Sequence[K]) List[Optional[V]] [source]¶
获取与给定键相关联的值。
- Parameters
keys (Sequence[K]) –
- Return type
List[Optional[V]]