一文教你基于LangChain和ChatGLM3搭建本地知识库问答借助ModelArts提供的AI开发能力,实现基于La

现如今,大语言模型发展到达了一个新高度,其应用场景也是适用于千行百业。而华为云EI更是具备了全栈AI能力,其提供的ModelArts是一站式AI开发平台,可帮助开发者智能、高效地创建AI模型和一键模型部署到云、边、端。

阅读本文将有以下收获:

ChatGPT自发布以来已经十分火热,短短的2个月,月活已经破亿,远超于TikTok等一些应用。

大模型,简单来说就是预训练时参数规模达到一定量级的模型。

常见的大模型主要包括:大语言模型,CV大模型,多模态大模型,科学计算大模型等。

多模态大模型是指通过文字生成图片或视频的大模型。科学计算大模型,比如气象类、药物分子结构等的大模型。

最早,大模型在2019年,谷歌发明了T5大模型。当时它的参数规模就已经十分庞大了。

紧接着,2020年,推出了GPT-3,GPT-3在以文生成图片上崭露头角。

再往下,各个企业发布了各种各样的大模型。其中最重要的是2022年的ChatGPT以及2023年的ChatGPT-4。

这些大模型已经能够解决日常大量的问题,帮助我们快速的完成很多的事情。比如,通过大语言模型,可以实现语言翻译、情感分析等。

同时,大模型依赖大量的数据和对应的参数来进行调整训练出来的。随着大模型的不断发展,它所拥有的对应数据和参数,往往会更多。而且随着我们的当前科学技术的发展,它的性能提升从而使它的功能更加强大。

虽然,大模型在训练的时候,用到的是它在发布之前用到的数据,比如ChatGPT,它是在2022年发布的,它可能没有2023年的知识,但是它可以通过外挂一些常见的数据集、数据库,从而实现不断的微调学习,从而进一步的提升自己知识更新的及时性,不和世界脱轨。

以大语言模型训练过程为例。

首先做一系列数据的采集,采集过程中,需要大量的数据。常见的比如网上的电子书、论坛帖子、GitHub上的代码。

然后,开始大语言模型的训练,在训练的过程中,需要选择合适的训练算法。比如Transformers、DeepSpeed、Megatron-LM等。

有了算法,我们想要把大量数据运用起来,还需要充足的算力。光GPT-3语言模型训练使用了10万个GPU,

耗费了大概100PFLOPS的算力。

再有了这些数据的准备、合适的算法、充足的算力之后,我们就正式的对应训练。

训练用简单的语言来说,就是使大语言模型能够根据输入的指令生成对应的答案的能力。

训练出来的就是一个简单的预训练的模型。它能够实现一些基本的能力,再往下我们还会做一些指令的微调。

指令微调,是指它能够适配各种各样的复杂的任务。比如下达一条写一部小说的指令,它可能会问你需要写什么的风格的小说、主角的特点等等一系列问题。然后再基于这些问题,把小说写出来。

再往后,需要进行类人对齐,简单理解是指使模型生成更加贴近人类习惯的文本内容。

首先,华为云EI以Ascend系列GPU和Kunpeng系列GPU等多元算力作为底座。

往上是,提供自研的MindSporeAI开发框架,同时也支持市面上的TensorFlow、PyTorch、Ray、DeepStream、MediaPipe等AI开发框架。

有了算力和框架,再往上华为云EI提供对应的AI开发平台——ModelArts,ModelArts就能够完成从数据的标注、处理到模型的训练,也包括大模型的训练,到最后的评估、生成以及部署和监测。

在训练过程中,如果有海量的数据,尤其像大模型有大量的数据,可以使用华为云的数据生产线DataArts,DataArts提供了云数据仓库和数据治理中心,能够做海量数据的管理。

完成了AI通用开发之后,如果不想做底层的AI开发,华为云提供了AI通用能力。比如OCR、SIS、NLP等通用AI。也包括华为云的盘古大模型,它提供了多种大规模模型部署、开发、推理形式。另外还有天筹AI求解器,更多的是被应用于商用的AI生成。

有了通用的AI能力,就能应用到具体的行业/场景,比如政务、银行、生物制药、AIGC等领域。

在整体AI应用的开发中,我们可能还需要数据集、工具包、算法、模型等等,这些可以从华为云生态社区AIGallery中找到。也可以在AIGallery发布数据集等,让其他的开发者看到(使用),或者更进一步的商业变现。

AI开发平台ModelArts,是一个构筑全栈全生命周期的模型开发工具链。

