利用wenda实现本地多模态数据的知识获取和推理

news2024/10/6 18:28:14

近年来,大型语言模型(LLM)技术取得了令人瞩目的进展,为自然语言处理领域带来了巨大的变革,但是大多数LLM都面临着领域适应性的问题,因为它们使用的数据都是公开的数据,在国内,有很多数据是受到部门保密或隐私限制的。因此,针对特定环境的内容生成是LLM应用中的一个重要方向,实现这一目标,主要有以下几种方法:全量微调、lora微调和LLM模型外挂知识库方法。

在研究清华大学开源的ChatGLM-6B1时,我发现了两个基于该模型的有趣的项目:langchain-ChatGLM:基于 langchain 的 ChatGLM 应用,实现基于可扩展知识库的问答和闻达:大型语言模型调用平台,基于 ChatGLM-6B 实现了类 ChatPDF 功能。我在自己的电脑上部署了这两个项目,发现它们都采用了知识库+脚本的形式为LLM提高生成能力,既考虑了个人和中小企业的资源限制,又保证了知识的安全性和私密性,实现了让小模型获得近似于大模型的生成能力。

在这里介绍一种利用大型语言模型(LLM)实现本地多模态数据的知识获取和推理的方法。本方法基于 wenda 模型,可以读取多模态数据(word、pdf、excel、数据库等),并结合知识库和自动执行脚本为 LLM 提高生成能力。本方法有以下几种模式:

rtst模式,使用 sentence_transformers+faiss 进行索引,支持预先构建索引和运行中构建。
bing模式,使用 cn.bing 搜索,仅国内可用。
bingsite模式,使用 cn.bing 站内搜索,仅国内可用。
fess模式,使用本地部署的 fess 搜索,并进行关键词提取。
mix模式,融合以上四种模式。
简单来说,就是利用 bing 获取网页、fess 搜索等获取新知识,然后交给 LLM 来总结。

项目分为安装版本与懒人版两个版本,为了便捷,我们使用懒人版。

1 部署

在这里插入图片描述

1.1 下载最新懒人包主体

在这里插入图片描述

1.2 下载必要的依赖

在这里插入图片描述

1.3 模型下载

模型分为LLM模型以及文字编码模型,项目的支持特性如下
LLM模型模型:chatGLM-6B、chatRWKV、chatYuan、llama系列以及openaiapi和chatglm130b api,初步支持moss。
文字编码模型:text2vec-large-chinese。
各类模型可以在百度云盘里面找到下载
(记得下载fess)
在这里插入图片描述

1.4 文件配置

修改配置文件,复制example.config.xml文件,重命名为config.xml,根据自己的实际,修改
1.大模型路径,其他模型路径同理
在这里插入图片描述
2.文字编码模型路径,在你使用strt模式时使用。
在这里插入图片描述

1.5 fess安装

根据教程的方式,安装fess系统,根据fess系统github的介绍,它是一个支持多模态数据的开源的文件搜索系统。记得完成索引后,别关闭这个窗口
初步对这个fess系统进行测试,发现它对多模态数据都能支持良好,在自己电脑部署一个也不错
在这里插入图片描述

2 测试

根据你想测试的模型,双击批处理代码,经过测试,rwkv模型在1060 6g下支持良好。
在这里插入图片描述
在这里可以看到我们的参数
在这里插入图片描述
打开这个http://127.0.0.1:17860,就可以使用fess系统+LLM模型了
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4XJclcuJ-1683025683879)(null)]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/483306.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Day960.架构现代化-微服务 -遗留系统现代化实战

架构现代化-微服务 Hi,我是阿昌,今天学习记录的是关于架构现代化-微服务的内容。 在自治气泡模式的基础上,通过事件拦截来实现数据同步,给气泡和遗留系统之间又加上 API 访问这个通信渠道。 这时的自治气泡就和真正的微服务差不…

Rust - 变量与数据的交互方式(move)

变量与数据的交互方式 - 移动 Rust 中的多个变量可以采用一种比较独特的方式和同一个数据进行交互,如下代码所示,将变量x的值赋给y: fn main() {let x 1;let y x; }我们大概可以推论出上述代码的原理:将1这个整数绑定给x变量&…

Mybatis读取和存储json类型的数据

目录 一、测试使用JSONObject来获取json二、设置TableName的autoResultMap为true,TableField的typeHandler为JacksonTypeHandler.class三、设置xml当中的resultMap四、JacksonTypeHandler讲解五、新增假如是JSONObject 不管数据库当中是以json还是longtext数据类型来…

树莓派Opencv调用摄像头(Raspberry Pi 11)

