langchain_community.memory.zep_memory.ZepMemory

class langchain_community.memory.zep_memory.ZepMemory[source]

基类: ConversationBufferMemory

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

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

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

示例


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,则将缓冲区公开为字符串。

使用 ZepMemory 的示例