ModelArts依赖昇腾/GPU和鲲鹏/CPU的算力,包括发调试框架、训练框架、推理框架,能够实现算力调度的管理。在此基础上,它能灵活的分配集群CPU,进行所有应用的开发,从数据的标注、数据处理、模型训练的全流程的打通。

ModelArts提供数据管理能力,支持多种类型的标注任务,提供多种多样的开发环境、模型训练和部署推理。实现了一个一站式的AI开发。

ModelArts针对大模型,提供了开发工具链,以及场景化的开发对应的工具链。

ModelArts能够帮助开发者快速实现对于端到端的开发,同时也支持把常见页面主流的算法使用昇腾GPU实现迁移。

AI应用的开发,往往是以一个流水线的方式能够持续集成和交付。

以猫狗检测为例,开发者需要准备一些猫和狗的图片,输入到分析模型中,最终分别出图片上哪些是猫、哪些是狗。

基于这种场景,首先需要把收集到的图片进行标注。标注完成之后,上传到ModelArts平台,选择对应的算法进行训练。训练的过程,就是使模型能够基于当前的数据结构总结出规律,从而降低模型识别的损失度,提升模型的精度。完成训练之后,得到对应的模型。

模型评估是为了提升模型识别的准确度,为了能够满足开发者的要求。完成评估之后,需要部署到具体的设备上。

后续,可以通过摄像头捕捉到猫或者狗的图片,传入到模型中,然后通过模型实时的判断出当前图片中的动物是猫还是狗。

最后识别出来的结果,还是会回流到最开始的数据管理中,从而不断的扩充数据库。再进一步不断的迭代,提升模型训练的精度。这就是一个流水线的方式集成和交付的概念。

ModelArts的数据管理,提供了常见的数据标注框架,支持多种数据标注,像常见的物体、音频、文本等。

ModelArts还支持进行团队标注,像我们日常的AI应用的开发,需要成百上千张图片,可能需要一张张进行标注。如果有多个人共同来标注一个数据集,也能提升标注的速率。

ModelArts内置了常见的算法,像图像分类、物体检测、预测分析、声音分类、文本分类等。

基于这些算法,只需要开发者把标注好的数据上传到ModelArts平台,ModelArts可以一键启动AI模型训练,并进行对应的模型验证和上传服务。

从而实现零代码、零AI的开发。

当前,ModelArts平台已经有60+预置模型,主要覆盖:图像分类、图像语义分割、物体检测与定位、强化学习、文本、语音等场景。

这些模型都是基于开源或行业数据集所构造的,而且它的精度和速度都是有一定的保证的。也支持开发者自行编写的代码。

在有了模型之后,ModelArts提供了一键训练。快速的将模型进行训练,实现整体的模型打通。

开发者如果觉得ModelArts提供的算法不够优秀,华为云还提供了ModelArtsCodeLab的方式。从而实现开发者在云端上直接进行AI应用的开发。

CodeLab还支持通过本地IDE+ModelArts插件远程开发。

完成AI应用的开发和训练之后,我们会把模型进行部署。ModelArts平台提供了端、边、云全场景AI部署能力。

首先,在部署之前,ModelArts提供了快速应用AI测试的环境,能够帮助开发者快速看到模型运行的效果。并且能够部署到端、边等各种设备,提升推理运行性能。

ModelArts还提供了WorkFlow工作流,它可以降低端到端AI开发门槛。

整体AI应用的开发是一个流水线的形式,WorkFlow可以把这个流水线合成一个工作流的形式,作为一体。

WorkFlow工作流分为开发态和运行态。

开发过程中,通过PythonSDK低代码编排,把工作流串起来。完成配置之后,基于自己的SDK进行调试。这样做最大的好处在于,通过组件复用,减少代码量,进而提升效率。

在运行态,可视化的操作界面,降低使用门槛。同时支持多种多样的评估可视化,帮助理解模型效果。

同时,它可以发布到AIGallery社区,供其他开发者学习。

ChatGLM3是一个基于Transformer的预训练语言模型,由清华大学KEG实验室和智谱AI公司于2023年共同训练。

基本原理:将大量无标签文本数据进行预训练,然后将其用于各种下游任务,例如文本分类,命名实体识别,情感分析等。

ChatGLM3-6B是ChatGLM3系列中的开源模型,在保留了前两代模型对话流畅、部署门槛低等众多优秀特性。

在int4精度下,只需要13GB的显存即可流畅运行ChatGLM3-6B。

合起来。该框架目前以Python或JavaScript包的形式提供。

