Skip to the content.

240823-聊天机器人

Message History

聊天机器人的关键在于管理对话历史,在 langchain 中,可以通过 RunnableWithMessageHistory 来实现。

RunnableWithMessageHistory 是 LangChain 中用于管理对话历史的关键类。它允许在多个会话中有效地管理对话历史,提供连贯和上下文相关的响应。以下是 RunnableWithMessageHistory 的主要参数及其作用:

  1. chain: 要运行的链或可运行对象。这是处理输入并生成输出的核心组件。
  2. get_session_history: 函数,接收 session_id 并返回 BaseChatMessageHistory 对象。用于存储和检索特定会话的消息历史。
  3. input_messages_key: 字符串,指定输入字典中包含消息的键名。告诉 RunnableWithMessageHistory 在哪里找到新的输入消息。
  4. history_messages_key: 可选,字符串,指定输出字典中存储历史消息的键名。如果不指定,历史消息将直接添加到输入消息中。
  5. output_messages_key: 可选,字符串,指定输出字典中存储新生成消息的键名。如果不指定,新消息将直接添加到历史消息中。

code: RunnableWithMessageHistory

Managing Chat History

管理对话历史的关键在于使用 trim_messages 来修剪消息历史,以保持对话的清晰和相关性。

trim_messages 对象有以下参数及其作用:

这些参数允许灵活地控制如何修剪和管理对话历史,以确保保留最相关的信息,同时保持历史的简洁性和效率。

code: ManagingConversationHistory