《ChatGPT开发应用指南》,Datawhale开源了!

news2024/12/24 8:29:33

 Datawhale发布 

开源教程:HuggingLLM,Datawhale团队

随着ChatGPT的爆火,我们相信未来会有越来越多的大模型及类似OpenAI提供的服务出现,AI 正在逐渐平民化,将来每个人都可以利用大模型轻松地做出自己的AI产品。

HuggingLLM是一个面向非算法、有一定编程基础、对AI和ChatGPT(或类似模型)感兴趣的,基于ChatGPT API开发相关应用的开源项目。当然部分内容不需要任何编程经验也可以学习,算法工程师也可能从中受益。项目主要包括ChatGPT基础科普、ChatGPT实现各种NLP常见任务(相似匹配、句词分类、编辑生成、推理等大类)、ChatGPT局限和商业应用等内容。

项目名为 HuggingLLM,因为我们相信正在经历一个伟大的时代,我们相信这是一个值得每个人全身心拥抱的时代,我们更加相信这个世界必将会因此而变得更加美好。

开源地址:

https://github.com/datawhalechina/hugging-llm

开源初心

从去年年底ChatGPT的发布以来,作为NLP(Natural Language Processing)一线从业人员已经感受到了巨大压力,我甚至觉得NLP工程师这个职位以后一定会消亡,至今这个观点依然不变。当时在见识了ChatGPT的各种逆天能力后,很自然地就会瞬间想到以后开发人员只要借助ChatGPT,完全可以做到现在大部分NLP工程师在做的事,比如文本分类、实体抽取、推理等。甚至随着LLM(Large Language Model)能力的不断提升,可能做的比NLP工程是都要好。既然这是迟早会发生的事,干脆我们就再点把火,做一个教程告诉开发人员或有一些编程能力的人去利用LLM做一些NLP任务或服务,让变革来的更猛烈些。当时发起此项目时,颇有一种悲壮感。

NLP工程师未来不一定存在(就像没有公司有Office工程师一样),但如果每个企业,尤其是中小企业都能自由地使用LLM的能力创造AI服务或应用,这不正是自己这些年的理想吗?我曾在几家小公司呆过,深刻知晓和理解小企业对AI的「情」,那种想用但又无力的矛盾。他们大多非常珍惜AI人才,但又不能大量投入。类似ChatGPT这样的LLM让他们异常兴奋。我们就是想要架起这么一座桥梁,让没有任何算法背景的开发人员能够尽量无缝、顺滑地对接起算法工作。

项目发起时,Datawhale内部马上就有小伙伴响应,我们一起讨论这个教程,大家一致觉得可以做。一方面是确实很有意义,另一方面也是市面上的教程太多了,确实有不少精品教程,但更多的是在割韭菜,割的让人有点看不下去。我依然记得玉琳同学义愤填膺,说我们要做一个开源教程,3块钱的。我们听了后大为赞同。

Datawhale的开源学习是3块:1块学习,1块分享,1块成长。

不过,我们的教程设计主要是偏API开发,基础应用那块由其他成员负责。API这块据我们当时所知,国内应该没有类似教程。其实,除了上面说的那些,我在立项时还有个想法,那就是——授人以渔。自从ChatGPT出来后,底层的技术变化不大,但上层的应用却是天翻地覆。我承认自己脑子没那么灵活,市场意识也很一般,在我看来好像很多事情可以做,但好像又没什么真正特别亮眼的。实际证明还是自己狭隘了,既然如此,那我们把方法传播给更多人,也算是对这个行业的一点贡献吧。行业蒸蒸日上,作为其中的从业人员,能得到的肯定比失去的更多,即便是这个职业未来岌岌可危。

项目就这么立起来了,当时的立项理由:

ChatGPT改变了NLP行业,甚至正在改变整个产业。我们想借这个项目将ChatGPT介绍给更多的人,尤其是对此感兴趣、想利用相关技术做一些新产品或应用的学习者,尤其是非本专业人员。希望新的技术突破能够更多地改善我们所处的世界。

教程的结构从一开始定下来基本没有调整,只有章节内部内容有一些微调,但整体最终呈现出来的就是当时设计时构思的。我们相信教程是忠于理由的,我们期望教程能为改善世界贡献一分力量。

教程内容

教程一共有七章内容,分别如下:

25f3360e981e9dbb417c86e4c4e29c10.png

学习思路

在实际学习时,上面的内容会重新组合为以下两个部分:

  • 第一部分:基础科普+局限不足+商业应用。作为「基础」的阅读材料,可以先行了解,带着这些内容学习有助于更好地构思自己的应用。

  • 第二部分:根据内容规模和难度,重新排列为:相似匹配、文本推理、生成编辑和句词分类。