LangChain目前由六大部分组成:Models模型、Indexs索引、Prompts提示词、Chains链、Memory记忆、Agents代理。本期着重介绍前面四个部分,Memory记忆主要用来使我们的大语言模型在多轮对话中有更好的记忆效果。Agents代理更多的做一些个人助理的应用,比如当大语言模型无法解决问题,可以通过它从百度等搜索引擎获取答案。

LangChain的优势:

本次开源大模型体验官课程基于华为云一站式AI开发平台ModelArts,使用云端算力快速实现大模型的调用,并基

于大语言模型开发框架-LangChain,实现LangChain+ChatGLM3的本地知识库问答。

Models主要的作用是对模型的输入和输出进行处理,从而使输入符合大语言模型的调用方式,输出更加符合想要的效果。

在LangChain中加载ChatGLM3模型,配置如下:

Prompts是大语言模型的提示模版,它是生成语言模型提示的预定义配方。

大语言模型的输入不同,输入的效果也会截然不同,Prompts常用的提示词技术如下:

由于大型语言模型(LLMs)存在数据实时性的问题,它们只知道通过它们的训练数据所呈现的世界。

因此我们可以将最新的一些知识文档添加到LLMs中,来补充LLMs模型的知识。

在langChain中进行外部数据检索,一般按照如下流程实现:

LangChain通过Chains组件实现前面提到的Models、Prompts、Indexs等组件的链接,进行更复杂的功能开发。

Chains又名链,链的作用就是将各个组件合到一起。LangChain中有很多已有的链,例如:LLMChain、SequentialChain(顺序链)、ConversationChain(对话链)、RetrievalQA(检索型问答)、ConversationalRetrievalChain(对话式检索问答)。

通过RetrievalQA实现基于本地知识库的问答,实现流程如下:

2、单击“RuninModelArts”,跳转到案例详情页。

1、默认选择限时免费的规格,选择好之后,单击“切换规格”。

注:如果限时免费规格售罄了,可以稍作等待。

2、切换完成之后,页面会有如下提示,单击“确定”。

案例的每个步骤旁边会有一个运行按钮,单击可以运行当前步骤。

1、下载ChatGLM3模型

2、配置环境

a.首选创建虚拟环境

b.选择python版本

本案例依赖Python3.10.10及以上环境,点击右上角kernel选择python-3.10.10。

3、安装依赖库

当前案例使用的是RetrievalQA,它可以很方便的实现基于知识库的问答。

1、运行当前步骤

2、运行完成之后,可以看到大语言模型的回答。

至此整个案例的全部操作流程已经完成,可以手动停止案例。

本文以大模型的发展历程引出大模型的介绍,随后详细描述了大模型的开发过程。

在掌握了大模型的基础知识之后,华为云EI的介绍正式登场。华为云EI提供的AI开发平台——ModelArts,可以帮助开发者一站式完成大模型的生成、评估、训练、部署及监测。

然后是对ChatGLM3和LangChain的详细介绍,进而便进入了本篇的另一个主题:如何基于LangChain+ChatGLM3的本地知识库问答。这部分内容,主要是以实战案例方式,让开发者更容易理解和上手。

