资讯 社区 文档
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术

UserSession类

简介

会话数据管理工具,实例化后将是一个全局变量。提供保存对话数据与获取历史数据的方法。

应用场景

必须在 AgentRuntime 启动的服务中使用。

Python基本用法

1、实例化

UserSession().__init__ -> UserSession

方法参数

参数名称 参数类型 描述 示例值
user_session_config sqlalchemy.engine.URL、str、None Session 输出存储配置字符串。默认使用 sqlite:///user_session.db "正确的存储配置字符串"

方法功能

初始化 UserSession

示例代码

user_session = UserSession()

2、获取同个 session 中名为 key 的历史变量

UserSession().get_history(self, key: str, limit: int=10) -> List[Message]:

方法参数

参数名称 参数类型 描述 示例值
key String 历史变量 "answer"
limit int 最近 limit 条 Message 数据 10

方法功能

获取同个 session 中名为 key 的历史变量。在非服务化版本中从内存获取。在服务化版本中,将从数据库获取。

方法返回值

List[Message]

衍生类Message定义如下:

class Message(BaseModel, Generic[_T], extra=Extra.allow):
    content: Optional[_T] = {}
    name: Optional[str] = "msg"
    mtype: Optional[str] = "dict"
    id: Optional[str] = str(uuid.uuid4())

示例代码

history_queries = user_session.get_history("query", limit=1)

3、将 message_dict 中的变量保存到 session 中

UserSession().append(self, message_dict: Dict[str, Message]) -> None

方法参数

参数名称 参数类型 描述 示例值
message_dict Dict 包含 Message 的字典,其中键为字符串类型,值为 Message 类型 {"query": message}

方法功能

将 message_dict 中的变量保存到 session 中。在非服务化版本中使用内存存储。在服务化版本中,将使用数据库进行存储。

示例代码

user_session.append({
            "query": message,
            "answer": answer,
        }) 

4、UserSession结合AgentRuntime使用以及user_session.db文件读取

上一篇
Phoneix可视化软件的进阶用法
下一篇
服务与交流