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 amdelete(keys: Sequence[K]) None[source]

删除给定的键及其关联的值。

参数

keys (Sequence[K]) –

返回类型

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]]

mdelete(keys: Sequence[K]) None[来源]

删除给定的键及其关联的值。

参数

keys (Sequence[K]) –

返回类型

None

mget(keys: Sequence[K]) List[Optional[V]][source]

获取与给定键相关联的值。

参数

keys (Sequence[K]) –

返回类型

List<Optional<V>>

mset(key_value_pairs: Sequence[Tuple[K, V]]) None[source]

为给定的键设置值。

参数

key_value_pairs (Sequence[Tuple[K, V]]) –

返回类型

None

yield_keys(*, prefix: Optional[str] = None) Union[IteratorK], [Iterator[str]]][source]

获取匹配给定前缀的键的迭代器。

参数

prefix (Optional[str]) –

返回类型

Union[Iterator[K], Iterator[str]]