闻达(Wenda):基于Chatglm6b的知识库+大语言模型融合项目

        背景:

        随着ChatGPT模型的一炮而红,大语言模型已然风靡全球,成为了全世界闪烁的焦点。目前,越来越多的研发人员投入到大语言模型的扩展开发中,闻达(Wenda)便是其中一项重要成果。

        闻达源于清华大学开源的ChatGLM6b项目,作为少有的在中文环境下效果卓越的大语言模型,ChatGLM6b能够根据截止到2021年的训练知识内容流畅的实现多种任务下的不同要求,因此,基于ChatGLM6b的闻达项目能够很好的实现对大量输入信息的整合。

wenda-LLM/wenda: 闻达:一个LLM调用平台。目标为针对特定环境的高效内容生成,同时考虑个人和中小企业的计算资源局限性,以及知识安全和私密性问题 (github.com)

        目标领域

        尽管目前大语言模型已经在多项任务上实现了不同要求的输出,但受训练数据时效性以及二次训练高昂成本的限制,大量大语言模型并不能及时更新所涵盖的知识。例如,我们知道2022英国首相出现两次轮换,在鲍里斯约翰逊、特斯拉接连辞职后,财政大臣苏纳克接受了英国政府称为英国的现任首相。然而,由于训练知识时效性的限制,我们在询问大量大语言模型后均得到的错误的答案。

ChatGPT

 ChatGLM6b

         为了使得模型所涵盖的信息更加具有时效性,主流的方法主要有两种:模型微调或者知识库融合。对于模型微调来说,由于模型本身参数数量庞大,微调将不可避免的带来数据收集的分担以及大量的额外算力消耗,更重要的是,随着时间的推演微调所得到的模型仍面临信息过时的问题,这使得模型微调并非一劳永逸,而是周期性、重复性的工作,这是我们所不希望的。考虑到模型微调的问题由模型内部所包含的知识库所引发,如果在询问LLM的时候,直接通过互联网加入大量的参考信息,使得LLM所完成的任务从根据涵盖知识回答问题演变为整合给定信息回答问题,模型的是否就可以摆脱内部知识时效性的问题呢?

        答案是肯定的,知识库融合方法将给定问题在搜索引擎上进行搜索,综合比对最邻近以及最相关的信息作为参考一并输入给LLM,就能够使得LLM不必从内部训练信息中给出,只需要综合分析给定参考内容与问题的相关性即可。

question = “英国首相是谁”

reference = "

里希·苏纳克(Rishi Sunak),男,1980年出生于英国南安普顿市,祖籍印度旁遮普邦,印度裔英国政治家,现任英国保守党党首、第57任英国首相。 [1]  [5]  [14]  [27]  [31] 

苏纳克2015年成为保守党议员,2019年7月24日至2020年2月13日担任财政部首席秘书,2020年2月13日至2022年7月5日任英国财政大臣。2022年10月起任英国保守党党首、英国首相。

"

real_input = "请根据给定问题以及参考信息进行准确回答:

问题:英国首相是谁

参考信息:

里希·苏纳克(Rishi Sunak),男,1980年出生于英国南安普顿市,祖籍印度旁遮普邦,印度裔英国政治家,现任英国保守党党首、第57任英国首相。 [1]  [5]  [14]  [27]  [31] 

苏纳克2015年成为保守党议员,2019年7月24日至2020年2月13日担任财政部首席秘书,2020年2月13日至2022年7月5日任英国财政大臣。2022年10月起任英国保守党党首、英国首相。"

answer = "英国首相是里希·苏纳克(Rishi Sunak)"

        除了及时融合互联网信息以外,知识库融合方法可以将本地知识信息与问题相挂钩,使得模型根据本地特定领域的知识内容相融合,变成特定领域的专家。从而在保证输出信息准确性的情况下更加适应日常口语化的各种问题。

        实现方案

        目前,主流的知识库融合方法分为网络信息融合本地信息融合两种,下面将对这两种知识融合方法的实现过程进行简述。

        首先,本地信息融合方法主要是将本地文档内容进行向量化,构造Vector Store,从而在输入问题时可以简单,直接的对问题进行比对、检索及输出。如图所示,对于给定的本地文档,首先进行文档内容读取,获取对应的字符串形式内容,随后采用分词程序将字符串内容进行拆分,通过Embedding编码方法构造Vector Store。当我们提出一个问题Query时,问题经过同样的分词与Embedding编码过程得到了Query Vector。此时,仅需要根据Query Vector对Vector Store中的向量进行比对检索,即可获取最相似的文档信息。将问题与相关文档知识进行整合,所获得的固定形式的Prompt输入信息便成为了融合最专业信息的input,LLM仅需要分析所给出的input中Query与Reference的关系即可给出相应的回答。

