🏕 2023 独立开发者训练营开营啦 ~~,查看介绍 / 立即报名 →

开发人工智能模型驱动的应用(OpenAI,GPT,HuggingFace,LangChain)

谷歌、微软、奥多比(Adobe)在 AI 领域的动作都非常频繁,每周都有相关的产品发布,大部分产品都在测试阶段,只对少部分用户公开,这也足矣说明一点,AI 平民化的时代已经开始了。我们作为软件工程师,现在应该建立起一套新的开发思路与工具包,为创造智能化应用做好准备。

我们先来明确一些相关的概念,AI 指的是人工智能,它是一个比较大的概念,它的下面又包含了很多领域,比如机器学习,深度学习,计算机视觉,自然语言处理等等。OpenAI 是一家初创公司,这家公司训练了一些 AI 模型,比如 GPT,前阵子经常出现在媒体上出现的 ChatGPT 这个网站应用,它在后端使用的就是 GPT 模型。

GPT 是 Generative Pre-trained Transformer 的简称,中文可以翻译成 “生成式预训练转换器”,这种东西是基于深度学习里的 Transformer(转换器)架构训练出来的。训练这种东西需要用到大量的高质量的文本数据,它会在其中找出规律,理解语言的意思,这样当你给它提供一些文本指令或提示的时候,它会通过推理给出文本结果。

GPT 模型据有极强的文本生成能力,可以处理各种不同类型的任务。你可以让它帮你翻译一段话,解释其中的意思,写一段故事,一首诗,帮你找出错误字,转换文本的写作风格,总结一段文字,列出提纲,给出建议,做情感分析,用指定的程序语言写一段特定功能的代码,分析代码的思路,解释语法,找出错误,我们甚至可以跟它使用对话的方式来解决一些问题,这也是为什么现在有很多客服机器人都在使用 GPT 模型。

这种 GPT 模型的表现效果,很多时候取决于你给它提供的提示文本(Prompt),也就是要交给模型处理的文本。我们需要在提示文本里清楚地描述出自己的想法,可以明确地下达指令,也就是可以描述一下让模型能做什么,不能做什么。还有一点非常关键,就是可以在提示里包含一些示例数据,模型在处理任务的时候会学习这些小量的样本数据,可以更好地让模型读懂我们的意思。

关于如何写出好的 Prompt,我认为没有那么玄乎,当我们在没有需求的情况下,凭空想像是很困难的,但如果遇到了真正的需求,我认为我们都可以写出合适的 Prompt 解决问题。只要记住两点即可,一是描述清楚自己的意愿,二是在提示里包含示例数据。

应用

如果你想使用 GPT 模型提供的文本生成功能开发智能应用或改造现有应用,比如做一个写作辅助系统,个性化推荐系统,智能化的信息检索,客户评论智能回复,智能问答系统,智能化的在线学习系统等等。我们可以通过服务商提供的接口服务来使用 GPT 模型提供的文本生成功能。

现在有越来越多的服务商都提供这种 GPT 模型的接口服务,目前来说,做的最好的还是 OpenAI 提供的 GPT 模型。所以如果想要使用他们家的 GPT 模型,可以先在 OpenAI 注册账户,然后调用它们的接口来使用 GPT 模型。

使用 OpenAI 提供的接口服务是收费的,新注册的用户会有一定的免费额度,有效期是 3 个月。以后如果想继续使用它们的应用接口,需要按 token 的用量收费。token 可以粗略地想成是模型处理的字数,比如你给接口处理的提示文本用了 500 个 token,接口处理了这些文本返回来的文本也是 500 token,那这一次请求消耗的就是 1000 个 token。OpenAI 提供了不同版本的 GPT 模型,不同的模型每千个 token 的价格是不一样的,目前最便宜,性价比最好的模型是 gpt-3.5-turbo,每千个 token 的价格是 0.0141 元。

在宁皓网的 OpenAI 相关课程里,我们介绍了相关的关键概念,如何写提示,怎么在自己的 Node.js 应用里集成使用 OpenAI 提供的接口等等。课程已发布,现在订阅宁皓网即可在线学习。

模型

从 GPT 3 开始,OpenAI 就不再开源了,所以我们只能通过 OpenAI 提供的应用接口来使用 GPT 3 或 4。目前,有越来越多的玩家进入,这里有大厂子,比如百度、360、谷歌、Adobe 等等,也有很多初创公司,开源 GPT 项目也在蓬勃发展,比如 Open Assistant。不过目前来说,立即可以投入使用的还是 OpenAI 他们家的 GPT 模型,在未来两三年,我们应该可以切换使用国产或者开源模型。

想让模型更擅长处理某些特定的任务,我们其实也可以根据某些特定的需求训练自己的模型,但是这需要大量的高质量的数据,另外还需要强大的计算能力。还有一种方法是通过微调现有模型来实现,也就是在现有的某个模型基础之上,通过我们自有一些高质量的训练数据训练这个模型,完成以后就可以使用这个新的模型去做一些任务了。