前言:本人初玩树莓派opencv,使用的是树莓派Raspberry Pi OS 11,系统若不一致请慎用,本文主要记录在树莓派上通过Opencv打开摄像头的经验。 1、系统版本 进入树莓派,打开终端输入以下代码(查看系统的版本&…

“人工智能教父”从谷歌离职 称后悔发展AI,为世人敲响警钟?

在加入谷歌的第十年、深度学习迎来爆发式发展的当下,被誉为“人工智能教父”的Geoffrey Hinton已从谷歌离职,只是为了告诫人们AI已经变得很危险。 公开资料显示,Geoffrey Hinton在2013年加入谷歌,曾任副总裁,研究机器学…

Python每日一练:硬币的面值奇偶排序陶陶摘苹果(花样解法)

Python每日一练 文章目录 Python每日一练前言一、硬币的面值二、奇偶排序三、陶陶摘苹果总结 前言 很显然,Python的受众远远大于C,其实笔者本人对Python的理解也是远强于C的,C纯粹是为了假装笔者是个职业选手才随便玩玩的,借着十…

【是C++,不是C艹】 缺省参数 | 函数重载 | 内联函数

💞💞欢迎来到 Claffic 的博客 💞💞 👉 专栏:《是C,不是C艹》👈 前言: 上期,我带大家给C打了招呼,捎带着认识了命名空间和输入输出,那…

SPSS如何使用基础功能?

文章目录 0.引言1.菜单栏2.工具栏 0.引言 因科研等多场景需要进行绘图处理,笔者对SPSS进行了学习,本文通过《SPSS统计分析从入门到精通》及其配套素材结合网上相关资料进行学习笔记总结,本文对软件界面基础功能进行阐述。    1.菜单栏 &am…

如何向面试官正确地提问?

你好,我是朱显杰。今天我们来聊一聊面试时,如何向面试官正确提问。 我做过8年面试官,面试过500多人。在面试的过程中,我发现了一个普遍现象,就是大部分候选人都不知道如何向面试官正确提问。要么不问,白白…

RocketMq源码分析(六)--消息消费者启动流程

文章目录 一、消息消费者模式二、消费者启动流程1、 push模式1)类关系2)类构造器3)启动流程 2、pull模式1)类关系2)类构造器3)启动流程 一、消息消费者模式 消息消费分两种模式:推(p…

【Redis】Redis缓存双写一致性之更新策略

介绍 面试题 1、只要用到缓存,就可能会涉及到Redis缓存与数据库双存储双写,只要是双写,就一定会有数据一致性问题,怎么解决一致性问题? 2、双写一致性,先动缓存redis还是数据库mysql?为什么&a…

剪枝与重参第十课:RepVGG重参

目录 RepVGG重参前言1. RepVGG2. RepVGG网络搭建2.1 conv_bn2.2 RepVGG Block初始化2.3 forward2.4 branch的合并2.5 重参的实现2.6 整体网络结构搭建2.7 模型导出 3. 完整示例代码总结 RepVGG重参 前言 手写AI推出的全新模型剪枝与重参课程。记录下个人学习笔记,仅…

了解npm run指令

了解npm run指令 在package.json文件中的script字段,可以定义脚本命令,通过npm run指令运行该脚本。 比如简单定义一个输出打印的shell脚本。 {"script": {"hw": "echo hello world!"} }执行npm run hw可以看到终端上打…

Python---正则表达式与递归

1. 正则表达式: 是一种字符串验证的规则,通过特殊的字符串组合来确立规则 用规则去匹配字符串是否满足 如(^[\w-](\.[\w-])*[\w-](\.[\w-])$)可以表示为一个标准邮箱的格式 re模块的三个主要方法: re.match: re.match(匹配规…

电子电气架构——车辆E/E架构Software独立性

我是穿拖鞋的汉子,魔都中坚持长期主义的工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 人只有在举棋不定,无从把握的时候才感到疲惫。只有去行动就能获得解放,哪怕做的不好也比无所作为强! 本文主要介绍车辆E/E架构常识,主要涉及E/E架构车载…

Java 操作ElasticSearch

Java REST提供了两种风格的客户端连接工具,Java High Level REST Client、Java Low Level REST Client,这里我就不去细说Java Low Level REST Client了,因为这我确实没用到过,也不是很了解,我说一下Java High Level RE…

LVS 负载均衡群集的 NAT 模式和 DR 模式

文章目录 一、NAT 模式和 DR 模式的介绍DR模式NAT模式两种模式的区别 二、DR模式集群构建配置 一、NAT 模式和 DR 模式的介绍 DR模式 当用户向负载均衡调度器(Director Server)发起请求,调度器将请求发往至内核空间PREROUTING链首先会接收到…

【JavaEE】HTML基础知识

目录 1.HTML结构 2.HTML常见标签 3.表格标签 4.列表标签 5.表单标签 ​6.select 标签 7.textarea 标签 8.无语义标签: div & span 9.标签小练习 1.HTML结构 形如&#xff1a; <body idmyId>hello</body> HTML的书写格式 标签名 (body) 放到 <…

【操作系统OS】学习笔记:第二章 进程与线程 (上)【哈工大李治军老师】

基于本人观看学习 哈工大李治军老师主讲的操作系统课程 所做的笔记&#xff0c;仅进行交流分享 特此鸣谢李治军老师&#xff0c;操作系统的神作&#xff01; 如果本篇笔记帮助到了你&#xff0c;还请点赞 关注 支持一下 ♡>&#x16966;<)!! 主页专栏有更多&#xff0c;…

58.网页设计规则#5_阴影

一些概念 ● 在一个100%平面设计的时代之后&#xff0c;我们现在又回到了在UI设计中使用阴影(“平面设计2.0”) ● 阴影箱深度(3D):阴影越多&#xff0c;离元素界面越远 利用好阴影 你不必使用阴影!只在对网站个性有意义的情况下使用它们 使用少量的阴影:不要给每个元素…