V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
hmxxmh
V2EX  ›  程序员

dify agent 智能体疑问

  •  
  •   hmxxmh · 9 天前 · 1597 次点击

    想请问一下大家,在做智能体的时候,怎么进行意图识别优化的? 实测发现,在单轮对话或者多轮对话用户输入意图明确的时候,意图识别非常准确 但是遇到 多轮对话,用户输入: 嗯 ok 这样吧 等一下模糊词语的时候,意图识别就不准了 我的尝试:

    • 1 、把历史上下文信息都放到对话中 -- 会遇到 tokens 超过大模型上下文长度的情况
    • 2 、用滑动窗口,只保留近几次对话 -- 会遇到信息丢失的情况,用户突然问第一次对话的信息就嗝屁了
    • 3 、每次对话用大模型进行提炼总结,然后把总结信息放到对话中 -- 不是很准,在遇到有歧义的词语或者语境的时候还是会分错
    • 想知道大家都是怎么做的,或者业界对于意图识别是怎么进行优化。
    13 条回复    2025-04-16 16:35:34 +08:00
    shyr0ck
        1
    shyr0ck  
       9 天前
    能详细说一下你要怎么做意图识别吗?
    是从对话上下文归纳到几个选项上吗?
    aaronlam
        2
    aaronlam  
       9 天前
    最近也在做相关场景的应用,所想到的解决方法和楼主也很相似。。。
    但是效果都差强人意,而且如果按第 1 种,对于大模型的 token 消耗也是很可观的量。
    rexyan
        3
    rexyan  
       9 天前
    23 结合起来,超过窗口的部分进行总结
    wyntalgeer
        4
    wyntalgeer  
       9 天前
    embedding 模型对意图识别的能力非常有限,还是要从文档内容上下功夫,把意图判断这一块加到文档里
    ChristopherY
        5
    ChristopherY  
       9 天前
    memory bank 以及后续的一系列技术应该就是用来解决这类问题的
    ChristopherY
        6
    ChristopherY  
       9 天前
    memory bank 以及后续的一系列技术应该就是用来解决这类问题的
    leehaoze98
        7
    leehaoze98  
       9 天前   ❤️ 1
    2 ,3 结合,其实不一定需要用大模型提炼总结,可以结合你具体的业务场景,将历史对话信息沉淀到一个结构化的数据结构里存储起来,每次调用大模型给他最近几轮对话,以及这个数据结构就可以。

    举个例子,用户对话中提选择了某某方式,大模型输出时调用一个工具,将这个信息沉淀到你的数据结构里,后续对话大模型也记得这个选择。
    conn457567
        8
    conn457567  
       9 天前 via Android
    mem0 之类的组件就是用来处理长短期记忆的
    conn457567
        9
    conn457567  
       9 天前 via Android
    基本就是 2 3 的思路,短期记忆只保留之后 3 轮,多余的都通过 AI 压缩到第一轮里面,然后如果要回忆更久之前的记忆就需要搜索长期记忆,长期记忆其实就是一个向量库
    hmxxmh
        10
    hmxxmh  
    OP
       8 天前 via Android
    @shyr0ck 对,通过提示词,给大模型设定好角色,然后告诉他有哪些类别,每个类别提供一段描述和示例
    hmxxmh
        11
    hmxxmh  
    OP
       8 天前 via Android
    @rexyan 怎么总结也是一门学问,现在提炼了发现效果不明显,大模型还是会理解不了,可能是我的提示词有问题
    hmxxmh
        12
    hmxxmh  
    OP
       8 天前 via Android
    @ChristopherY 谢谢,我学习一下
    hmxxmh
        13
    hmxxmh  
    OP
       8 天前 via Android
    @conn457567 长期记忆和向量库怎么结合,是要把历史信息存到向量库里面,再进行检索召回吗
    VtoEXL
        14
    VtoEXL  
       8 天前
    我们也有个类似的需求,一步步引导用户完成一个最终操作,整个流程都是顺序过来的,用 dify 还没有很好的思路
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1376 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 23:53 · PVG 07:53 · LAX 16:53 · JFK 19:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.