THE END
1.ChatGPT4.0在线网页的创新应用ChatGPT 4.0在线网页的创新应用广泛且深入,它不仅改变了人们与计算机的交互方式,还为各行各业带来了新的发展机遇。以下是对ChatGPT 4.0在线网页创新应用的详细归纳: 一、教育领域 在线学习辅导: 学生可以利用ChatGPT 4.0进行在线学习辅导,通过输入问题或关键字,ChatGPT 4.0可以提供相关的学习资料、解题思路或解题方法,https://gpt.729.cn/?p=689
2.探索ChatTTS模型的实际应用:案例分享在当今的科技时代,文本到语音的转换技术在各个领域中的应用越来越广泛。本文将介绍ChatTTS模型,这是一种强大的文本到语音转换工具,它的出现为多种场景下的语音合成提供了新的解决方案。本文将通过实际案例,展示ChatTTS模型在不同领域中的具体应用,并探讨其带来的价值。 https://blog.csdn.net/gitblog_02699/article/details/144398736
3.ChatGPT免费入口ChatGPT也可以作为一个高效的翻译工具,帮助用户解决跨语言沟通的难题。在学习外语时,它能作为一个练习伙伴,帮助用户提高语言水平。通过与ChatGPT对话,用户可以实时纠正发音、语法和提升语言表达能力。无论是旅行、工作还是学习,ChatGPT都能成为你语言学习路上的得力帮手。 http://gaotieseo.com/xinwenzixun/6317.html
4.学起plusHTML5开发与应用技术,网页设计与制作☆,HTML5开发与应用2024秋最新《学起plusHTML5开发与应用技术,网页设计与制作☆,HTML5开发与应用技术☆考核作业参考原题试题》形考作业试题题库、期末题库考试说明:本人针对该科精心汇总了历年题库及答案,形成一https://www.bnjyedu.cn/pc/news_xx-465364-48.html
5.ChatGPT网页版的免费版能否处理复杂任务chatgpt文章ChatGPT网页版的免费版可以处理复杂任务。以下是对这一点的详细解释: 1. 功能介绍: ChatGPT网页版是一个基于先进AI技术的对话系统,它不仅可以回答各种问题,还能进行复杂的交流和互动。 该系统提供了多种对话模式,涵盖从日常问答到专业知识咨询等多个方面。 https://www.chatgptzc.com/chatgptwenzhang/50976.html
6.数字时代语言学习新境界,在线英语访问探索植物保护所在线访问英语为我们提供了一个全新的英语学习方式,它便捷、资源丰富、个性化且充满互动,要想提升英语学习效果,我们需要充分利用这一工具,制定明确的学习目标,选择优质的学习资源,制定合理的学习计划,注重实践与应用,并保持持续的学习动力,让我们在这个数字时代,一起探索语言学习的新境界吧!https://hnjwwzy.cn/post/724.html
7.网课平台排名线上货源平台,话本刷人气软件免费版1. Coursera - 提供来自全球顶尖大学的在线课程,覆盖各个学科领域。 2. edX - 与世界各地的大学合作,提供高质量的在线课程和学位。 3. Udemy - 一个开放的平台,任何人都可以创建和分享课程,覆盖广泛的技能和兴趣。 4. Khan Academy - 提供免费的在线课程,专注于数学、科学和经济学等科目。 https://www.scysry.com/kuaishou/202412-27584.html
8.免费在线学习平台:提升技能与知识的最佳选择,随时随地畅享教育最新消息:某知名在线学习平台近日宣布,将推出一系列新的免费课程,涵盖编程、设计、商业管理等多个领域,以满足日益增长的学习需求。 免费在线学习平台的崛起 随着科技的发展和互联网的普及,免费在线学习平台如雨后春笋般涌现。这些平台为用户提供了丰富多样的教育资源,使得人们可以在任何时间、任何地点进行自我提升。根据《http://wiggle.miiqu.com/miqgl/24539.html
9.101种最热门的EdTech工具8. Buncee,创建、展示和分享“引人入胜”的多媒体课程 由Tech Trends for Teachers的Nikolaos Chatzopoulos, 30 Goals Challenge for Teachers的 Nicholas Clayton,Shelly Terrell等教师推荐。 Buncee是一个创作和展示工具,它支持教育工作者培养学生学习的4个要素:批判性思维、沟通、协作和创造力。Buncee的许多功能,使https://36kr.com/p/829435155242882
10.odoo17官方版本发布白皮书,全部功能及重要更新ReleaseNote创建新网站时,ChatGPT 会生成与您的业务相关的文本。 行业 行业定义 行业模块是一套适合特定业务(例如律师、保修、房地产等)的应用程序、配置和数据。它不包含 Python 代码,可以安装在 SaaS 数据库中。 在线提供 apps.odoo.com 中提供的社区数据模块可以安装在任何 Odoo 平台上。 数据模块检测 在apps.odoohttps://www.odooai.cn/en/blog/odoo-install-6/odoo17-official-release-all-functions-and-important-updates-315
11.IT博客汇界面设计提供一条清晰的指导路线,助力打造更高效、便捷的能源管理解决方案。使用Axure一个EMS(Energy Management System,能源管理系统)的原型,主要涉及到界面设计、交互逻辑设置以及可能的数据模拟。以下是一详细的步骤指南:一、规划EMS系统的核心功能首先,明确EMS系统需要包含哪些核心功能。这通常包括能源数据监控:实时显示各种https://bokehui.net/tag/%E7%95%8C%E9%9D%A2%E8%AE%BE%E8%AE%A1
12.BB课程平台(精选八篇)BB平台为教师、学生提供了强大的施教和学习的网上虚拟环境。它以课程为核心, 具备4个独立的功能模块, 主要包括, (1) 内容资源管理:通过该模块教师可以方便地发布、管理和组织教学内容。 (2) 在线交流功能:可同时为用户提供异步 (讨论区) 和同步 (虚拟教室) 等交流工具, 以提高学习效果。 (3) 考核管理功能:https://www.360wenmi.com/f/cnkeyny10kg6.html
13.Contents/premium.mdatmaster·Newslab2020/Contents·GitHub通讯53:一门叫做“抵制狗屁”的大学课程 654 俄乌战争一周年,俄国媒体怎样了? 2023/2/23 ChatGPT是扯淡机器吗?大语言模型的本质是什么? 哪种媒体人的工作会被ChatGPT取代? “我们应该如何继续生活?” 一个预告。 633 中国足球与世界 2022/11/21 中国足球与世界; https://github.com/Newslab2020/Contents/blob/master/premium.md
14.达内教育IT培训官网互联网行业热门IT培训 - 就业课程 研发实力雄厚,课程将企业实时更新技术纳入教学 Java开发 云计算 网络? 如何选择一个适合自己的java培训班? ? Java入门到精通需要多久? ? Java整体学习思路 Midjourney多项命令技巧/Stable Diffusion绘图详解/ChatGPT提示词生成技巧/Midjourney-IP形象生成/Stable https://www.tedu.cn/
15.2024通义语音AI技术图景,大模型引领AI再进化通义千问未来我们的听悟,将针对该领域推动多模态技术的落地应用,帮助用户在教育网课学习中转录上课内容、总结筛选重点知识、沉淀学习笔记等。 LauraGPT 语音大模型 ChatGPT 证明一个模型通过生成式预训练(GPT)能够统一处理各种各样的文本任务,包括机器翻译、文本摘要、口语语言理解等。语音作为人类最自然的沟通交流方式之一,也是https://xie.infoq.cn/article/c5c468908db49e3508d9e9ce1
16.设计心理学经验/观点另一种调用承诺和一致性原则的方法是提供免费试用和增值模式,就像 Dropbox一样:当没有剩余的免费存储空间时或试用期已满,客户将更倾向于升级到付费计划,因为他们已经致力于学习、设置和使用这项服务。 承诺复选框 一家抵押贷款公司仅仅增加了一个“承诺复选框”,就将转化率提高了 11%。 https://www.ui.cn/detail/401989.html
17.20241202至202412Hirexper 是一款创新的人工智能工具,旨在帮助求职者准备面试。通过提供实时、个性化的答案建议,Hirex… 2024-12-02【阅读原文】 26. ProApply.AI – 人工智能驱动的个性化求职信工具 ProApply.AI 提供了一个用户友好的平台,利用人工智能技术帮助用户轻松创建定制的求职信。通过利用人工智… 2024-12-02【阅读原文】http://161network.com/2024-12-02-%E8%87%B3-2024-12-08-%E4%B8%80%E5%91%A8%E6%96%87%E7%AB%A0%E6%B1%87%E6%80%BB/
18.常用网站及其功能详解:全面解析顶级网站的使用方法和技巧五、在线学习类网站 1. 网易云课堂(NetEase Cloud Classroom) 功能详解: 网易云课堂是一个在线学习平台,提供丰富的课程资源,涵盖编程、设计、营销、语言等多个领域。用户可以通过该平台进行在线学习,提升技能。 使用技巧: -定制学习计划:根据个人需求和兴趣,选择合适的课程,制定学习计划。 https://www.uweb.net.cn/zhishiku/jishuyanjiu/18060.html
19.网易云课堂网易云课堂,一个专注于成人终身学习的在线教育平台。立足于实用性的要求, 与优质的教育内容创作者一起,为您提供全面、有效的在线学习内容。https://study.163.com/
20.DeepLearning.AI:StartorAdvanceYourCareerinAIDeepLearning.AI | Andrew Ng | Join over 7 million people learning how to use and build AI through our online courses. Earn certifications, level up your skills, and stay ahead of the industry.https://www.deeplearning.ai/
21.资源学习平台范文12篇(全文)学习者的意义建构必须依赖情景、协作和会话三个要素来支撑,在课件点播系统中当学习者通过注册进行登录后就可选择课程学习。学习前,可以选择课程相关的文化,知识、技能和网站等信息进行浏览,把学习者带入一个学习课件的情景中去。学生们在学习中或学习后,如果有不懂的地方,可以在论坛里提出问题,求助专家或同学来进行解https://www.99xueshu.com/w/ikeyfu1slbro.html
22.ASP.NETCore适用于.NET的开源Web框架.NET 是一个开发人员平台,由工具、编程语言、库组成,用于构建许多不同类型的应用程序。 ASP.NET Core 通过专门用于生成 web 应用的工具和库扩展了.NET 开发人员平台。 更深入发掘: 什么是 ASP.NET Core? 了解ASP.NET Core 通过我们的教程、视频课程和文档,了解 ASP.NET Core 提供的所有功能。 https://asp.net/