• [技术干货] 基于LangChain+ChatGLM3的 本地知识库问答(二)
    三、基于LangChain+ChatGLM3的本地知识库3.1 ChatGLM3介绍ChatGLM3 是一个基于Transformer的预训练语言模型,由清华大学KEG实验室和智谱AI公司于2023年共同训练发布。基本原理: 将大量无标签文本数据进行预训练,然后将其用于各种下游任务,例如文本分类、命名实体识别、情感分析等。ChatGLM3-6B 是ChatGLM3系列中的开源模型,保留前两代模型对话流畅、部署门槛低等众多优秀特性。在int4精度下,只需要13GB的显存即可流畅运行ChatGLM3-6B。下面是ChatGLM3的核心代码运行后的UI界面如下3.2 LangChian介绍LangChain是一个开源框架,允许从事人工智能的开发者将例如GPT-4的大语言模型与外部计算和数据来源结合起来。该框架目前以Python或JavaScript包的形式提供。LangChian的六大组成成分Models模型Indexs索引Prompts提示词Chains链Memory记忆Agents代理LangChain的优势提供了统一的LLM的接口和使用快速将本地知识导入大语言模型使用将连续多任务的关键词进行存储,让大模型具有“记忆”3.2.1 LangChain组件介绍 —— Models任何语言模型应用的核心元素是:模型的输入和输出。在langChain中加载ChatGLM3模型,需要进行如下配置:继承langchain.llms.base.LLM类,新建自定义的类通过@property装饰器将 _llm_type方法转为【只读属性】,即可以被类访问,而不需要实例的方法来访问(比如 model._llm_type==ChatGLM3的结果为true)重写_call方法:加载自己的模型,并限制只输出结果(ChatGLM3原输出部署直接str,langchain中要求模型返回必须是str的结果)3.2.2 LangChain组件介绍 —— Prompts提示模板是生成语言模型提示的预定义配方。模板可能包括指令、少量示例以及适用于特定任务的特定上下文和问题。少量描述的提示词少样本的提示词思维链的提示词3.2.3 LangChain组件介绍 —— Indexs由于大语言模型(LLMs)存在数据实时性的问题,它们只知道通过它们的训练数据所呈现的世界。因此我们可以将最新的一些知识文档添加到LLMs中,来补充LLMs模型的知识。在langChain中进行外部数据检索,一般按照如下流程实现:基于langchain.document_loaders下的加载类进行文件加载基于langchain.text_splitter对加载后的文件进行分割,以便传入大语言模型将分割后的文档转成嵌入向量,然后存储到向量数据库基于向量的余弦相似度来进行检索jpg格式的文件如何加载? 要加载jpg文件,其实本质上还是需要jpg图片上的文本,因此思路是一样的。首先,使用OCR识别JPG图片,然后进行文本分割3.2.4 langChain组件介绍——Chains前面已经介绍了LangChian的Models、Prompts、Indexs组件,而Chains组件就是将LangChain的各个组件之间彼此链接,进行更复杂的功能开发。序号类型简介1LLMChain大模型构建的最简单、最基本的链。对用户输入进行格式化,将格式化的提示传入模型。然后返回模型的响应,并解析输出2SequentialChain(顺序链)在一个应用程序中,可以多次顺序调用大语言模型来实现程序的功能3RouterChain(路由链)包含条件判断和一系列的目标链。通过调用大语言模型,路由链动态判断条件,确定后续调用的链4RetrievalQA(检索型问答链)通过嵌入向量索引进行查询,可以用来构建文档系统通过RetrievalQA实现基于本地知识库的问答,实现流程如下:首先定义语言模型和本地知识库的加载然后通过RetrievalQA.from_llm函数构建链的实例 knowledge_chain,并配置一些参数最后通过调用knowledge_chain即可3.3 基于ModelArts AI实战首先,在AI Gallery中找到这个Notebook的项目——基于LangChain+ChatGLM3的本地知识库问答点击“Run in ModelArts”按钮,进入到Jupyter Notebook的项目页面(页面上有很详细的每一步的操作教程,可以仔细阅读并参考)默认的2核4GB的配置不满足我们的要求,需要手动进行切换到 1*P00|CPU8核 的配置第一步是下载ChatGLM3的这个模型。点击代码左侧的三角形按钮,可以自动执行每个步骤。下载好的ChatGLM3的文件会被放置在左侧的目录中然后是安装Python3.10的依赖(后面也是一样,直接点击左侧运行按钮即可)可以点击左侧这个上传按钮,修改知识库文件这里有两个知识库文件,一个是txt格式的,一个是markdown格式的。config.py 存储的是各种配置信息,包括chatGLM模型名称,文字转向量模型名称等等下面这个就是chatGLM3调用知识库的主程序了这个文件是对知识库内容进行读取和分割支持两种格式的知识库文件,分别是txt和md这里是将提示词进行格式化,最后返回chatGLM的输出最后进行功能测试(这里是非流式的,所以要等结果全部出来)第一个答案是llm直接输出的,而第二个答案是从知识库中搜索后结合llm得出的四、总结本文从ChatGPT爆发事件起头,介绍了LLMs发展的整个历程,介绍了什么是大模型,以及如何训练大模型。接着引出华为云ModelArts解决方案——在线运行大模型应用。接着介绍了国产大模型ChatGLM 和 LangChain的基本原理。最后通过案例实战教会大家,如何基于华为云ModelArts搭建基于LangChain+ChatGLM3的 本地知识库问答。
  • [技术干货] 基于LangChain+ChatGLM3的 本地知识库问答(一)
    概述本次开源大模型体验官活动基于华为云一站式AI开发平台ModelArts,使用云端算力快速实现大模型的调用,并基于大语言模型开发框架——LangChian,实现LangChian+ChatGLM3的本地知识库问答。一、大模型的发展历程1.1 chatGPT2022年11月30日,OpenAI发布了ChatGPT。这是一个基于大语言模型(LLM)的对话机器人(Chat Bot),它的定位是一个AI助手,可以回答通识性和专业领域的各种问题(包括编码相关问题),支持中英文在内的多语言,且支持多轮对话。ChatGPT自发布以来,5天注册用户超过100万,2个月内月活破亿。1.2 什么是大模型大模型,简单来说就是与训练时参数规模达到一定量级的模型。常见的大模型主要包括:大语言模型、CV大模型、多模态大模型、科学计算大模型等。下图是大模型发展的主要历程:大模型具有以下3个特性应用广泛:大语言模型可以用于语言翻译、情感分析、问题解答等,多模态大模型则可用于进行图片、视频生成等功能持续改进:随着越来越多的数据和参数添加进来,性能也会随之提高,功能更强大学习很快:可以基于外部的数据参数不断微调学习。1.3 大模型的训练过程训练过程主要有以下4个阶段:数据搜集:与小规模语言模型相比,LLM对用于模型预训练的高质量数据又更强的需求,其模型容量很大程度上依赖于与训练语料库及其预处理方式基础大模型训练:基础大模型构建了长文本的建模能力,使得模型具有语言生成能力,根据输入的提示词(Prompt),模型可以生成文本补全句子指令微调:将大量各类型任务,统一为生成式自然语言理解框架,并构造训练语料进行微调类人对齐:进一步优化模型,使其可以生成更加贴近人类习惯的文本内容1.4 大语言模型的训练要求大量的数据:图书、网页、论坛、代码(ChatGPT训练需要45TB数据)合适的算法:Transformers、DeepSpeed、Megatron-LM等充足的算力:据说GPT-3语言模型训练使用了10万个GPU,高达 100 PFLOPS (floating point operations per second,每秒所执行的浮点运算次数)的算力而在拿到大语言模型后,我们要做的就是在有限的数据和算力基础下,基于与训练好的模型微调,让模型融入你的数据知识。二、华为云AI功能介绍2.1 使用华为云端算力调用大模型华为云调用AI大模型的整体架构如下华为云提供了AI大模型的生态社区 —— AI Gallery,它具有以下功能数据集工具包算法模型工程应用等等训练大模型是需要大量数据的,华为云提供了DataArts(数据生产线)数据治理中心DataArts Studio:沉淀华为10+年数字化转型最佳实践经验,数据治理&开发效率10倍+云数据仓库GaussDB(DWS):中国唯一CC EAL 2+安全认证(中国金融行业商业规模No.1)云原生数据湖MRS:一湖多集市构建现代数据栈(蝉联中国大数据市场No.1)2.2 ModelArts架构简介AI开发平台ModelArts构建全栈全生命周期的模型开发工具链,通过全面的AI工具和服务,为业务智能快速创新赋能。AI高效开发提供端到端模型生产线,高效开发、调试和调优大模型应用和场景化应用提供端到端监控工具,智能运营运维MLOps高效迭代AI模型,持续提升精度数智融合,数据服务与AI开发全流程打通对接AI Gallery,便捷使用开源大模型等预置资产AI高效运行提供AI加速套件,支持数据加速、训练加速和推理加速,支持分布式高效训练和推理提供高性价比昇腾算力支持大规模异构集群及调度管理AI高效迁移提供全流程云化昇腾迁移工具链,支撑用户AI业务全栈国产化提供迁移专业服务
  • [热门活动] 2023年DTT直播对我的影响
    2023年DTT直播对我产生了积极的深远影响,给我带来了丰富的收获与帮助,对我个人的成长和职业发展都有着重要的意义。1. 专业知识和技能的提升:DTT直播为我提供了学习和提升专业知识和技能的机会。通过聆听讲座、参与互动环节和案例分析,我受益匪浅,对设计思维、团队协作、产品设计等领域有了更深入的理解和实践经验。这些知识和技能的提升,让我在工作中更加自信和高效,也为我未来的职业发展奠定了坚实的基础。2. 视野和格局的拓宽:DTT直播让我接触到了来自不同行业和领域的专家、学者和企业家,他们的分享和观点让我开阔了眼界,拓宽了视野。通过与不同背景的人交流探讨,我了解到了不同的文化、不同的思维模式和不同的工作方式,这让我更加包容和理解,也为我未来的工作和生活带来了新的启发和动机。3. 人脉和资源的获取:DTT直播是一个重要的社交和网络建立平台,让我有机会与志同道合的人建立联系,这对我的人脉和资源的获取有很大帮助。在DTT直播中,我遇到了一些优秀的专业人士,他们分享了宝贵的经验和洞察,也为我提供了潜在的合作机会。这些连接和资源,不仅拓展了我的工作和生活圈子,也为我未来的发展提供了可能。4. 创新和创造力的激发:DTT直播的氛围充满活力和创造力,激发了我的创新和创造性思维。通过聆听不同的演讲和参与不同的活动,我获得了许多新的想法和灵感。这些启发让我在工作中更加敢于创新和尝试,并帮助我以更开阔的视角看待世界,寻找新的机遇和挑战。5. 个人成长的鞭策:DTT直播为我提供了一个自我反省和成长的机会。通过参与DTT直播,我意识到自己的优势和不足,这让我更加注重个人发展和学习。我开始更加积极地寻找机会,提升自己各方面的能力,包括专业知识、沟通能力、领导能力等。DTT直播让我意识到,持续学习和成长对于个人成功和职业发展至关重要。总之,2023年DTT直播对我产生了积极而深远的影响,它为我带来了丰富的收获和帮助,让我在专业知识、技能、视野、人脉、创新能力和个人成长等方面都得到了显著的提升。这是一个难忘的学习和成长之旅,我非常感谢DTT直播提供的这个绝佳的机会。
  • [其他] 向大语言模型提问的技巧
    提问的基本方法:明确主题 清楚表达意图,并聚焦在一个主题内对话。明确需求 想要信息查询、劝说、娱乐,还是其他。明确基调 ChatGPT会根据主题设置自已返回文本的表述基调。限制长度:说清楚要输出多少字数明确受众:ChatGPT可以自动调整语种、语调、风格来适配这个群体。领域信息 补充相关领域信息,最好单独成段,提供相关样例、对比分析等阐明动作 在段落尾部,说明要采取什么动作。有些情况下,可能要使用高级技巧:小样本(few-shot)提示:先给ChatGPT主动提供几个例子,然后再提问。思维链(CoT Chain of Thought)提示:先给ChatGPT提供一个例子,然后主动解释例子中的推导过程,然后提问。思维链方法可以和小样本提示方法一起使用零样本(zero-shot)提示:在提问时,不做解释而是直接要求ChatGPT自已输出思考过程(原文是1et's think step by step,据研究, 这个写法比其他写法效果好)。因为ChatGPT是逐字生成的,所以它自已生成的思考过程本身也会影响后续计算,提升效果。可以说是CoT的一种变体。广度拆分问题:学术叫法是自一致性(self-consistency),也是CoT的一种变体,提供多种不同的推导过程,得到相同的最终结果。这样可以提升结果的稳定性。深度拆分问题.学术叫法是自问答(self-ask),也是CoT的一种变体,主要是把推导过程变成拆解多个子问题再逐一的过程。为了回答主问题,先要回答第一个问题、第二个问题......最终才知道答案。事实上,由于ChatGPT本身的交互形式和字数限制,也鼓励我们在对话中主动思考问题,拆解问题,一步一步探索问题答案。
  • [其他] 适合大语言模型的场景
    在大语言模型领域卓有建树的Cohere公司创始人Yunyu Lin, 曾经著文讲解他认为最合适大语言模型的三类场景( 1 )There is no one correct answer (creative applications, summarization ) 。( 2 )There is some tolerance for error (routing, tagging, searching, and Other tasks where perfection isn't required) 。( 3 )The answer can be easily verified (math, writing code for specific tasks, or human-in-the-loop use cases) 。从以上几个特点来看,可以反向提取出ChatGPT不合适的场景特点:( 1 )有明确且唯一可行的标准定义答案;( 2 )即使稍微犯错也会造成较大影响,故而不可接受,( 3 )错误不是很容易发现或证实,至少相对当前使用者的知识水平来说很难。所以,使用大语言模型的人要明白它适用的场景,别被它骗了还信以为真。有些事情,是不是出错的。
  • [其他] 深度合成的合规性要求
    在stable-diffusion和ChatGPT引领的AIGC时代之前,深度学习己经在部分领域带来了先导性的变革成果。deepfake开源项目一度“出圈”震撼了全世界的普通民众,最终被各应用市场强制下架。因此,针对深度合成、智能合成技术,世界各国在最近几年内,都己经有些法律法规。例如,美国在2019年通过了《马尔文斯蒂芬斯人工智能中心法案》,要求国防部建立一个人工智能中心,负责研宄和应对深度合成技术对国家安全的影响。欧盟委员会在2020年发布了《白皮书:人工智能--欧洲途径》,提出了一些监管措施,包括强制性的风险评估、透明度和可追溯性要求、人工智能系统的质量和安全标准等。2022年11月25日,中国网信办公布了一份重要法规:《互联网信息服务深度合成管理规定》,定于2023年1月10日起正式实施。规定明确了深度合成技术的范畴,包括:(1)篇章生成、文本风格转换、问答对话等对文本内容进行生成或者编辑的技术;(2)文本转语音、语音转换、语音属性编辑等对语音内容进行生成或者编辑的技术;(3)音乐生成、场景声编辑等对非语音内容进行生成或者编辑的技术;(4)人脸生成、人脸替换、人物属性编辑、人脸操控、姿态操控等对图像、视频内容中人脸等生物特征进行生成或者编辑的技术;(5)图像增强、图像修复等对图像、视频内容中非生物特征进行编辑的技术;(6)三维重建等对虚拟场景进行生成或者编辑的技术
  • [其他] LangChain的发展历史
    LangChain的作者是Harrison Chase,他最初在2022年10月将LangChain作为一个开源项目发布在GitHub上。这个项目迅速获得了大量的关注,并且在短时间内就从一个开源项目转变成为了一家初创公司。在Harrison Chase将LangChain开源之后,这个项目迅速获得了广泛的关注和大量的用户。这主要归功于LangChain为AI开发人员提供了一个简单易用的框架,使得他们能够轻松地将大型语言模型与外部数据源结合使用。随着时间的推移,LangChain逐渐成为了一个功能强大、用户友好的框架,吸引了越来越多的开发人员和企业的关注。这也促使了LangChain的作者Harrison Chase决定将这个项目转变为一家初创公司,以提供更全面、更专业的服务。2023年4月,LLM 应用开发框架 LangChain 融到种子轮1000万Dollar.发布LangChain的第一个版本时,生成型AI正逐渐成为主流:稳定扩散刚刚发布,吸引了人们的想象力,引发了开发者活动的爆发,Jasper宣布了一轮融资,投资者发布了第一个Gen AI市场地图。在内容创作方面出现繁荣的同时,人们开始意识到这项技术的真正力量不是单独使用语言模型,而是将语言模型作为新型、更智能系统的一部分。开发者们讨论着如何将语言模型连接到他们自己的专有文档、API和结构化数据。像Self-Ask with Search和ReAct这样的研究论文被发表,展示了这些方法的威力。2022年10月24日发布LangChain Python软件包的第一个版本。Harrison在第一条推文中说:“一个旨在通过组合性帮助构建LLM应用的Python软件包”“真正的力量在于你能够将LLM与其他东西结合起来。”“LangChain旨在通过创建一个全面的组合集合,帮助实现这一点……你可能想要组合的所有部分,一个灵活的界面,将这些部分组合成一个完整的‘链’”如今,LangChain已经成为了一个备受关注的人工智能初创公司,其估值已经达到了2亿美元。这样看起来,LangChain有点像Python作为胶水语言的那种功能。
  • [其他] ChatGPT的基本原理
    中文互联网上还缺少和英文一样量级、开放且标准化的数据集语料。比如:中国几乎没有reddit、hackernews这类以出站链接和问答评论为主的社交媒体平台(这点好像不对)。现存的中文语料库,几乎都来自各大高校和科研机构,如北京语言大学BBC、清华大学0penSLR、北京大学CCL、南京农业大学NEPD、智源研究院wuDaoCorpora等。复旦大学发布Moss人工智能对话机器人时,就坦言自己完全是使用英文互联网世界的标准语料,并无特殊的中文数据。(蹭流浪地球热度的家伙)当ChatGPT要生成一段文本时,它会先看看已有的文本是什么类型和主题的,然后根据自己学习到的规律和特征,来预测下一个最合理的单词是什么。比如说,如果已有的文本是“今天天气真好",那么下一个最合理的单词可能是“我"“我们"“你”等。然后ChatGPT会把这个单词加到已有的文本后面,再重复这个过程,直到生成一段完整的文本。这就是ChatGPT的基本原理下一个问题,ChatGPT是怎么判断一个单词是否合理呢?ChatGPT的判断依据是它学习到的语言模型,也就是它对人类语言的规律和特征的统计和分析。它会根据已有的文本,计算出每个可能的单词出现在下一个位置的概率,然后选择概率最高的那个单词。比如说,如果已有的文本是“今天天气真好”,那么ChatGPT会根据它阅读过的所有文本,计算出“我”“我们"“你”等单词出现在下一个位置的概率。如果“我"这个单词出现在下一个位置的概率是0.8 “我们”是0.1“ 你”是0.05,其他单词都是0.01或更低,那么ChatGPT就会选择“我"这个单词,因为它有最高的概率。当然,这个概率并不是绝对准确的,因为它只能反映ChatGPT学习到的语言模型,而不一定能反映真实世界中人类语言的多样性和复杂性。所以有时候ChatGPT也会生成一些不合理或者错误的单词,比如说“今天天气真好猫"。但是这总是一个局部的推理。就好像输入法的自动联想,可以联想出一句话。 所以这个原理解释我是不信服的。
  • [其他] 类试ChatGPT的LLM产品有哪些
    类试ChatGPT的LLM产品,比如 Meta公司的LLaMA、Google公司的Bard Anthropic公司的Claude 复旦大学的MOSS,斯探福大学的Alpaca、波克利的Vicuna 清华的ChatGLM,百度公司的ERNIE(文心一言)等。ChatGPT可能用到的训练数据集包括维基百科:ll.4GB 维基百科是世界著名的免费、多语种、在线百科全书,有超过30万名志愿者在贡献内容。 一般参与训练的是其中的英文版部分,包括662万篇文章,超过42亿个单词。这其中传记类占27.8%,地理类占17.7%,文化艺术类占15.8%,历史类占9.9%,生物医学占7.8%,体育类占6.5%,工商类占4.8%,理工和数学类占3.5%等等0penAI自身公开的训练数据分语种统计结果(languages_by_word_count.csv)中,训练数据集里英语单词占比92%。此外,法语占1.81%,德语占1.47%,其他语种均在1%以下,汉语比例为0.1%。但实际ChatGPT的各语种问答能力,远超OpenAI的预计。
  • [技术干货] 如何看待AI的版权问题?
    近期网上大热的“AI 歌手”你听过吗?开发者用知名歌手的歌曲作为训练材料,演唱其他歌手的歌曲。这样的“AI歌手”们是否侵权呢?有的人认为AI未经授权使用了知名歌手的声音进行训练,属于侵权;有的人认为AI是学习歌手的声音,而不是直接复制,且AI演唱的并不是歌手本人的作品,属于学习后再创作,并没有侵权。1.AI生成的作品是否具备版权?如果具备,版权应该属于谁?2.AI 学习时如果使用版权材料(如文中提到的知名歌手的歌曲),是否属于侵权行为?为什么?3.如果AI可以使用版权材料进行学习,社会将会产生什么变化?
  • [技术干货] 函数计算3.0,你的体验如何?
    函数计算 3.0 版是产品的一个重大升级版本,在函数管理、函数执行引擎、自定义域名、函数授权及弹性伸缩规则方面进行了多项改进。新版具备以下优点:1、极简体验,更易集成,复杂度降低 40%。2. 技术升级,释放红利,资源成本减少 92%。3. 让 AI 应用开发更简单,AI 应用一键部署,上手难度降低 80%。1、 你如何看待本次函数计算的版本升级?2、版本升级后,将会在哪些场景方便你的使用,请举例说明。3、你会使用函数计算进行AI应用开发吗?请分享你的开发案例
  • [技术干货] 服务器操作系统与 AI 和云计算的结合,将会掀起一股什么样的热潮?
    《国产服务器操作系统发展报告(2023)》称操作系统已步入 2.0 时代,服务器操作系统与 AI 和云计算的结合已是大势所趋,你认为龙蜥开源操作系统在云+AI 的时代面临哪些挑战?对此你有什么看法?
  • 写一个chatgpt 安卓应用会被下架吗,需要满足什么条件才能不被下架?
    写一个chatgpt 安卓应用会被下架吗,需要满足什么条件才能不被下架?
  • [其他] Midjourney提示的风格主题
    再来点更高级的。  Midjourney可以快速生成各种风格的人物照片,并且这些照片足以以假乱真,在镜头、光线和构图的使用上也可以做到专业级。 核心提示词使用规则,包含以下部分 人物主体描述 背景环境描述 人物外形描述 风格描述 设备/镜头参数  举例。 人物主体描述:21years Chinese girl 背景环境描述:in school 人物外形描述:beauty,long black hair 风格描述:sun light,insane detail,smooth light,real photography fujifilm superia,full HD 设备/镜头参数:taken on a Canon EOS R5 F1.2 IS0100 35mm  我们可以在Midjourney中转换为如下提示词: 21years Chinese girl,in school,beauty,long black hair,sun light,insane detail,smooth light,real photography fujifilm superia,full HD,taken on a Canon EOS R5 F1.2 1S0100 35mm --ar 4:3  MidJourney生成的UI/UX(User Interface用户界面)/(User eXperience 用户体验)图像虽然不能自接作为源文件使用,但是可以作为排版、配色、构图等视觉元素的参考素材,并且与传统素材比较起来更加直观和生动。核心提示词中的横纵比参数关乎实际产品的排版,比如移动端产品为9:16、计算机端产品为16:9。 
  • [其他] Midjourney的提示词
     提示词大致由3个部分构成:主体描述、环境背景、艺术风格。 如果你不指定,那就是随机。 比如:a cat 太简单,AI也会随意给你生成,反正是只cat就行。 所以我们做加法,变成 a cute cat sleeps on the eaves 这样就有了主体、环境信息了 AI就懂了很多,在做一个简单加法,加上艺术风格 a cute cat sleeps on the eaves, illustration 让AI生成插画风格  来个高级点的 https://abc/xyz Chinese boy,8k,3d style,cartoon character design,rich details, soft light, relaxed, OC rendering --iw 2 其中最后的--iw 2参数指的是提升图像的权重,权重越高,生成的结果和提供的参考照片(https里指定的)就越似,--iw 2是最高权重。  调整宽高比、放大倍数等参数可以改变生成图像的风格。为了更改这些参数,将它们添加到提示词的末尾。确保在提示词中准确地指定了所需的参数,并将参数按照正确的格式放置在提示词的最后。 
总条数:65 到第
上滑加载中