对话树例子
可以参见 “快速开始” 中的方法来使用下列对话树和知识库的例子
120急救电话
- 简介
- 该对话树模拟一个120急救电话服务的对话流程
- 用户通过拨打120急救电话寻求帮助,系统需要快速获取用户的相关信息(如伤情或病情、具体地点、联系电话号码等),并根据这些信息提供相应的建议或者将信息传递给后端系统以派遣救护车
- 同时在整个过程中,系统可以根据用户的输入,随时提供 “急救知识” 知识库的相关知识,并根据 “#开始#” 节点中的 “应对话术” 属性进行反馈,而不会打断对话流程的逻辑
- 该对话树的设计重点在于如何快速有效地获取用户的相关信息,并在用户提供的信息不够具体或者不符合要求时,能够通过合理的提示引导用户提供更具体或者正确的信息,同时也要注意在适当的时候转接人工服务以保证用户的需求能够得到满足
- 同时该对话树的很多节点都有 “执行前” 或 “执行后” 属性函数可以设置断点,方便调试
- 最后,可以在服务器的项目目录下,执行 “python ./ichatdef/firstapp/py_chattree/120.py” 生成 “120.html”,下载到本地用浏览器打开,即可看到整个对话树的拓扑结构及相关代码信息
- 更多信息见 Python 对话树文件中的代码注释
- 下载
急救知识问答
- 简介
- 该对话树可以进行急救知识的问答
- 核心是一个 “#多轮交互#” 节点,用户可以在这个节点中不断地提出关于急救知识的问题,系统会根据用户的问题在 “急救知识” 知识库(在 “#开始#” 节点中指向的)中寻找相关的信息并进行回答
- 如果用户的问题在知识库中没有找到相关信息,系统会给出一个默认的提示语,引导用户提出其它相关的问题
- 最后,可以在服务器的项目目录下,执行 “python ./ichatdef/firstapp/py_chattree/急救知识问答.py” 生成 “急救知识问答.html”,下载到本地用浏览器打开,即可看到整个对话树的拓扑结构及相关代码信息
- 更多信息见 Python 对话树文件中的代码注释
- 下载
- Python 对话树:急救知识问答.py(注意:下载后一定将文件名命名为 “急救知识问答.py”)
- Python 对话树的 HTML 交互图:急救知识问答.html(注意:下载后一定将文件名命名为 “急救知识问答.html”)
- 知识库:急救知识.md(注意:下载后一定将文件名命名为 “急救知识.md”)
医院挂号
- 简介
- 该对话树模拟进行就诊挂号,用户通过与医院挂号机器人进行对话,提供相关的就诊信息(如就诊科室、就诊日期、就诊时间等)
- 该对话树的核心是 “#多轮交互#” 节点,特别是其中 “执行函数” 属性指向的 check_registered_info() 函数:该函数会在每轮对话时被执行,根据用户提供的信息进行校验,并给出相应的提示(通过 {_多轮交互动态提示词_} 系统信息项)引导用户提供正确或者更具体的信息,直到满足挂号条件或者出现系统异常等情况需要退出
- 这种以 “#多轮交互#” 节点为核心实现的业务逻辑,仅仅适合于需要采集的信息项比较少的情况(如本对话树中只有 3 个),如果需要采集的信息项比较多,或者信息项之间的逻辑关系比较复杂,则需要使用若干 “#单次交互#” 节点来实现,具体见 “商旅平台.py” / “商旅平台_预订机票.py” 对话树
- 同时在整个过程中,系统可根据用户的输入随时提供 “急救知识、医院就诊与挂号指南” 知识库的相关知识,而不会打断对话流程的逻辑
- 最后,可以在服务器的项目目录下,执行 “python ./ichatdef/firstapp/py_chattree/医院挂号.py” 生成 “医院挂号.html”,下载到本地用浏览器打开,即可看到整个对话树的拓扑结构及相关代码信息
- 更多信息见 Python 对话树文件中的代码注释
- 下载
- Python 对话树:医院挂号.py(注意:下载后一定将文件名命名为 “医院挂号.py”)
- Python 对话树的 HTML 交互图:医院挂号.html(注意:下载后一定将文件名命名为 “医院挂号.html”)
- 知识库:急救知识、医院就诊与挂号指南.zip(注意:下载后一定将文件名命名为 “急救知识、医院就诊与挂号指南.zip”)
商旅平台
- 简介
- 该对话树模拟进行商旅平台进行机票、酒店、火车的预订、改签和退订等服务
- 其中主要具体实现了最复杂的机票预订业务,通过子对话树 “商旅平台_机票预订.py” 实现,本文件中主要基于具有 “主题” 信息项修饰的节点 first_question_node 完成用户具体业务的划分和分别处理
- 其余的业务都只进行了简单的示意处理
- 同时在整个过程中,系统可以根据用户的输入,随时提供 “商旅平台产品预订及退改签规则说明书” 知识库的相关知识、以及 “#开始#” 节点中定义的 “动态参考信息” 的知识,并根据 “#开始#” 节点中的 “应对话术” 进行反馈,而不会打断对话流程的逻辑
- 最后,可以在服务器的项目目录下,执行 “python ./ichatdef/firstapp/py_chattree/商旅平台.py” 生成 “商旅平台.html”,下载到本地用浏览器打开,即可看到整个对话树的拓扑结构及相关代码信息
- 更多信息见 Python 对话树文件中的代码注释
- 下载
- Python 对话树:商旅平台.py(注意:下载后一定将文件名命名为 “商旅平台.py”)
- Python 对话树的 HTML 交互图:商旅平台.html(注意:下载后一定将文件名命名为 “商旅平台.html”)
- Python 对话树:商旅平台_预订机票.py(注意:下载后一定将文件名命名为 “商旅平台_预订机票.py”)
- Python 对话树的 HTML 交互图:商旅平台_预订机票.html(注意:下载后一定将文件名命名为 “商旅平台_预订机票.html”)
- 知识库:商旅平台产品预订及退改签规则说明书.md(注意:下载后一定将文件名命名为 “商旅平台产品预订及退改签规则说明书.md”)