对话类请求常常需要会话能力,保存消息记录、并用作模型上下文。会话管理提供了多会话的管理能力,可以管理静态会话和动态会话。
在人工智能领域,消息(Message)和会话(Conversation)是两个相互关联但又有所区别的概念:
和低代码智能体对话,或者调用发起对话 API 时,扣子编程会自动创建会话,并将用户输入和模型输出的消息保存到会话中。但在扣子编程搭建对话类的低代码应用时,你需要自行创建一个对话流和会话,编排对话的后端处理流程。你可以在低代码应用中创建空会话,并绑定对话流,对话流执行时用户输入和对话流输出会作为消息保存在此会话中,再次执行对话流时,这些已保存的消息可以作为上下文传递给大模型节点,以便模型生成更符合对话语境的回复。
此外,扣子编程还提供了一系列会话和消息节点,帮助你管理会话与消息:
说明
在低代码应用中,会话分为以下两种:
创建会话后,会话默认为空,执行对话流并绑定此会话,对话流生成的一问一答两条消息会自动写入到这个对话中。
每个低代码应用都有一个名为 Default 的默认静态会话,不可被删除或重命名。在低代码应用中创建对话流时,你也可以根据页面提示,创建一个和对话流同名的会话,并绑定这个对话流。该会话会作为对话流 CONVERSATION_NAME 入参的默认值,即运行对话流时默认绑定此会话。
你也可以在会话管理页面直接创建一个静态会话,直接创建的会话默认和任何对话流都没有绑定关系。
在工作流和对话流运行过程中,如果运行到创建会话节点,系统会自动创建一个动态会话。
在应用中试运行对话流之后,扣子编程会自动将这一次对话写入到对话流开始节点 CONVERSATION_NAME 参数指定的会话中,作为此会话中最新的消息。你可以在对话流的会话管理页面查看某个会话中已写入的全部消息。
在低代码应用正式发布后,用户与低代码应用交互产生的线上对话数据将写入指定会话中。低代码应用所有者或低代码应用所在空间的成员可以在工作空间中找到该低代码应用,在其会话管理页面的 API、Chat SDK 或扣子页签中,查看自己与低代码应用的线上对话记录。目前,会话管理中仅支持展示 API、Chat SDK 或扣子商店渠道的线上会话数据。其他渠道的会话数据,可在发布管理页面的日志页签中查看,详情请参考查看运行日志。
当不再需要使用某个会话时,可以在会话管理页面删除指定会话,删除会话时也会同步删除会话中的所有消息。
说明
此外,你也可以通过批量操作按钮,一键批量删除多个会话。