langchain_community.memory.zep_memory
.ZepMemory¶
- class langchain_community.memory.zep_memory.ZepMemory[source]¶
-
将您的链历史记录持久化到 Zep MemoryStore。
Zep 返回的消息数量以及 Zep 服务器何时总结聊天记录是可配置的。有关更多详细信息,请参阅 Zep 文档。
示例
- memory = ZepMemory(
session_id=session_id, # 标识您的用户或用户的会话 url=ZEP_API_URL, # 您的 Zep 服务器 URL api_key=<your_api_key>, # 可选 memory_key=”history”, # 确保这与链的提示模板中使用的键匹配
# 链的提示模板
- return_messages=True, # 您的提示模板是否期望字符串
# 或消息列表?
)
- chain = LLMChain(memory=memory,…) # 配置您的链以使用 ZepMemory
实例
注意
要将元数据与您的聊天记录一起持久化,您需要创建一个
自定义 Chain 类,该类覆盖 prep_outputs 方法以在调用 self.memory.save_context 时包含元数据。
Zep - 用于 LLM 应用的快速、可扩展的构建块¶
Zep 是一个开源平台,用于生产化 LLM 应用。在几分钟内从 LangChain 或 LlamaIndex 中构建的原型或自定义应用过渡到生产环境,而无需重写代码。
有关服务器安装说明和更多信息,请参阅:https://docs.getzep.com/deployment/quickstart/
有关 zep-python 包的更多信息,请参阅:https://github.com/getzep/zep-python
初始化 ZepMemory。
- param session_id
标识您的用户或用户的会话
- type session_id
str
- param url
您的 Zep 服务器 URL。默认为“http://localhost:8000”。
- type url
str,可选
- param api_key
您的 Zep API 密钥。默认为 None。
- type api_key
Optional[str],可选
- param output_key
用于输出消息的键。默认为 None。
- type output_key
Optional[str],可选
- param input_key
用于输入消息的键。默认为 None。
- type input_key
Optional[str],可选
- param return_messages
您的提示模板是否期望字符串或消息列表?默认为 False,即返回字符串。
- type return_messages
bool,可选
- param human_prefix
用于人类消息的前缀。默认为“Human”。
- type human_prefix
str,可选
- param ai_prefix
用于 AI 消息的前缀。默认为“AI”。
- type ai_prefix
str,可选
- param memory_key
用于内存的键。默认为“history”。确保这与链的提示模板中使用的键匹配。
- type memory_key
str,可选
- param ai_prefix: str = 'AI'¶
- param chat_memory: ZepChatMessageHistory [Required]¶
- param human_prefix: str = 'Human'¶
- param input_key: Optional[str] = None¶
- param output_key: Optional[str] = None¶
- param return_messages: bool = False¶
- async abuffer() Any ¶
内存的字符串缓冲区。
- 返回类型
Any
- async abuffer_as_messages() List[BaseMessage] ¶
如果 return_messages 为 False,则将缓冲区公开为消息列表。
- 返回类型
List[BaseMessage]
- async abuffer_as_str() str ¶
如果 return_messages 为 True,则将缓冲区公开为字符串。
- 返回类型
str
- async aclear() None ¶
清除内存内容。
- 返回类型
None
- async aload_memory_variables(inputs: Dict[str, Any]) Dict[str, Any] ¶
返回给定链的文本输入的键值对。
- 参数
inputs (Dict[str, Any]) –
- 返回类型
Dict[str, Any]
- async asave_context(inputs: Dict[str, Any], outputs: Dict[str, str]) None ¶
将此对话的上下文保存到缓冲区。
- 参数
inputs (Dict[str, Any]) –
outputs (Dict[str, str]) –
- 返回类型
None
- clear() None ¶
清除内存内容。
- 返回类型
None
- load_memory_variables(inputs: Dict[str, Any]) Dict[str, Any] ¶
返回历史缓冲区。
- 参数
inputs (Dict[str, Any]) –
- 返回类型
Dict[str, Any]
- save_context(inputs: Dict[str, Any], outputs: Dict[str, str], metadata: Optional[Dict[str, Any]] = None) None [source]¶
将此对话的上下文保存到缓冲区。
- 参数
inputs (Dict[str, Any]) – 链的输入。
outputs (Dict[str, str]) – 链的输出。
metadata (Optional[Dict[str, Any]], optional) – 要与上下文一起保存的任何元数据。默认为 None
- 返回
None
- 返回类型
None
- property buffer: Any¶
内存的字符串缓冲区。
- property buffer_as_messages: List[BaseMessage]¶
如果 return_messages 为 False,则将缓冲区公开为消息列表。
- property buffer_as_str: str¶
如果 return_messages 为 True,则将缓冲区公开为字符串。