-
前言在软件开发领域,AI工具越来越流行。去年GitHub发布报告称,有了AI辅助工具,开发者编程速度提高55%。但是,AI工具辅助编写的代码是不是更好呢?GitClear对2020年1月至2023年12月间编写的1.53亿行代码进行检查发现,相比以前,编写之后修改的代码行数明显增加,2024年相比2021年增加了一倍。换言之,有了AI工具,虽然编程速度加快了,但在第一次编写时错误也大大增加了。形象地说,用AI辅助编写代码,就像聘请一名短期合同工为你工作,他关心的是如何编写冗长的代码,而不是保证代码的可维护性。AI会复制原有代码的错误开发者安全公司Snyk在报告中指出,GitHub AI编程辅助工具Copilot并不安全,如果已有代码库本身存在安全问题,工具编写的代码同样也会不安全。Snyk在2月22日的报告中指出,Copilot会复制代码中存在的安全问题,如此一来,已有安全隐患会让Copilot代码更加不安全。市场上已经出现不少生成式AI编程工具,比如亚马逊CodeWhisperer,ChatGPT等。现有工具的最大问题在于:它无法理解语义,所以无法对代码作出评判。GitHub Copilot从海量过往代码中学习,形成特定模式和结构,然后生成代码片段。这套学习方法有一定优势,但也有一个缺陷。Copilot代码可能会复制已有安全漏洞,或者复制相邻文件中的不良案例。如何降低影响呢?Snyk给出一些建议:包括开发者手动检查代码;安全团队应该设立SAST护栏;开发者应该遵守安全编程指南;安全团队应该给开发团队培训,将每个团队的积压问题分类,按优先级排序;执行团队应该强制设置安全护栏。一般来说,平均每个商务软件项目的第一手代码都会有40个漏洞,当中约三分之一都是高危漏洞。AI生成工具会复制这些漏洞,影响恶劣。跨站脚本攻击(cross-site scripting,XSS)、路径穿越(Path Traversal)、SQL注入、硬编码加密密钥等安全问题比较常见。所以,行业几乎有一个共识:就眼下来看,AI辅助编程还没有迎来黄金时代,AI还不够好。但AI辅助编程未来可期GitHub CEO Thomas Dohmke不久前接受采访时表示:“开发者已经进入AI时代。现在的问题已经很明确,你准备以多快的速度上船?你是不是准备继续沉醉于过去,站在历史错误的一边,忽视生产力提升的大好机遇?”GitHub Copilot实际上归微软所有,最新财报显示,最近一个季度Copilot付费用户数已经突破130万,相比前一个季度猛增30%,已经有5万家企业使用Copilot。Thomas Dohmke称,平台上用户编写的代码约有一半是AI生成的。Thomas Dohmke认为,社区已经普遍接受一个观点,即AI生成代码需要人类程序员监督审核。值得一提的是,新手程序员特别喜欢使用Copilot,因为它能协助解决编程难题。随着编程自动化程度的增加,代码中的错误可能会越来越多,这点其实已经引起争论。Thomas Dohmke称,自Copilot引入之后错误增加数量比较“正常”,没有证据证明AI导致错误猛增。真是这样吗?未必。新手程序员大规模使用AI,一旦出现错误,新手可能无法发现,整个代码的质量可能会下降。微软对AI工具充满期待,除了编程,它还希望Copilot能帮助用户写邮件、制作电子表格、分析Office文档。微软甚至还为Windows PC键盘增加一个“Copilot”按键。谷歌也在开发类似工具。微软CEO纳德拉在最近的财报会议上表示,围绕GitHub Copilot和它的生产力问题,我们已经看到很多的证据和数据,结果不错。纳德拉预计其它Copilot应用也会带来良好效果。总之,目前Copilot还是新生事物,相信再过一段时间,当我们拥有更多数据,就能对上述问题有更深刻理解。(小刀)
-
OpenAI视频大模型Sora是一个在2024年2月15日(美国当地时间)正式对外发布的人工智能文生视频大模型。Sora的原理和应用思考如下:一、原理介绍技术基础:Sora是在OpenAI的文本到图像生成模型DALL-E的基础上开发而成的。它继承了DALL-E的画质和遵循指令能力,能理解用户在提示中提出的要求。视频生成:Sora可以根据用户的文本提示创建最长60秒的逼真视频。这一特点使得Sora生成的视频不仅局限于短暂的片段,而且能够展现更丰富的故事和情节。世界模型融合:Sora不仅是一个视频生成模型,还被视为一个“世界模拟器”。它能够理解物体在物理世界中的存在方式,并深度模拟真实物理世界。因此,Sora可以生成具有多个角色、包含特定运动的复杂场景。数据压缩与训练:在视频生成过程中,Sora采用了一种称为“视频压缩网络”的技术,将输入的图像或视频数据转换成一个更简洁、低维度的表达方式。然后,Sora将这些压缩过的数据进一步细分为所谓的“空间时间补丁”,这些补丁可以被视作视觉内容的基本单元。接着,Sora在一个低维潜在空间中进行训练,并在该空间内生成视频。架构与扩展性:与GPT模型类似,Sora使用了Transformer架构,具有很强的扩展性。此外,Sora从类似于静态噪声的视频开始,通过多个步骤逐渐去除噪声,从而生成高质量的视频。二、应用思考创作工具:Sora对于需要制作视频的艺术家、电影制片人或学生来说具有无限可能。他们可以通过简单的文本提示来生成所需的视频内容,从而大大提高创作效率。互动体验:由于Sora能够深度模拟真实物理世界并生成具有多个角色和特定运动的复杂场景,因此它可以被用于创建更具互动性和沉浸感的体验。例如,在游戏设计、虚拟现实和增强现实等领域中,Sora可以为用户带来更加逼真的体验。教育与培训:Sora还可以被用于教育和培训领域。通过生成逼真的视频内容,Sora可以帮助学生更好地理解抽象的概念和原理,从而提高学习效果。同时,对于职业培训而言,Sora也可以提供更具实践性的模拟训练场景。娱乐产业:在娱乐产业中,Sora可以为电影、电视剧和动画等制作提供强大的技术支持。通过简单的文本提示,制作人员可以快速生成所需的场景和角色动作,从而大大缩短制作周期并降低成本。总结OpenAI视频大模型Sora的原理和应用思考展示了人工智能在视频生成和模拟真实世界方面的巨大潜力。随着技术的不断进步和应用场景的拓展,Sora有望在未来为各个领域带来更多的创新和变革。
-
前言随着数字技术的飞速进步,视频创作已经从专业领域的专属工具,逐渐转变为大众皆可参与的创意表达平台。而在这个变革的浪潮中,Sora文生视频凭借其独特的技术优势和创新的理念,正重新定义着视频创作的边界。Sora文生视频不仅仅是一个视频编辑工具,它更是一个集创意、协作与分享于一体的综合性平台。通过Sora,用户可以轻松地将自己的想法和故事转化为生动的视频作品,与全世界分享自己的创意和热情。一、技术驱动的创意表达Sora文生视频拥有强大的技术支撑,其基于深度学习的图像处理和语音识别技术,使得视频编辑变得更加智能化和高效。用户无需具备专业的视频制作技能,只需要通过简单的拖拽和选择,就能实现复杂的视频剪辑和特效制作。在Sora平台上,用户可以轻松调整视频的色彩、光线和构图,实现电影级的视觉效果。同时,平台还提供了丰富的音效库和背景音乐选择,让视频作品更加生动和感人。除了基础的编辑功能,Sora还支持AI驱动的自动化编辑。通过智能识别视频内容,Sora能够自动添加合适的特效、转场和字幕,大大提升了视频制作的效率和便捷性。二、协作与分享的社区精神Sora文生视频非常注重用户之间的协作与分享。平台提供了多人在线编辑功能,使得团队成员可以实时协作,共同完成一个视频项目。这种协作模式不仅提高了工作效率,也让创意的碰撞和融合成为可能。同时,Sora还建立了一个充满活力的创作者社区。在这个社区里,用户可以浏览和分享其他创作者的作品,互相学习、互相启发。这种分享和互动的精神,让Sora成为了一个创意的聚集地,吸引着越来越多的创作者加入其中。三、教育与培训的广阔应用除了个人创作者和团队协作,Sora文生视频在教育和培训领域也有着广泛的应用。教师可以利用Sora平台制作生动有趣的课件和教学视频,提高学生的学习兴趣和效果。学生也可以利用Sora平台自主创作学习视频,巩固和拓展学科知识。此外,Sora还可以作为企业和机构的内部培训工具。通过制作定制化的培训视频,企业可以更加高效地进行员工培训和能力提升。四、展望未来随着技术的不断发展和市场的不断拓展,Sora文生视频的未来充满了无限可能。首先,随着5G、云计算等技术的普及,视频创作和分享将变得更加便捷和高效。Sora平台将能够支持更高清、更流畅的视频制作和分享,为用户提供更加优质的视频体验。其次,随着AI技术的不断进步,Sora的自动化编辑功能将更加智能和精准。未来,我们甚至可以期待通过语音或文字描述,就能自动生成高质量的视频作品。最后,随着全球创作者社区的不断扩大和成熟,Sora将成为一个真正的全球创意交流平台。在这个平台上,不同文化、不同背景的创作者可以相互碰撞、相互学习,共同推动视频创作艺术的进步和发展。结语Sora文生视频以其独特的技术优势和创新的理念,正在重新定义视频创作的边界。它不仅提供了一个高效便捷的视频编辑工具,更建立了一个充满活力和创意的社区。在这个平台上,每个人都可以成为创作者,用视频表达自己的想法和故事。随着技术的不断进步和市场的不断拓展,我相信Sora文生视频将会在未来继续引领视频创作的新潮流,为我们带来更多惊喜和感动。
-
现在网上一堆文章,说 Stable Diffusion 不仅可以用 N卡,还可以用 A卡做这就很爽了,因为同样性能的A卡,价格是N卡的一半(例如3代矿卡,最著名的:RX580)虽然理论是这样,但AMD显卡,用来做 Stable Diffusion 实际效果咋样?有人用过吗?
-
什么是检索增强技术 RAG (Retrieval-Augmented Generation)大模型RAG(Retrieval-Augmented Generation)是一种基于生成式预训练语言模型的文档结构化方法。该方法旨在将非结构化的文档转换为结构化的格式,以便于后续的信息抽取和知识推理。RAG模型通常包括检索模块和生成模块,检索模块负责从知识库中检索与给定查询最相关的文档,而生成模块则根据检索器的输出生成相应的响应。通过联合训练检索器和生成器,RAG模型能够协同工作,提高生成相关性和准确性。基于检索增强技术 RAG (Retrieval-Augmented Generation)构建特定领域的大模型检索增强技术 RAG (Retrieval-Augmented Generation) 需要解决在特定领域关键词词性的“幻觉”问题以下是一些构建特定领域的大模型RAG(Retrieval-Augmented Generation)的建议步骤和注意事项:明确任务目标:首先,要明确RAG模型的任务目标。这涉及到确定模型需要回答的问题类型,例如,是问答任务、摘要生成任务还是对话生成任务等。数据收集和预处理:对于RAG模型的训练,需要收集大量领域相关的高质量数据。这可能包括文本、对话、问答对等。数据预处理也很重要,例如,分词、去除停用词、标准化文本等。选择适当的模型架构:RAG模型通常包括检索模块和生成模块。选择适当的模型架构对于模型的性能至关重要。可以考虑使用预训练的语言模型作为生成器,同时使用嵌入向量作为检索器的输入。训练检索器:检索器的作用是从知识库中检索与给定查询最相关的文档。需要使用适当的损失函数来训练检索器,并确保其能够有效地检索相关信息。训练生成器:生成器的作用是根据检索器的输出生成相应的响应。可以使用条件变分自编码器(CVAE)等模型来训练生成器,并确保其能够生成有意义且相关的响应。联合训练:最后,需要将检索器和生成器联合训练,以确保它们能够协同工作。可以通过最小化检索器和生成器之间的损失来达到这个目的。注意事项:数据质量和规模对模型的性能有很大影响,因此尽可能使用高质量的数据集。模型训练可能需要大量的计算资源和时间,因此可以考虑使用分布式计算或GPU加速。监控训练过程和验证模型的性能是很重要的,可以通过绘制学习曲线等方法来评估模型的性能。在应用RAG模型时,需要注意其可能产生的偏见和伦理问题,例如,歧视性语言、隐私泄露等。需要采取适当的措施来解决这些问题。其它模式除了RAG模式,还有以下几种常见的大模型外挂知识库模式:预训练+微调(Pretrained-to- Fine-tuning):这种方法首先使用大规模语料库进行预训练,然后通过微调过程将模型参数调整到最佳性能。这种方法的优点是能够利用大规模数据集和算力资源,快速提升模型性能;缺点是需要大量时间和计算资源进行预训练和微调。迁移学习(Transfer Learning):这种方法将一个领域的知识迁移到另一个领域中,从而在不需要重新训练的情况下获得新的知识。例如,可以将机器学习领域的模型迁移到自然语言处理任务中。这种方法可以节省大量的时间和资源成本,但需要注意不同领域之间的差异和挑战。联合训练(Cross-training):这种方法将多个模型进行联合训练,以增强模型的性能和能力。例如,可以使用一个生成器和一个检索器进行联合训练,以提高生成的准确性。强化学习(Reinforcement Learning):这种方法通过让模型与环境交互来学习技能和策略。在这种方法中,模型需要自己探索并发现新知识,因此需要更多的数据和计算资源来进行训练。自动化构建知识图谱(Auto-building Knowledge Graphs):这种方法使用自动化工具和技术来构建大型知识图谱,以便更好地理解信息和关系。这种方法需要大量的数据和专业知识来进行自动化构建。这些模式各有优劣,需要根据具体的应用场景和需求选择合适的模式来构建大模型外挂知识库。
-
ChatGPT最近在中国爆发了 ,带来了越来越多的人工智能工具 如雨后春笋般涌现。相信很多设计师都开始意识到AI工具可以帮助我们提高工作效率, 让设计工作变得更简单。今天Chris为大家介绍15款超棒的AI工具,包括一键抠图、卡通绘图、配色工具等,让你轻松实现自己想要的设计素材。千万不要错过这些神奇的工具,让AI成为你提高工作效率的得力助手!1. Khroma配色工具https://www.khroma.co/ www.khroma.co/ Khroma 是一款人工智能工具,通过学习和分析海量的色彩数据,智能生成高质量的配色方案,让你的配色方案工作量翻倍。只需输入基本颜色或选择颜色主题即可获得多种配色方案的组合和调整。此外,还可以通过自定义亮度、饱和度等参数,定制专属配色方案。2. Huemint配色工具Color palette generator for brands, websites and graphics huemint.com/brand-intersection/ Huemint 是一款神奇的 AI 配色工具,可智能识别前景、背景和强调色,让您自由掌控配色方案。在Huemint网站上,您可以通过工具栏操作来选择颜色、选择生成模型、控制颜色倾向等,让Huemint变得更智能、更易用。这对设计师来说是一个福音。 3.AnimeGAN绘图工具AnimeGAN.js animegan.js.org/ AnimeGAN 是一种基于深度学习的图像风格迁移算法,让你从真实的照片或视频中瞬间智能生成漫画风格的图像或视频。上传一张你自己或你偶像的照片,AnimeGAN 会在几秒钟内生成高质量、类似手绘的漫画风格图像,让你的设计作品更加生动有趣。✨4. Pixel Planet Generator绘图工具https://deep-fold.itch.io/pixel-planet-generator deep-fold.itch.io/pixel-planet-generator Pixel Planet Generator 是一款在线像素艺术生成器,拥有十二种预设风格的黑洞、星系、恒星、小行星,以及可自定义的行星纹理、颜色、角度和其他细节。通过使用漂亮的AI工具Pixel Planet Generator,它可以帮助没有任何专业美术技能的用户通过简单的点击和拖动操作绘制他们想要的图案和形状来创建美丽的像素艺术。5.AutoDraw绘图工具https://www.autodraw.com/ www.autodraw.com/ AutoDraw ️ 是一个很好的AI工具,让用户只画一个基本的形状,AutoDraw会自动识别形状并提供几个相似的形状供用户选择,用户可以选择自己喜欢的也可以调整修改它。此外,AutoDraw提供了一些常用的图形和符号,用户可以直接选择使用,而无需自己绘制,从而使用户可以更快速、更准确地创建高质量的草图图形,降低绘图门槛。6. Posemaniacs设计工具https://www.posemaniacs.com/ www.posemaniacs.com/ Posemaniacs 是一个免费的在线人体解剖学AI工具,提供各种姿势和身体结构的3D模型,包括日常生活姿势、瑜伽、跑酷、篮球、舞蹈等。它可以帮助您节省大量寻找时间图纸参考!在Posemaniacs姿势库中,您可以选择不同的动作,如站立、行走、跑步、跳跃等。并借助旋转、缩放和运动工具,帮助设计师仔细观察和了解人体结构和肌肉变化不同的姿势。7.Ingradients设计工具Ingradients - Hand-picked mesh gradients for your next design project ingradients.net/ Ingradients 这个好用的 AI 工具提供了 6K+ 渐变色素材,可用于网页设计、UI 界面、海报等设计,帮助设计师提升作品的视觉效果。只需选择您喜欢的渐变,点击下载按钮,并输入您的电子邮件地址,即可免费获得 png/jpg 格式的精美渐变。8. Designs.ai设计工具https://designs.ai/ designs.ai/ Designs.AI 是一个功能丰富、简单易用的创意设计平台,集成了人工智能技术和多种设计工具,使用户能够更快速、更高效地创建专业级的设计。简单易用的AI工具Designs.ai拥有超过20,000个模板和10,000个图标,帮助用户根据需要自定义图标、形状、字体、颜色、模型颜色和背景阴影等效果,智能生成标志设计、品牌指南和产品型号。9. Adobe Sensei设计工具https://www.adobe.com/sensei.html www.adobe.com/sensei.html Adobe Sensei 是 Adobe 开发的人工智能和机器学习技术平台。它可以帮助设计师、摄影师、视频编辑和其他创意专业人士通过自动执行重复性任务并使创意过程更智能、更高效来提高创意过程的效率。Adobe Sensei 具有图像识别、智能填充、视频处理、自然语言处理、多语言翻译等功能。它协助用户更轻松地管理、填充和搜索图片,自动编辑和裁剪视频,管理和搜索文本内容,并进行自动文本翻译,以简化工作流程 并为用户节省大量时间和精力⏰ 。10. Uizard设计工具https://uizard.io/ uizard.io/ Uizard 是一款基于人工智能的设计工具,可以自动将用户的手绘草图、文字描述和图片转换成高质量的设计原型和代码。这降低了网站和应用程序开发的门槛,同时提高了设计人员的生产力和创造力。Uizard 还支持多人协作,允许用户与其他设计师、开发人员和客户一起使用该工具来共同创建最终设计 。11. Deep Art Effects图像处理工具https://www.deeparteffects.com/ www.deeparteffects.com/ Deep Art Effects 是一款基于人工智能的图像处理工具。只需单击一下,它就会自动识别和提取艺术风格,并将该风格应用到用户上传的图片中,从而实现将普通照片和图像转换为艺术风格的图像。Deep Art Effects提供超过120种艺术风格供用户选择,用户可以根据自己的需要定制自己的艺术风格,让你的作品瞬间升华!12. Let’s Enhance图像处理工具https://letsenhance.io/ letsenhance.io/ Let's Enhance 是一款基于 AI 的图像增强工具,通过自动修复、去噪、增强细节等功能来提高图像的清晰度和质量。有了这个强大的AI工具,对于需要让自己的图像更清晰的人来说,这样就很容易了!Let's Enhance 支持对多张图片进行批量处理,并支持将增强后的图片保存为不同的格式,并进行裁剪和调整,从而帮助设计师更高效地工作。13. remove.bg图像处理工具https://www.remove.bg/ www.remove.bg/ remove.bg 是一款出色的 AI 工具,可让设计师一个一个地分解背景。 ️♀️ 只需单击一个按钮即可自动识别和分离图像中的前景对象和背景,从而实现即时背景去除。此外,删除。bg还支持批处理、透明背景选择、颜色调整等诸多实用功能。现在您不必再浪费时间处理图像了! !14. ClipDrop Remove Background设计工具https://clipdrop.co/remove-background clipdrop.co/remove-background ClipDrop Remove Background 是一款免费的在线抠图工具,它使用AI人工智能算法,帮你轻松去除照片背景,即使是头发、相似颜色的阴影等,也能轻松去除!✨ 它支持输出高达 5000x5000 像素的图像,以获得更震撼的视觉效果。15. Img.Upscaler图片处理工具https://imgupscaler.com/ imgupscaler.com/ Img.Upscaler 是一款在线智能PNG/JPG图片无损放大工具,通过AI智能处理技术和超强的细节处理能力,将分辨率模糊的图片无损放大,支持10张图片一次免费处理,最大4000x4000 5MB。使用Img.Upscaler,您可以轻松将模糊的动漫图像、角色头像、动物图像等处理成4K高清质量,让您的图像消除锯齿,更平滑清晰,细节惊人!想快速升级您的图像吗?那就试试吧!概括这些就是 Chris 与您分享的 15 个超级好用的 AI 工具。除了上面介绍的这些工具,国内外还有很多强大的AI工具正在不断发展和改善人们的生活,让我们一起为他们的创新呐喊吧!AI工具的出现已经深刻改变了我们的工作和生活,设计师们可以利用这些AI工具来加快他们的工作效率,高质量的完成大量的设计工作, 也有更多的时间去探索更多设计元素的可能性. 相信在不久的将来,AI工具会发挥更重要的作用,成为设计师的得力助手,让我们拭目以待AI给设计带来什么! 下期再见。
-
在开发Java应用程序时,异常处理显得尤为重要。只有正确处理所有可能出现的异常,才能确保应用的健壮性和稳定性。传统上,我们会在每个可能抛出异常的方法中使用try-catch捕获异常,这当然可以解决问题,但代码冗长且难以维护。相比之下,使用AOP(Aspect Oriented Programming)来实现全局异常捕获会更加优雅高效。Java异常基础在Java中,所有异常都继承于Throwable类。主要分为两大类:Checked Exception和Unchecked Exception。Checked Exception:编译时即可检查到的异常,如IOException。必须用try-catch捕获或在方法声明上抛出。Unchecked Exception:运行时异常,如NullPointerException。不需要捕获也可编译通过。除此之外,Error并不是一个Exception,表示严重问题无法进行恢复。传统方式-方法内catch我们可以在每个可能抛出异常的方法内用try-catch来捕获:public void method() { try { // code } catch (Exception e) { // handle exception } }这种方式容易产生大量重复代码,维护复杂。如果忘记添加catch也会导致部分异常无法处理。AOP实现全局捕获AOP思想是将公共功能从主线业务中分离出来形成一个独立模块。我们可以用AOP框架如Spring AOP或AspectJ实现全局异常捕获:@Aspect public class GlobalExceptionHandler { @AfterThrowing(value = "execution(* com.example.service.*.*(..))", throwing="ex") public void handleException(Exception ex) { // 统一处理所有服务层抛出的异常 } }实战技巧除捕获异常,我们还可以返回一个友好的错误码:@AfterThrowing(value = "execution(* com.example.controller.*.*(..))", throwing="ex") public ResponseEntity handleControllerException(Exception ex) { return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR) .body(Result.fail("10000", ex.getMessage())); }同时,记录到日志中有助于问题排查:@AfterThrowing(value = "execution(* com.example..*(..))", throwing="ex") public void logException(Exception ex) { logger.error("异常:{}", ex); }这样不论方法内部抛出什么异常,我们都可以实现统一处理。大大提高了应用的可靠性。是不是很炫酷!请给个小红心支持一下。下次再聊更多AOP技巧。
-
【分享交流】你们认为2024年 AI 会像之前的工业革命一样,为人类社会带来巨大的变革吗
-
三、基于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的 本地知识库问答。
-
概述本次开源大模型体验官活动基于华为云一站式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直播对我产生了积极的深远影响,给我带来了丰富的收获与帮助,对我个人的成长和职业发展都有着重要的意义。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的作者是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作为胶水语言的那种功能。
上滑加载中
推荐直播
-
华为AI技术发展与挑战:集成需求分析的实战指南
2024/11/26 周二 18:20-20:20
Alex 华为云学堂技术讲师
本期直播将综合讨论华为AI技术的发展现状,技术挑战,并深入探讨华为AI应用开发过程中的需求分析过程,从理论到实践帮助开发者快速掌握华为AI应用集成需求的框架和方法。
去报名 -
华为云DataArts+DWS助力企业数据治理一站式解决方案及应用实践
2024/11/27 周三 16:30-18:00
Walter.chi 华为云数据治理DTSE技术布道师
想知道数据治理项目中,数据主题域如何合理划分?数据标准及主数据标准如何制定?数仓分层模型如何合理规划?华为云DataArts+DWS助力企业数据治理项目一站式解决方案和应用实践告诉您答案!本期将从数据趋势、数据治理方案、数据治理规划及落地,案例分享四个方面来助力企业数据治理项目合理咨询规划及顺利实施。
去报名
热门标签