imClumsyPanda/langchain-ChatGLM: langchain-ChatGLM, local knowledge based ChatGLM with langchain | 基于本地知识库的 ChatGLM 问答 (github.com)

        对应到Wenda中为rtst信息整合方法:

rtst模式

sentence_transformers+faiss进行索引、匹配,并连同上下文返回。目前支持txt和pdf格式。

支持预先构建索引和运行中构建,其中,预先构建索引强制使用,运行中构建根据(复制example.config.yml)中段的决定,对于显存小于12G的用户建议使用。cudaconfig.ymlrtstdevice(embedding运行设备)CPU

Windows预先构建索引运行:。plugins/buils_rtst_default_index.bat

Linux直接使用wenda环境执行python plugins/gen_data_st.py

需下载模型置于model文件夹,并将txt格式语料置于txt文件夹。

模型

  1. GanymedeNil/text2vec-large-Chinese 不再推荐,不支持英文且显存占用高
  2. Moka-ai/m3e-base 推荐

        同理,当应用在线网络信息融合时,所提出的Query也编码成为Query Embedding对Vector Store进行比对检索。不过由于互联网信息过于庞大,需要借助现有的搜索引擎进行参考信息的整合。这一点在Wenda中以fess模块嵌入。或者采用duckduckgo等现有搜索引擎模块直接调用,无需再次编码,直接将搜索结果与Query相融合即可构造Prompt进行输入。

fess模式

在本机使用默认端口安装fess后可直接运行。否则需修改(复制example.config.yml)中的为相应值。FESS安装教程config.ymlfess_host127.0.0.1:8080

        数据收集方法

        由于在线搜索结果通常在专精领域的泛用性较差,面向此等领域需要构造特定知识库进行融合。专业数据的爬取可采用八爪鱼信息爬取软件,获取各种数据的整合文档。在获取信息整合文档后需进行文档清晰,消除不必要的信息与格式内容,保证知识库的可用性和正确性。

安装 utool 工具,uTools 是一个极简、插件化的桌面软件,可以安装各种使用 nodejs 开发的插件。您可以使用插件对闻达的知识库进行数据清洗。请自行安装以下推荐插件:

  • 插件"解散文件夹",用于将子目录的文件移动到根目录,并删除所有子目录。
  • 插件"重复文件查找",用于删除目录中的重复文件,原理是对比文件 md5。
  • 插件"文件批量重命名",用于使用正则匹配和修改文件名,并将分类后的文件名进行知识库的分区操作。

        知识库融合方法

        具体到知识库的抽象过程需要采用sentence-transformer对给定信息进行整合,得到索引及原信息的样本对。然而,直接将整个给定知识作为文本编码并不一定有效,因为sentence-transformer所采用的索引方法是对整个文本进行切割后去平均值,因此需要我们在知识整合过程中确定每条知识的关键词,并针对关键词构建索引才能更好模拟问题与知识的对应关系。对于特定场景,甚至可以多次构造索引,使得一条知识对应多条索引向量。例如,当我们构造政治领域数据库时,Knowledge中的“ 1980年出生于英国南安普顿市,祖籍印度旁遮普邦”就并不重要,不需要融合到索引中。关于这一项,可在plugins/gen_data_st.py文件的68-70行进行修改。知识内容在索引后保存在memory/default路径下文件index.faiss和index.pkl中。如果想要抛弃对应的知识内容,可直接删除。

Query = 英国首相是谁

Knowledge  = 里希·苏纳克(Rishi Sunak),男,1980年出生于英国南安普顿市,祖籍印度旁遮普邦,印度裔英国政治家,现任英国保守党党首第57任英国首相

        下载

        基于Chatglm-6b模型进行处理,首先在ChatGLM-6B官网下载对应的模型文件,随后在Wenda官网下载闻达相关资源库,并进行以下操作。(Wenda提供了自助懒人包,据说是封装好的,如有兴趣也可尝试)

