ZepMemory#

class langchain_community.memory.zep_memory.ZepMemory[来源]#

基础类:ConversationBufferMemory

将您的链历史记录持久化到Zep MemoryStore。

Zep 返回的消息数量以及 Zep 服务器汇总聊天历史的时间是可配置的。有关更多详细信息,请参阅 Zep 文档。

文档:https://docs.getzep.com

示例


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 的示例