当前位置: 首页 > news >正文

基于LangChat搭建RAG与Function Call结合的聊天机器人方案

#简述流程思路

  • 用户提问 → 意图识别(是否需要动态数据) →

    • 需要动态数据: 调用Function获取数据 → LLM生成回答

    • 不需要动态数据: 向量检索 → 重排 → LLM生成回答

#使用到的技术组件

开发语言: python

向量数据库: milvus (docker部署单机版) 

        存储所有知识库文档的 BEG-Base-ZH-V1 向量

        支持快速近似最近邻搜索(ANN)

向量嵌入模型: beg-base-zh-v1   cross_encoder 

        beg轻量对中文较为友好 适用于大规模检索场景 (点积或余弦相似度来衡量匹配程度)

        cor精度高 适合小范围本文进一步做相似度对比

其他:

        langChat框架作为核心控制器

        业务端提供HTTP REST API作为Function Call数据源

        fastapi 部署为web项目

        LLM 通过ollama调用Qwen1.5-0.5B  在线deepseekv3 

#流程图 

#关键点

意图识别的方式 

1 可以利用小参数模型 通过 问题原文本+定义的funcation参数 发送一次LLM ,通过相应内是否包含 tool_call信息判断; --我的实现方式 使用的是 Qwen1.5-0.5B 

2  关键词匹配 规则或正则表达式判断关键词  (如“天气”、“订单号”等)

3 分词 , nlp语义相似度 , 如果与关键词近似值>0.95以上 可以认为是有意图

RAG提升准确度

stup1: 用户问题 ==> Embedding ==> milvus索引 ==> 相似度排序取前10条

stup2: 用户问题 依次和 向量结果集的原文本 精细对比 再取前3条

ps: milvus存储 文档向量时, 切片的原文也要一并存储关联!!! 

总结:

  1. 搭建 Milvus 并导入知识库;
  2. 配置好 Embedding 和 Cross-Encoder;
  3. 实现意图识别模块;
  4. 用 LangChain 构建完整的问答链;
  5. 多轮对话状态管理;

 

http://www.lryc.cn/news/575000.html

相关文章:

  • 前端使用rtsp视频流接入海康威视摄像头
  • QT 学习笔记摘要(三)
  • HCIA-IP路由基础
  • C++ 多线程深度解析:掌握并行编程的艺术与实践
  • 基于CMS的黄道吉日万年历源码(自适应)
  • 商务年度总结汇报PPT模版分享
  • 板凳-------Mysql cookbook学习 (十--10)
  • LeetCode 3258.统计满足K约束的子字符串数量1
  • HTML表单元素
  • 线性结构之链表
  • 深度学习实战112-基于大模型Qwen+RAG+推荐算法的作业互评管理系统设计与实现
  • 机器学习01
  • SpringBoot高校党务系统
  • SpringBoot项目快速开发框架JeecgBoot——数据访问!
  • ros (二) 使用消息传递点云+rviz显示
  • Happy-LLM-Task06 :3.1 Encoder-only PLM
  • C++设计模式(GOF-23)——04 C++装饰器模式(Decorator)(一个类同时继承和组合另一个类)解决类爆炸问题、模板装饰器
  • python3文件操作
  • Node.js特训专栏-实战进阶:8. Express RESTful API设计规范与实现
  • python的智慧养老院管理系统
  • klayout db::edge 里的 crossed_by_point 的坑点
  • mbedtls ssl handshake error,res:-0x2700
  • 从零开始的云计算生活——第二十三天,稍作休息,Tomcat
  • Excel数据转SQL语句(增删改查)
  • 阿里云Web应用防火墙3.0使用CNAME接入传统负载均衡CLB
  • DDNS-GO 使用教程:快速搭建属于自己的动态域名解析服务(Windows 版)
  • 大语言模型的通用局限性与全球技术演进
  • React Native【实战范例】账号管理(含转换分组列表数据的封装,分组折叠的实现,账号的增删改查,表单校验等)
  • 【版本控制教程】如何使用Unreal Engine 5 + UE源代码控制(Perforce P4)
  • 【GPU RAM】实时监控GPU内存分配(一)