LLM 会话管理器

语义会话管理器

class SemanticSessionManager(name, session_tag=None, prefix=None, vectorizer=None, distance_threshold=0.3, redis_client=None, redis_url='redis://localhost:6379', connection_kwargs={}, overwrite=False, **kwargs)

基地:BaseSessionManager

使用 index 初始化会话内存

Session Manager 存储当前和以前的用户文本提示和 LLM 响应,以允许使用 session 丰富未来的提示 上下文。会话历史记录存储在单个用户或 LLM 提示符中,并且 反应。

  • 参数:
    • namestr) – 会话管理器索引的名称。
    • session_tag可选 [ str ]) – 要添加到条目以链接到特定 会期。默认为实例 ULID。
    • prefixOptional [ str ]) – 此会话数据的键的前缀。 默认为 None ,并将替换为索引名称。
    • vectorizerOptional [ BaseVectorizer ]) – 用于创建嵌入的矢量化器。
    • distance_thresholdfloat) – 最大语义距离 包含在上下文中。默认值为 0.3。
    • redis_clientOptional [ Redis ]) – 一个 Redis 客户端实例。默认为 没有。
    • redis_urlstr optional) – redis url。默认为 redis://localhost:6379。
    • connection_kwargsDict [ str Any ]) – 连接参数 对于 Redis 客户端。默认为空 {}。
    • overwritebool) – 是否强制覆盖 语义会话索引。默认为 false。

提议的架构将支持构造的单个向量嵌入 从单个字符串中的 prompt 或 response 中。

add_message(message, session_tag=None)

将单个提示或响应插入会话内存。 时间戳与它相关联,以便以后可以对其进行排序 检索后按顺序排序。

  • 参数:
    • messageDict [ str *,*str ]) – 用户提示或 LLM 响应。
    • session_tag可选 [ str ]) – 要添加到条目以链接到特定 会期。默认为实例 ULID。
  • 返回类型:没有

add_messages(messages, session_tag=None)

将提示和响应列表插入会话内存。 时间戳与每个 Cookie 相关联,以便以后可以对其进行排序 检索后按顺序排序。

  • 参数:
    • messagesList [ Dict [ str str ] ]) – 用户提示和 LLM 响应的列表。
    • session_tag可选 [ str ]) – 要添加到条目以链接到特定 会期。默认为实例 ULID。
  • 返回类型:没有

clear()

清除聊天会话历史记录。

  • 返回类型:没有

delete()

清除所有对话键并删除搜索索引。

  • 返回类型:没有

drop(id=None)

从对话历史记录中删除特定交流。

  • 参数:idOptional [ str ]) – 要删除的会话条目的 ID。 如果为 None,则删除最后一个条目。
  • 返回类型:没有

get_recent(top_k=5, as_text=False, raw=False, session_tag=None)

按顺序检索最近的对话历史记录。

  • 参数:
    • top_kint) – 要返回的先前交换的数量。默认值为 5。
    • as_textbool) – 是否将对话作为单个字符串返回, 或交替提示和响应的列表。
    • rawbool) – 是返回完整的 Redis 哈希条目,还是仅返回 提示和响应
    • session_tag可选 [ str ]) – 要添加到条目以链接到特定 会期。默认为实例 ULID。
  • 返回:
    会话的单个字符串转录
    或 list of strings 如果 as_text 为 false。
  • 返回类型:联合 [str, 列表[str]]
  • 引发: ValueError – 如果 top_k 不是大于或等于 0 的整数。

get_relevant(prompt, as_text=False, top_k=5, fall_back=False, session_tag=None, raw=False, distance_threshold=None)

在聊天历史记录中搜索语义相关的信息 指定的提示符。

此方法使用向量相似性搜索,并带有文本提示作为输入。 它检查语义相似的提示和响应,并获取 前 k 个最相关的先前提示或响应,包括 context 添加到下一个 LLM 调用。

  • 参数:
    • promptstr) – 要在会话内存中搜索的消息文本
    • as_textbool) – 是否以文本形式返回提示和响应
    • JSON或作为)
    • top_kint) – 要返回的先前消息的数量。默认值为 5。
    • session_tag可选 [ str ]) – 要添加到条目以链接到特定 会期。默认为实例 ULID。
    • distance_thresholdOptional [ float ]) – 语义的阈值 vector distance 的 Vector distance 进行匹配。
    • fall_backbool) – 是否回退到最近的对话历史记录 如果未找到相关上下文。
    • rawbool) – 是返回完整的 Redis 哈希条目,还是仅返回 消息。
  • 返回:字符串列表或 JSON 中包含最相关的提示和响应列表。
  • 返回类型:联合[列表[str], 列表[Dict[str,str]]

引发 ValueError:如果 top_k 不是大于或等于 0 的整数。

store(prompt, response, session_tag=None)

将 prompt:response 对插入会话内存。时间戳 与每条消息相关联,以便以后可以对其进行排序 检索后按顺序排序。

  • 参数:
    • promptstr) – LLM 的用户提示。
    • responsestr) – 相应的 LLM 响应。
    • session_tag可选 [ str ]) – 要添加到条目以链接到特定 会期。默认为实例 ULID。
  • 返回类型:没有