1.安装库

通用依赖: 根据使用的 知识库进行相应配置pip install -r requirements.txt

2.下载模型

根据需要,下载对应模型。

建议使用chatRWKV的RWKV-4-Raven-7B-v11,或chatGLM-6B。

3.参数设置

把example.config.yml重命名为,根据里面的参数说明,填写你的模型下载位置等信息config.yml

ChatGLM-6B/ptuning/README.md at main · THUDM/ChatGLM-6B · GitHub

wenda-LLM/wenda: 闻达:一个LLM调用平台。目标为针对特定环境的高效内容生成,同时考虑个人和中小企业的计算资源局限性,以及知识安全和私密性问题 (github.com)

        运行

        运行时打开路径到wenda-main文件夹下,运行

python wenda.py -t glm6b

即可得到模型加载页面,打开端口即可跳转到Web页面

 

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

提示工程L1:关键原则

提示工程指南:关键原则 一、 环境配置 chatgpt使用有诸多限制,所以采用国产模型来代替,加载开源的chatGLM模型,使用ChatGLM-6b的INT8版本。 chatGLM6b在LLM匿名竞技场中的排名: import os import torch import war…

玩转系统|初遇ChatGPT,我和TA的第一次约会

最近互联网圈子有一个非常火爆的话题ChatGPT,短短一周的时间就有上百万的用户,如果你不是程序员,也许会问这到底是个什么玩意? ChatGPT是什么? ChatGPT,美国“开放人工智能研究中心”研发的聊天机器人程序 …

ChatGPT的智能性体现在哪里?就当前的发展路径而言,ChatGPT 还有更好的路可以走吗?

最近 ChatGPT 真的是太火爆了,连我儿子的小学老师都和我在微信上关于这个话题聊了很久。 ChatGPT 的智能性主要体现在它能够处理各种自然语言的问题,并且具备一定的理解、推理和生成能力。在语言理解方面,ChatGPT 可以理解语言的含义和语法结…

AI一点通: pandsAI, 给pandas 插上chatGPT的翅膀

Pandas AI 是一个Python库,通过整合生成式人工智能能力,增强了广泛使用的数据分析和处理工具Pandas。它专为与Pandas搭配设计,而非替代Pandas。 要安装该软件包,您需要安装 python 3.9 或更高版本。 pip install pandasaiPandas…

虚拟数字人重新定义金融服务形态,AI数字人助力金融业智能升级

近两年,我国虚拟数字人市场发展已初具规模,2022年上半年,我国虚拟数字人相关行业规模达750亿元,同比增长43.6%,已应用于多个领域并迅速出圈。特别是在金融行业已经初步实现落地应用,多家银行已经推出虚拟数…

【IoT】ChatGPT 与 AI 硬件

随着AI的发展,比如最近炒得很火的ChatGPT,还在持续快速迭代更新。 当然了,对于软件和算法,如果你想,每天迭代 10 个版本都可以。 包括科大讯飞的星火认知大模型最近也刚发布。 这就引出了未来一个更大的发展方向&am…

Midjourney之logo设计(建议收藏)

目录 宠物诊所的logo设计 常见的Logo类型 图形logo: 字母LOGO APP LOGO 进阶技巧 设置艺术家风格 去掉不需要的元素 ChatGPT Midjourney设计logo 聊天(国产):文心一言通义千问 绘图(国产) UI设计 ChatGP…

文旅业掀起虚拟人制作热潮,虚数字人为文旅行业打开营销新视界

近年来,多地政府陆续推出元宇宙政务大厅、文旅元宇宙、元宇宙商圈等“城市新名片”项目,从公共服务到日常生活,元宇宙与各行各业加速融合,数字经济新业态持续涌现,而作为元宇宙中最先落地的虚拟数字人,更是…

CnOpenData中国保险机构网点全集数据

一、数据简介 改革开放以来,中国保险行业飞速增长,在补偿灾害损失、维护社会安定、支持中国的经济建设等方面发挥了重要作用。整个行业的突飞猛进体现在三个方面: 一是保险机构数量增长迅速。中国保险公司的数量从1980年的1家迅速增加至200多…

