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