property messages: List[str] | List[Dict[str, str]]

返回完整的聊天历史记录。

StandardSessionManager (标准会话管理器)

class StandardSessionManager(name, session_tag=None, prefix=None, redis_client=None, redis_url='redis://localhost:6379', connection_kwargs={}, **kwargs)

基地:BaseSessionManager

初始化会话内存

Session Manager 存储当前和以前的用户文本提示和 LLM 响应,以允许使用 session 丰富未来的提示 上下文。会话历史记录存储在单个用户或 LLM 提示符中,并且 反应。

  • 参数:
    • namestr) – 会话管理器索引的名称。
    • session_tag可选 [ str ]) – 要添加到条目以链接到特定 会期。默认为实例 ULID。
    • prefixOptional [ str ]) – 此会话数据的键的前缀。 默认为 None ,并将替换为索引名称。
    • redis_clientOptional [ Redis ]) – 一个 Redis 客户端实例。默认为 没有。
    • redis_urlstr optional) – redis url。默认为 redis://localhost:6379。
    • connection_kwargsDict [ str Any ]) – 连接参数 对于 Redis 客户端。默认为空 {}。

提议的架构将支持单个组合向量嵌入 由提示和响应构成的单个字符串。

add_message(message, session_tag=None)

将单个提示或响应插入会话内存。 时间戳与它相关联,以便以后可以对其进行排序 检索后按顺序排序。

  • 参数:
    • messageDict [ str *,*str ]) – 用户提示或 LLM 响应。
    • session_tag可选 [ str ]) – 要添加到条目以链接到特定 会期。默认为实例 ULID。
  • 返回类型:没有

add_messages(messages, session_tag=None)

将提示和响应列表插入会话内存。 时间戳与每个 Cookie 相关联,以便以后可以对其进行排序 检索后按顺序排序。

  • 参数:
    • messagesList [ Dict [ str str ] ]) – 用户提示和 LLM 响应的列表。
    • session_tag可选 [ str ]) – 要添加到条目以链接到特定 会期。默认为实例 ULID。
  • 返回类型:没有

clear()

清除聊天会话历史记录。

  • 返回类型:没有

delete()

清除所有对话键并删除搜索索引。

  • 返回类型:没有

drop(id=None)

从对话历史记录中删除特定交流。

  • 参数:idOptional [ str ]) – 要删除的会话条目的 ID。 如果为 None,则删除最后一个条目。
  • 返回类型:没有

get_recent(top_k=5, as_text=False, raw=False, session_tag=None)

按顺序检索最近的对话历史记录。

  • 参数:
    • top_kint) – 要返回的先前消息的数量。默认值为 5。
    • as_textbool) – 是否将对话作为单个字符串返回, 或交替提示和响应的列表。
    • rawbool) – 是返回完整的 Redis 哈希条目,还是仅返回 提示和响应
    • session_tag可选 [ str ]) – 要添加到条目以链接到特定 会期。默认为实例 ULID。
  • 返回:
    会话的单个字符串转录
    或 list of strings 如果 as_text 为 false。
  • 返回类型:联合 [str, 列表[str]]
  • 引发: ValueError – 如果 top_k 不是大于或等于 0 的整数。

store(prompt, response, session_tag=None)

将 prompt:response 对插入会话内存。时间戳 与每个交易所相关联,以便以后可以对其进行排序 检索后按顺序排序。

  • 参数:
    • promptstr) – LLM 的用户提示。
    • responsestr) – 相应的 LLM 响应。
    • session_tag可选 [ str ]) – 要添加到条目以链接到特定 会期。默认为实例 ULID。
  • 返回类型:没有

property messages: List[str] | List[Dict[str, str]]

返回完整的聊天历史记录。

为本页评分
返回顶部 ↑