还有一种方法其实就是通过小样本学习,也就是在调用模型的时候,在提示文本里包含一些样本数据,模型在处理提示文本的时候也会学习这些样本数据,找出规律。这种方法不会影响模型本身,也就是下回处理同样的任务,你需要在提示里提供同样的样本数据。

框架

之前我们提到过模型的表现很多时候取决于你给它提供的提示文本(Prompt)。在开发这种使用人工智能模型应用的时候,我们很多时候是在用人类的语言来描述业务的需求,也就是编写要交给模型处理的提示文本,另外模型也有一些限制,比如一次可以处理的 token 的数量 。

如何管理这些提示,突破模型的限制,这时我们就可以请 LangChain 这个框架出场了。LangChain 是一款开发语言模型驱动的应用的框架,这个项目最近获得了 7000 万的种子轮融资。

使用 LangChain 框架的一个比较经典的案例就是根据一个 PDF 文档进行问答,用户上传了一个 PDF 文档,然后可以通过问答的方式来了解这个文档里的内容。这个例子演示了如何让语言模型使用我们自有的数据。

框架里提供了一些抽象层,帮助我们开发语言模型驱动的应用,比如 Model,Chain,Agent 等等。宁皓网最近将陆续发布 LangChain 相关课程,课程里一一解释并演示了这些东西的用法。

要注意的是,LangChain 这个框架本身并不会提供魔法功能,那些看起来像魔法一样的事情都是语言模型的功劳。框架只是帮助我们写好提示,提供了各种工具与方法使用这些语言模型,比如它可以很方便地集成使用 OpenAI、HuggingFace 等服务商提供的各种语言模型。

项目

微软与谷歌的产品线目前几乎全部都集成了 AI 模型提供服务,这是真实的趋势。无论大小,在未来,在应用里多少都要带点人工智能,最起码基本的搜索功能怎么也得用嵌入技术改造一下。咱先别管大厂干啥了,我们还是多关注一下初创项目吧,以下是一些使用 GPT 技术的初创项目:

Yuma

Yuma 可以集成你的客服系统,辅助起草或智能回复。

Outset

Outset 提供人工智能面试工具,用于进行和分析定性研究。传统调查方法廉价快速,但缺乏深度,而实时面试则需要大量人力投入且难以分析。Outset利用GPT-4引导面试并与研究人员一起综合结果。

Baseplate

Baseplate是团队数据与LLMs之间的联系纽带。利用 Baseplate,团队可以构建和扩展安全的应用程序,充分利用Chat GPT等大型语言模型和其内部数据的优势。Baseplate提供了一个简单而统一的后端,可以处理几乎任何SaaS工具或数据库的数据。通过内置的个人身份信息(PII)保护、访问控制和其他关键的DevOps功能,我们可以帮助团队充分利用一流的模型,而无需担心数据隐私问题。

Semantic Finance

Semantic为金融机构提供实时新闻洞察API,用于影响金融市场的突发事件。我们利用交易数据、文章和社交媒体参与度,以及语言模型的突破,可以比市场更快地过滤掉99%的噪音。

在2021年,特斯拉购买比特币的消息在价格变动前仅有6分钟的时间。这说明市场对于创造了720亿美元财富的信息理解效率有多低。而现在,GPT-4令人难以置信的文本语义理解能力使我们能够通过将资产识别率从42%提升至91%,将主题识别率从54%提升至84%,即刻在海量信息中找到关键信息。

当交易公司花费数千万美元在微波网络上,争相获取最快的市场数据和订单执行时,GPT-4引入了一个新的竞争领域,即相关金融信息的检索和处理,这是交易算法长期以来一直缺乏的。我们处于这个新领域的前沿。

AiFlow

AiFlow利用LLMs在几秒钟内自动化市场研究。我们的模型可以理解大量的数据,包括客户评论和人口统计数据、新闻和网络流量,以便以低于贝恩(Bain)分析师1/100的价格生成与之相媲美的报告。

Middleware

Middleware是一个全栈云观测平台。我们通过将所有指标、日志、追踪和事件带到一个统一的时间轴,并对数据进行AI训练,使开发和运维团队能够更快地调试问题,并提供更好的基础设施和应用程序洞察。

Fixie

构建、部署和管理能够响应用户意图的 LLM(大语言模型) 代理。这个项目是 2022 年发布的,已经拿到了 1.2 亿的融资。它主要干的事情就是帮助企业完成智能化改造,也就是使用大语言模型改造现有应用。这会用到我们之前提到的 LangChain 框架。

课程

OpenAI 课程

LangChain 课程

相关课程

宁皓网提供的课程可以辅助您掌握开发 AI 驱动应用的核心技能,配合其它的应用课程,您甚至可以完全的小白开始,比如通过 Node.js 的课程学会服务端应用的开发,通过 Vue.js 的课程学会客户端应用的开发等等。现在订阅宁皓,即刻在线学习,立即订阅 →

微信好友

用微信扫描二维码,
加我好友。

微信公众号

用微信扫描二维码,
订阅宁皓网公众号。

240746680

用 QQ 扫描二维码,
加入宁皓网 QQ 群。

统计

14696
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点