chatglm2外挂知识库问答的简单实现

2023-11-18

一、背景

大语言模型应用未来一定是开发热点,现在一个比较成功的应用是外挂知识库。相比chatgpt这个知识库比较庞大,效果比较好的接口。外挂知识库+大模型的方式可以在不损失太多效果的条件下获得数据安全。

二、原理

现在比较流行的一个方案是langchain+chatglm,这已经算是一个成品了,也可以考虑自己上手捏一下泥巴,langchain学习成本有点高,可以直接利用prompt来完成问问题会简单很多。具体方案我参考了这个文章:大模型外挂(向量)知识库 - 知乎 (zhihu.com) 基本的思路简化成这张图

大模型外挂(向量)知识库

 简单的说就是根据用户问题,从知识库获取与“问题”相关的“文档片段”, 让大模型根据文档片段来回答“问题”。其实这种根据指定内容回答问题的模型也是挺成熟的,至少huggingface上就有很多,只不过那些模型是根据BERT模型+QA数据集微调好的。我们相信chatglm这类大模型理解问题和总结内容的能力一定更强。

这里就涉及到一个如何获取“问题”相关的“文档片段”的过程了,其实可以直接用文本检索方式,但传统的全文检索由于是词的匹配,因此对纯粹的问句效果可能不好。因此现在主流的方式是用向量匹配,就是把“问题”和知识库的文本都转成向量,再用向量的近似搜索获取更为相关的结果。

应用这种方式会很容易想到一个问题,也是上面知乎文章中提到的对称语义检索。即一定会把与“问题”接近的语句作为第一返回,它只是文字表述和问题一样,但并不是问题的答案。例如

也许这不是个问题,因为谁会在知识库里留下大量问句呢?或者你可以通过预处理把问题和大量正文绑定起来就不会匹配出“问题”了。所以使用向量的效果到底比纯粹的全文检索是否更好我也不清楚,毕竟检索效果还和预处理时候文本片段的切割、向量转换、向量最近邻查询效果 有关系。

三、实现

这里我直接使用了text2vec + chromadb简单实现。text2vec负责对文本转为向量, chromadb负责进行向量检索。

text2vec地址在shibing624/text2vec-base-chinese · Hugging Face ,预训练模型不算大

chromadb是一个新出的向量数据库,很多功能不完善,只是为了快速地体验一下向量存储检索功能, 本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)


chatglm2外挂知识库问答的简单实现 的相关文章

