大模型和任务型对话系统如何结合

基于大模型如何做任务型对话/对话管理

论文1:使用function calling的方法基于LLM做DST

论文:https://arxiv.org/abs/2402.10466

在这篇论文中,作者提出了一种新颖的方法,将对话状态跟踪(Dialogue State Tracking, DST)视为函数调用(Function Calling),以实现大型语言模型(LLMs)在零样本(zero-shot)情况下的DST。这种方法的核心思想是将每个任务导向对话(TOD)领域的模式视为一个特定的函数,而该领域的槽值(slot values)则作为该函数的参数。下面是这种方法的实现步骤:

image-20240307110741096

image-20240307110851407

image-20240307111049730

  1. 函数定义:首先,作者将每个对话领域的模式定义为一个独特的函数(例如,酒店预订、餐厅查询等)。这些函数的描述和所需参数(即槽值)被转换成函数规格说明。
  2. 系统提示(System Prompt):在LLM的系统提示中嵌入这些函数规格说明。系统提示是一个对话格式的一部分,它定义了助手(assistant)的角色、责任和预期行为。
  3. 函数调用过程:在对话过程中,模型被引导生成函数调用,这包括确定要调用的函数名称(即领域)以及为该函数生成相应的参数(即槽值)。这个过程分为两个阶段:
    • 函数/领域选择:模型首先从支持的函数列表中选择一个函数。
    • 参数/信念状态生成:然后,模型为选定的函数生成相应的参数。
  4. 上下文提示(In-context Prompting):为了确保模型能够正确生成函数调用的格式,作者在系统提示中包含了上下文示例对话。这些示例对话展示了如何在对话中正确地调用函数。
  5. 模型微调(Model Fine-tuning):为了使开源模型具备函数调用能力,作者对一个13B参数的LLaMA2-Chat模型进行了微调,使用了来自不同TOD数据集的7,200个对话样本。这些样本覆盖了36个不同的领域,但故意排除了目标测试数据集。微调过程中,模型的损失计算仅关注助手生成中的函数调用部分。
  6. 实验结果:通过这种方法,即使是中等规模的开源模型也能在零样本情况下实现与先进ChatGPT模型相当的性能。此外,通过微调,作者还展示了如何使模型在保持聊天能力的同时,具备与ChatGPT相当的函数调用DST性能。

这种方法的关键在于将DST任务与助手的输出无缝集成,使得LLMs能够在执行聊天任务的同时,有效地跟踪和更新对话状态。通过这种方式,LLMs能够在没有特定领域数据的情况下,适应并执行多种任务导向对话。

论文2:使用大模型做DST的生成
  • 论文链接 https://arxiv.org/abs/2304.06556
  • 讲解链接: https://hub.baai.ac.cn/view/32378

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

本文和上文区别:本文没对大模型微调,直接用prompt实现目的。使用的prompt如下:

image-20240307115832289

image-20240307115901800

最终生成响应的prompt

image-20240308182832442

论文3:diagGPT https://arxiv.org/pdf/2308.08043

image-20240522115909848

本文介绍了一种名为DiagGPT的多智能体AI系统,具有自动话题管理能力,可增强其在任务导向对话场景中的实用性。DiagGPT具有以下特点:自动话题管理、任务导向对话、多智能体系统。该系统旨在引导用户完成特定目标并在对话过程中协助他们完成任务。它具有主动提问的能力,可以自动管理话题并有效地参与围绕当前话题的讨论。

DiagGPT的工作流程包括四个阶段:

1)分析用户查询,预测当前对话的主题

2)维护主题堆栈。将主题对话存储入栈

3)根据对话做检索来丰富内容

4)生成回复。根据主题的引导提示,结合检索到的丰富的内容,来生成回复。

总结

三种方法

都是基于prompt

1.prompt中定义大量可分类的domain标签,每种标签含有的样例。走对话系统nlu常规步骤,domain分类,意图分类,slot提取等。

缺点:需要很复杂的prompt,写的未必完善。需要多次调用llm

2.prompt中定义每种query下可以调用的functioncall。

3.也是基于prompt,可以管理对话主题,实现更丰富的话题流转。面向某个具体领域,没有细分的domain类别。

  • 17
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值