当然,学习者也可以根据自己的兴趣,选择任意章节进行学习。本教程有两个基本的理念:

  • 各章节相对独立,彼此没有直接明显的前后依赖关系。这体现在内容上,也体现在设计上。学习者可以灵活选取自己感兴趣的章节学习。

  • 以「任务」为核心。我们始终强调「任务」多于「工具」,ChatGPT是目前最好的工具,但未来一定会有其他LLM出现。但只要我们理解了要做的事情,理解了系统设计,工具就能为我所用。

此外,教程还有比较详细的示例代码,大部分的代码都可以直接用于生产环境。我们也着重强调构建实际应用需要注意的细节。写代码容易,写好代码很不容易;做Demo简单,提供一个稳定可靠的服务很不简单。

所以,学习本教程要有一定编程基础或实际项目(不一定是算法)经历,它不是零基础教程(虽然有部分内容零基础也可以学习)。除此之外,你还应该能够调用OpenAI的API,并有一定的时间保证。具体可以阅读学习指南。

文章最后

洛克菲勒说过:“真正重要的不在于有多少知识,而在于如何使用现有的知识。知识只是潜在的力量,只有将其付诸应用,而且是建设性的应用,才会显示出它的威力”。由于教程围绕着任务展开,很多设计思路和细节其实可以应用在多个领域。我们再次强调,期望学习者能够多多实践,多多应用。

最后,由于创作团队精力有限,教程难免有些疏漏甚至错误,我们期望学习者在学习的同时,也能积极给我们建议,或者直接对项目进行贡献,让我们共同打磨教程,为后面的学习者提供更好的内容。

除此之外,针对本教程还有一些其他补充说明,大家可以阅读学习说明。我们期望所有学习者都能够学有所得,期待大家能做出举世瞩目的产品和应用。

参与教程学习:AIGC 组队学习来了!

ebcd38a0e59b04c7720953c71af142d7.png
一起“分享点赞就是一种支持↓

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

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

相关文章

【历史上的今天】3 月 23 日:网景创始人出生;FORMAC 语言的开发者诞生;PRMan 非商业版发布

整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。 今天是 2023 年 3 月 23 日,在 141 年前的今天,1882 年 3 月 23 日,抽象代数之母艾米诺特(Emmy Noether)诞生。她的…

JUC-多线程(12. AQS-周阳)学习笔记

文章目录 1. 可重入锁1.1. 概述1.2. 可重入锁类型1.3. Synchronized 可重入实现机理 2. LockSupport2.1. LockSupport 是什么2.2. 3种线程等待唤醒的方法2.2.1 Object 的等待与唤醒2.2.2. Condition接口中的等待与唤醒2.2.3. 传统的 synchronized 和 Lock 实现等待唤醒通知的约…

本地搭建属于自己的ChatGPT:基于PyTorch+ChatGLM-6b+Streamlit+QDrant+DuckDuckGo

本地部署chatglm及缓解时效性问题的思路: 模型使用chatglm-6b 4bit,推理使用hugging face,前端应用使用streamlit或者gradio。 微调对显存要求较高,还没试验。可以结合LoRA进行微调。 缓解时效性问题:通过本地数据库…

YOLOv7如何提高目标检测的速度和精度,基于模型结构提高目标检测速度

目录 一、目标检测二、目标检测的速度和精度的权衡1、速度和精度的概念和定义2、如何评估目标检测算法的速度和精度3、速度和精度之间的权衡 三、基于模型结构提高目标检测速度1、Backbone网络的选择2、特征金字塔网络的设计3、通道注意力机制4、混合精度训练 一、目标检测 目…

光纤网卡传输速率和它的应用领域有哪些呢?通常会用到哪些型号网络变压器呢?

Hqst盈盛(华强盛)电子导读:常有客户问起光纤网卡该如何选用到合适的产品,选用时要注意到哪些事项,这节将结合配合到的网络变压器和大家一起探讨,希望对大家有些帮助。 1.光纤网卡传输速率与网络…

【教程】一文读懂 ChatGPT API 接入指南

ChatGPT 是一个基于自然语言处理技术的 API,它能够根据用户的输入,生成智能回复。结合当前最先进的AI技术,AP智能续写&承接上下文;可以回答各种问题,例如:历史,科学,文化&#x…

【越早知道越好】的道理——能够提高效率的【快捷键】

文章目录 1️⃣虚拟桌面⚜️第一步:打开任务视图⚜️第二步:创建桌面⚜️第三步:桌面切换⚜️第四步:桌面删除 2️⃣窗口切换3️⃣桌面分屏⚜️如何分屏 前言🧑‍🎤:作为程序员👨‍&…

15天学习MySQL计划-多表联查(基础篇)第四天