随机推荐

  • USB转串口那些事儿—USB转串口工作原理及应用

    一 简介 USB转串口即实现计算机USB接口到物理串口之间的转换 可以为没有串口的计算机或其他USB主机增加串口 使用USB转串口设备等于将传统的串口设备变成了即插即用的USB设备 USB虚拟串口应用特点 USB应用广泛 支持热插拔 传输速
  • Postman接口测试——我看过最详细+全面的文章教程了【转载】

    Postman简介 一般简单的接口测试我们可以直接在浏览器里面进行调试 但是涉及到一些权限设置的就无法操作了 因此我们需要接口测试的相关工具 Postman 是一个接口测试和 http 请求的工具 官网地址 https www getpos
  • Mac电脑花屏

    原因 GPU 加速导致 和电脑的独显有关 解决办法 打开谷歌浏览器 点击上图的三个点 选择设置 在高级设置中选择系统 关掉硬件加速模式
  • 十大优秀编程项目,让你的简历金光闪闪

    全文共3241字 预计学习时长6分钟 被问到如何学习编程时 最常听到的问题就是 有没有什么新项目的好点子 一些老套的答案有 做一个象棋游戏 或者 命令行界面 这些答案没有错 但这些例子不符合现代编程的需要 现代软件编写需要经常使用软件服务化
  • 【华为OD机试真题2023B卷 JAVA&JS】阿里巴巴找黄金宝箱(V)

    华为OD2023 B卷 机试题库全覆盖 刷题指南点这里 阿里巴巴找黄金宝箱 V 知识点数组哈希表滑窗 时间限制 1s 空间限制 256MB 限定语言 不限 题目描述 一贫如洗的樵夫阿里巴巴在去砍柴的路上 无意中发现了强盗集团的藏宝地 藏宝地
  • 尤克里里整理

    尤克里里 如何按弦 如何弹奏 带数字的四线谱 如何按弦 如何弹奏 带数字的四线谱 数字代表品格数 1就是1品 2就是2品 数字标记在几弦上面 就按住几弦的几品
  • 计算机毕设项目 大数据个性化音乐推荐算法分析

    文章目录 0 前言 1 研究目的 2 研究方法 2 1 传统推荐算法 2 2 基于LightGBM决策树模型的推荐算法 3 研究结论 0 前言 基于大数据个性化音乐推荐算法分析 提示 适合用于课程设计或毕业设计 工作量达标 源码开放 项目分
  • 告别卡顿,教你正确清理手机APP缓存垃圾,释放空间

    智能手机已经成为我们生活中不可或缺的重要工具 让我们随时随地保持联系 获取信息和娱乐 但是 使用过多的应用程序可能会导致手机变得缓慢并占用存储空间 这些应用程序产生大量的缓存和垃圾文件 如果不及时清理 将会影响手机的性能和速度 今天 我们将
  • 集团如何实现数字化转型?永洪BI助力由由集团

    随着 互联网 的边界不断拓宽 生活性服务业正驶入数字化转型快车道 中国信息通信研究院发布的 中国数字经济发展报告 2022 显示 2021年 我国数字经济发展取得新突破 数字经济规模达到45 5万亿元 占 GDP 比重达到39 8 三大产业
  • Chrome中安装扩展的三种方式

    chrome浏览器安装扩展有多种方式 请看以下介绍 1 从chrome网上应用商店安装 优雅法 在google chrome中打开chrome网上应用商店 https chrome google com webstore 搜索需要的扩展 在
  • 详解list.toArray(new String[0])

    List
  • 使用树莓派(raspberry pi)搭建网站(nginx+php+mysql+ddclient)

    标签 树莓派 raspberrypi php 网站 mysql 分类 Linux技术 最近在研究学习PHP 有时候想随时就学习 所以就决定搭建一个网站 随时可以进行学习 因为要24小时在线 要低功耗和安静 所以选择了树莓派 我们开始吧 ng
  • 四元素与旋转矩阵

    如何描述三维空间中刚体的旋转 是个有趣的问题 具体地说 就是刚体上的任意一个点P x y z 围绕过原点的轴 i j k 旋转 求旋转后的点P x y z 旋转矩阵 旋转矩阵乘以点P的齐次坐标 得到旋转后的点P 因此旋转矩阵可以描述旋转 x
  • 数据治理-数据质量-数据质量管理方法和工具

    常用质量管理工具 目前 在质量管理领域 有一系列常用的数据质量管理工具 主要分为传统的质量管理工具 新的质量管理工具和其他质量管理工具 传统的质量管理七大工具 传统的七种工具包含分层法 检查表 帕累托图 因果分析图 直方图 散布图 控制图
  • 2017最新整理深度学习神经网络算法全套

    https pan baidu com s 1cHGAv0 from groupmessage adapt pc fr ftw list path 2F
  • 基于node.js 实现百度ai人脸检测功能(api)

    基于node js 实现百度ai人脸检测功能 api 很有幸和老师同学们一起尝试学习百度ai的相关技术文档 自己做了一个很ez的人脸检测的小网页 和大家分享一下 百度ai技术文档 百度ai人脸检测技术文档 1 首先根据技术文档中的要求我们要
  • Object SLAM: An Object SLAM Framework for Association, Mapping, and High-Level Tasks 论文解读

    是一篇来自机器人顶刊T RO的文章 发表于2023 5 An Object SLAM Framework for Association Mapping and High Level Tasks 论文 An Object SLAM Fram
  • 问题十:关于application.loadlevel和SceneManager.LoadScene调用后新场景会变暗的问题

    根据百度贴吧的帖子 来到http answers unity3d com questions 919940 applicationloadlevel changes lighting for some rea html 这篇文章说他重新lo
  • Linux与Windows的常见差异

    Linux与Windows的常见差异 一 在Linux上顺理成章 换到Windows上就可能令人费解的事 二 一些Linux的使用技巧 三 一些Windows的使用技巧 一 在Linux上顺理成章 换到Windows上就可能令人费解的事 命
  • chatglm2外挂知识库问答的简单实现

    一 背景 大语言模型应用未来一定是开发热点 现在一个比较成功的应用是外挂知识库 相比chatgpt这个知识库比较庞大 效果比较好的接口 外挂知识库 大模型的方式可以在不损失太多效果的条件下获得数据安全 二 原理 现在比较流行的一个方案是la