ChatGPT风暴席卷全球,面对竞争普通人该如何应对被淘汰的风险?

近日,ChatGPT风暴席卷全球。据新闻报道:ChatGPT仅仅上线两个月,已获1亿月度活跃用户,成为历史上增长最快的面向消费者的应用。 特斯拉CEO马斯克也表示:ChatGPT好的吓人,我们离强大到危险的人工智能已经不…

保险公司需要中台吗?

关注ITValue,看企业级最新鲜、最具价值报道! 图片来源视觉中国 | 文章来源 BCG波士顿咨询 | “中台”一词突然在中国保险行业里火了起来。“解耦”、“API”、“微服务”、“去中心化”、“平台”……这些都成为和“中台”紧密相连的时髦词。“中台”前面…

保险机构如何保护客户信息安全?

澳大利亚医疗保险公司 Medibank 承认在近期的数据泄露事件中,有超过 390 万用户信息被曝光。 自本周二,Medibank 宣布所有客户数据都可能泄漏之后,对违规行为的调查现已确定黑客可以访问所有 Medibank、ahm和国际学生客户的个人数据&#xff…

保险后台管理系统/订单管理/保单管理/客户管理/咨询管理/保险原型/保单详情/客户详情/权限管理/部门管理/账号管理/保险系统原型/汽车保险后台管理系统/角色管理/咨询详情/axure原型/需求文档

保险后台管理系统/订单管理/保单管理/客户管理/咨询管理/保险原型/保单详情/客户详情/权限管理/部门管理/账号管理/保险系统原型/汽车保险后台管理系统/角色管理/咨询详情/axure原型/需求文档 Axure原型演示及下载地址:Untitled Documenthttps://4yyz3g.axshare.co…

国际数学日 | 历史上的今天

整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。 今天是 2023 年 3 月 14 日,在 143 年前的今天,1879 年 3 月 14 日,爱因斯坦诞辰。阿尔伯特爱因斯坦(Albert Einstein&#xff0…

通过与 GPT 对话实现零样本信息抽取

目前通用大模型取代为特定任务定制训练的专属模型的趋势逐渐显露,这种方式使AI模型应用的边际成本大幅下降。由此提出一个问题:不经过训练来实现零样本信息抽取是否可行? 信息抽取技术作为构建知识图谱的重要一环,如果完全不需要训…

ChatGPT对于数据安全的应用

数据安全分类分级与GPT的应用 文章目录 数据安全分类分级与GPT的应用前言一、ChatGPT模型二、上下文关联三、中文能力并不太好四、如何去训练一个符合心意的模型呢?总结 前言 经过两三个月的chatGPT的熟悉后,我对chatGPT的使用有了部分浅薄的经验&#…

ChatGPT,爆火背后的安全风险

随着《流浪地球2》在今年春节档的大热,影片中的“MOSS”作为“幕后主角”的话题度也大大增长,再加上近日ChatGPT作为“全能网友”的爆火,2023的开年,人工智能已经在大众面前怒刷了一波存在感。 MOSS是虚拟世界中超前的人工AI&…

AI绘画:数字时代的提示工程新兴应用

在数字时代,人们对于信息和素材的需求日益增长。随着技术的不断发展,AI绘画正逐渐成为一种应对这种需求的新兴技术。特别是在“提示工程”这一领域中,AI绘画可以发挥出更大的作用。 什么是AI绘画 AI绘画是指使用人工智能技术生成艺术作品的…

playgroundai:这款文生图AI,比文心一言更靠近真实

2023年3月16日,百度发布了文心一言,基于百度文心知识增强大模型研发。此前2022年8月19日,中国图象图形大会 CCIG 2022 在成都召开,百度就正式发布了 AI 艺术和创意辅助平台——文心一格,这是百度依托飞桨、文心大模型的…

如何使用AI帮你制作PPT

一:前言 ChatGPT:智能AI助你畅聊天地 在现代人日益忙碌的生活中,难免需要一些轻松愉快的聊天来放松身心。而现在,有了 ChatGPT,轻松愉快的聊天变得更加智能、有趣且不受时间、地点限制! 什么是 ChatGPT&…