15天学习MySQL计划(多表联查)第四天 1.多表查询 1.1概述 ​ 指从多张表中查询数据 ​ 在项目开发中,在进行数据库表结构设计时,会根据业务需求及业务模块之间的关系,分析并设计表结构,由于业务之间相互…

大数据实战 --- 美团外卖平台数据分析

目录 开发环境 数据描述 功能需求 数据准备 数据分析 RDD操作 Spark SQL操作 创建Hbase数据表 创建外部表 统计查询 开发环境 HadoopHiveSparkHBase 启动Hadoop:start-all.sh 启动zookeeper:zkServer.sh start 启动Hive: nohup …

人工智能会影响测试工程师吗

并不是危言耸听 当下最火的是什么,那非ChatGPT莫属了,以ChatGPT为代表的各类AIGC工具,在不断颠覆我们的认知,不仅能完成律师,医学考试;还能画出一张精美的设计图,拿下艺术大赛一等奖。 以之对…

C#基础学习--反射和特性

元数据和反射 要使用反射,必须使用System.Reflection 命名空间 Type类 Type是一个抽象类,用来包含类型的特性,使用这个类的对象可以让我们获取程序使用的类型的信息 我们可以从Type对象中获取需要了解的有关类型的几乎所有信息 获取Type对象…

Node.js下载安装及环境配置教程

一、进入官网地址下载安装包 https://nodejs.org/zh-cn/download/ 选择对应你系统的Node.js版本,这里我选择的是Windows系统、64位 Tips:如果想下载指定版本,点击【以往的版本】,即可选择自己想要的版本下载 二、安装程序 &…

在 VSCode 中让 TypeScript 错误更漂亮且易于阅读

简介 TypeScript 是一种流行的编程语言,为 JavaScript 提供了静态类型和改进的错误检测。然而,随着类型的复杂性增加,错误的复杂性也增加了。这就是 Pretty TypeScript Errors VSCode 插件的用途,它可以在 Visual Studio Code 中…

8.线性搜索算法和二进制搜索算法

算法:线性搜索算法 线性搜索是一种非常简单的搜索算法。在这种类型的搜索中,逐个对所有项目进行顺序搜索。检查每个项目,如果找到匹配项,则返回该特定项目,否则搜索将继续,直到数据收集结束。 算法 Linea…

【数据结构】- 链表之单链表(下)

文章目录 前言一、单链表(下)1.1 查找修改1.2 在任意位置插入1.2.1 在pos位置插入(也就是pos位置之前)1.2.2 在pos位置之后插入 1.3 在任意位置删除1.3.1 删除pos位置得值1.3.2 删除pos位置后面的值 二、完整代码总结 前言 未来藏在迷雾中 叫人看来胆怯 带你踏足其中 就会云开…

【C++类和对象】类和对象(中):拷贝构造函数 {拷贝构造函数的概念及特征,拷贝构造函数不能使用传值传参,编译器自动生成的拷贝构造函数}

四、拷贝构造函数 4.1 概念 在创建对象时,可否创建一个与已存在对象一某一样的新对象呢? 拷贝构造函数:只有单个形参,该形参是对本类类型对象的引用(一般常用const修饰),在用已存在的类类型对象创建新对象时由编译器…

MySQL高级(二)

一、SQL优化 (一)插入数据 批量插入 多次插入每一次insert都要与数据库建立连接。 INSERT INTO 表名 VALUES (),(),(); 一次插入数据不宜过多,不要超过1000条。 手动提交事务 START TRANSACTION; INSERT INTO 表名 VALUES (),(),(); I…

车载以太网 - SomeIP - 协议用例 - Format_01

目录 1、验证Client ID字段静态设置为0x0000 2、验证Session ID字段静态设置为0x0001 3、验证Protocol Version字段静态设置为0x01

SpringCloud:ElasticSearch之自动补全

当用户在搜索框输入字符时,我们应该提示出与该字符有关的搜索项,如图: 这种根据用户输入的字母,提示完整词条的功能,就是自动补全了。 因为需要根据拼音字母来推断,因此要用到拼音分词功能。 1.拼音分词器…

【移动端网页布局】移动端网页布局基础概念 ④ ( 物理像素 | 物理像素比 | 代码示例 - 100 像素在 PC浏览器 / 移动端浏览器 显示效果 )

文章目录 一、物理像素 / 物理像素比二、代码示例 - 100 像素在 PC浏览器 / 移动端浏览器 显示效果 一、物理像素 / 物理像素比 移动端 网页开发 与 PC 端开发有很多不同之处 , 在图片处理方向需要采用 二倍图 / 三倍图 / 多倍图 方式进行图片处理 ; 图片处理的方式与如下的 物…