camel.storages.key_value_storages 包#
子模块#
camel.storages.key_value_storages.base 模块#
- class camel.storages.key_value_storages.base.BaseKeyValueStorage[来源]#
基类:
ABC一个用于键值存储系统的抽象基类。提供保存、加载和清除数据记录的一致接口,且不会丢失任何信息。
一个抽象基类,旨在作为各种键值存储系统的基础。该类主要通过Python字典进行交互。
这个类旨在被多种键值存储实现继承,包括但不限于JSON文件存储、NoSQL数据库(如MongoDB和Redis)以及内存中的Python字典。
camel.storages.key_value_storages.in_memory 模块#
camel.storages.key_value_storages.json 模块#
- class camel.storages.key_value_storages.json.CamelJSONEncoder(*, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, sort_keys=False, indent=None, separators=None, default=None)[来源]#
基类:
JSONEncoder一个用于序列化特定枚举类型的自定义JSON编码器。 确保枚举类型可以存储到JSON格式中并从JSON格式中检索。
- CAMEL_ENUMS: ClassVar[Dict[str, EnumMeta]] = {'ModelType': <enum 'ModelType'>, 'OpenAIBackendRole': <enum 'OpenAIBackendRole'>, 'RoleType': <enum 'RoleType'>, 'TaskType': <enum 'TaskType'>}#
- class camel.storages.key_value_storages.json.JsonStorage(path: Path | None = None)[来源]#
-
一个基于JSON文件的具体
BaseKeyValueStorage实现。允许以人类可读的格式持久化存储记录。- Parameters:
path (Path, 可选) – 目标JSON文件的路径。如果为None, 将使用默认路径./chat_history.json。 (默认值:
None)
camel.storages.key_value_storages.redis 模块#
- class camel.storages.key_value_storages.redis.RedisStorage(sid: str, url: str = 'redis://localhost:6379', loop: AbstractEventLoop | None = None, **kwargs)[来源]#
-
一个基于Redis后端的
BaseCacheStorage具体实现。这适用于需要持久化和高可用性的分布式缓存系统。- property client: Redis | None#
返回Redis客户端实例。
- Returns:
Redis客户端实例。
- Return type:
redis.asyncio.Redis
模块内容#
- class camel.storages.key_value_storages.BaseKeyValueStorage[来源]#
基类:
ABC一个用于键值存储系统的抽象基类。提供保存、加载和清除数据记录的一致接口,且不会丢失任何信息。
一个抽象基类,旨在作为各种键值存储系统的基础。该类主要通过Python字典进行交互。
这个类旨在被多种键值存储实现继承,包括但不限于JSON文件存储、NoSQL数据库(如MongoDB和Redis)以及内存中的Python字典。
- class camel.storages.key_value_storages.CamelJSONEncoder(*, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, sort_keys=False, indent=None, separators=None, default=None)[来源]#
基类:
JSONEncoder一个用于序列化特定枚举类型的自定义JSON编码器。 确保枚举类型可以存储到JSON格式中并从JSON格式中检索。
- CAMEL_ENUMS: ClassVar[Dict[str, EnumMeta]] = {'ModelType': <enum 'ModelType'>, 'OpenAIBackendRole': <enum 'OpenAIBackendRole'>, 'RoleType': <enum 'RoleType'>, 'TaskType': <enum 'TaskType'>}#
- class camel.storages.key_value_storages.InMemoryKeyValueStorage[来源]#
-
BaseKeyValueStorage的具体实现,使用内存中的列表。非常适合临时存储用途,因为当程序结束时数据将会丢失。
- class camel.storages.key_value_storages.JsonStorage(path: Path | None = None)[来源]#
-
BaseKeyValueStorage的具体实现,使用JSON文件。允许以人类可读的格式持久化存储记录。- Parameters:
path (Path, optional) – 目标JSON文件的路径。如果为None, 将使用默认路径./chat_history.json。 (默认值:
None)
- class camel.storages.key_value_storages.Mem0Storage(agent_id: str, api_key: str | None = None, user_id: str | None = None, metadata: Dict[str, Any] | None = None)[来源]#
-
BaseKeyValueStorage的具体实现,使用Mem0作为后端。该存储系统利用Mem0的文本功能来存储、搜索和管理带上下文的文本。- Parameters:
agent_id (str) - 默认关联记忆的代理ID。
api_key (str, optional) – 用于身份验证的API密钥。如果未提供,将尝试从环境变量MEM0_API_KEY获取(默认:
None)。user_id (str, optional) – 默认关联记忆的用户ID (默认值:
None).metadata (Dict[str, Any], optional) - 默认包含在所有记忆中的元数据(默认:
None)。
参考文献
- class camel.storages.key_value_storages.RedisStorage(sid: str, url: str = 'redis://localhost:6379', loop: AbstractEventLoop | None = None, **kwargs)[来源]#
-
一个基于Redis后端的
BaseCacheStorage具体实现。这适用于需要持久化和高可用性的分布式缓存系统。- property client: Redis | None#
返回Redis客户端实例。
- Returns:
Redis客户端实例。
- Return type:
redis.asyncio.Redis