langchain_community.chat_message_histories.zep.ZepChatMessageHistory

class langchain_community.chat_message_histories.zep.ZepChatMessageHistory(session_id: str, url: str = 'http://localhost:8000', api_key: Optional[str] = None)[source]

使用Zep作为后端的聊天消息历史记录。

推荐用法:

# 设置Zep聊天历史记录
zep_chat_history = ZepChatMessageHistory(
    session_id=session_id,
    url=ZEP_API_URL,
    api_key=<your_api_key>,
)

# 使用标准的ConversationBufferMemory封装Zep聊天历史记录
memory = ConversationBufferMemory(
    memory_key="chat_history", chat_memory=zep_chat_history
)

Zep为LLM应用程序提供长期对话存储。服务器存储、总结、嵌入、索引和丰富对话式AI聊天历史记录,并通过简单、低延迟的API公开它们。

有关服务器安装说明和更多信息,请参见: https://docs.getzep.com/deployment/quickstart/

该类是对zep-python包的轻量级封装。通过`zep_summary`和`zep_messages`属性公开了额外的Zep功能。

有关zep-python包的更多信息,请参见: https://github.com/getzep/zep-python

Attributes

messages

从 Zep 存储器中检索消息

zep_messages

从Zep内存中检索摘要

zep_summary

从Zep内存中检索摘要

Methods

__init__(session_id[, url, api_key])

aadd_messages(messages)

将消息异步附加到Zep内存历史记录

aclear()

清除Zep中的会话内存,异步执行。 请注意,Zep是用于内存的长期存储,除非您有特定的数据保留要求,否则不建议这样做。

add_ai_message(message[, metadata])

便利方法,用于将AI消息字符串添加到存储中。

add_message(message[, metadata])

将消息附加到Zep内存历史记录中。

add_messages(messages)

将消息附加到Zep内存历史记录中。

add_user_message(message[, metadata])

方便的方法,用于向存储添加人类消息字符串。

aget_messages()

异步版本的获取消息。

clear()

清除Zep中的会话内存。请注意,Zep是用于存储内存的长期存储,除非您有特定的数据保留要求,否则不建议这样做。

search(query[, metadata, search_scope, ...])

在Zep内存中搜索与查询匹配的消息

Parameters
  • session_id (str) –

  • url (str) –

  • api_key (Optional[str]) –

Return type

None

__init__(session_id: str, url: str = 'http://localhost:8000', api_key: Optional[str] = None) None[source]
Parameters
  • session_id (str) –

  • url (str) –

  • api_key (Optional[str]) –

Return type

None

async aadd_messages(messages: Sequence[BaseMessage]) None[source]

将消息异步附加到Zep内存历史记录

Parameters

messages (Sequence[BaseMessage]) –

Return type

None

async aclear() None[source]

清除Zep中的会话内存,异步执行。 请注意,Zep是用于内存的长期存储,除非您有特定的数据保留要求,否则不建议这样做。

Return type

None

add_ai_message(message: str, metadata: Optional[Dict[str, Any]] = None) None[source]

便利方法,用于将AI消息字符串添加到存储中。

参数:

message:AI消息的字符串内容。 metadata:要附加到消息的可选元数据。

Parameters
  • message (str) –

  • metadata (Optional[Dict[str, Any]]) –

Return type

None

add_message(message: BaseMessage, metadata: Optional[Dict[str, Any]] = None) None[source]

将消息附加到Zep内存历史记录中。

Parameters
  • message (BaseMessage) –

  • metadata (Optional[Dict[str, Any]]) –

Return type

None

add_messages(messages: Sequence[BaseMessage]) None[source]

将消息附加到Zep内存历史记录中。

Parameters

messages (Sequence[BaseMessage]) –

Return type

None

add_user_message(message: str, metadata: Optional[Dict[str, Any]] = None) None[source]

方便的方法,用于向存储添加人类消息字符串。

参数:

message: 人类消息的字符串内容。 metadata: 要附加到消息的可选元数据。

Parameters
  • message (str) –

  • metadata (Optional[Dict[str, Any]]) –

Return type

None

async aget_messages() List[BaseMessage]

异步版本的获取消息。

可以重写此方法以提供高效的异步实现。

通常,获取消息可能涉及到与底层持久化层的IO操作。

Return type

List[BaseMessage]

clear() None[source]

清除Zep中的会话内存。请注意,Zep是用于存储内存的长期存储,除非您有特定的数据保留要求,否则不建议这样做。

Return type

None

search(query: str, metadata: Optional[Dict] = None, search_scope: SearchScope = SearchScope.messages, search_type: SearchType = SearchType.similarity, mmr_lambda: Optional[float] = None, limit: Optional[int] = None) List[MemorySearchResult][source]

在Zep内存中搜索与查询匹配的消息

Parameters
  • query (str) –

  • metadata (Optional[Dict]) –

  • search_scope (SearchScope) –

  • search_type (SearchType) –

  • mmr_lambda (Optional[float]) –

  • limit (Optional[int]) –

Return type

List[MemorySearchResult]