当前位置: 首页 > news >正文

美国大模型风向速报(一)为何重视提示工程?LangChain+向量数据库+开源大模型真香...

c48d96c49b5c716c28a9520c2ca7209b.jpeg

多家,且独家来自美国的信源同时向“亲爱的数据”表示,

提示工程(Prompt Engineering)在美国大模型领域备受重视。

读者都要聊,

那就干活。

(一)开源真香

现阶段,AI开源极客大展身手,新的软件栈正在形成之中。

开源很香,但是开源是零收费,但不是零成本。

甲方着急用大模型,甲方管理层内心OS:

谁耽误我用大模型,我和谁急。

打工人,打工魂,集体上线。

要不玩一把“LangChain+向量数据库+开源大模型=线上模型服务”?

这几步看上去一点也不“卡脖子”,实则未必,

做完就可以“宣布”这是知识产权了。

讲两个小故事:

第一个小故事

某基金机构领导看到了ChatGPT的威力,要求使用,开发团队安排一下:

第一件事,收集数据;

第二件事,找各种基础开源模型;

第三件事,构建测试大模型的工程代码;

第四件事,各种都测试一遍;

第五件事,选出基础模型;

第六件事,封装成一个模型服务。

第七件事,几乎结束,但仍需业务团队顺利“接棒”。

尽管麻烦事儿有点多,老板依然会说:

市面上,AI开源工具这么多,做一个大模型应用应该不难,内部团队搞定,实在不行再招几个人。

“感谢老板栽培,您说得对,市面上开源工具确实很多,有的还很香。”

包括:

1. 游泳健身和LangChain了解一下:

LangChain用于调试、测试、评估和监控大语言模型应用的开源平台。

LangChain原生支持3个向量数据库,都被封装成统一接口,屏蔽了各自实现的细节。

既然封装好了,用的时候直接安装,动作很简单,就一行代码:pip install chromadb。

2.走过路过,不要错过开源向量数据库

用Chroma,还可以用脸书公司开源的FAiSS(全称为Facebook AI Similarity Search),但后者是个索引库。

3.家人们,开源底层算法大模型挑选一下

说到底基础大模型不就是个供应商嘛。

那么,用开源模型羊驼(Llama2),还是用商业GPT4?

然而,想走通“大模型服务”这条路,没想象的这么简单。

往往模型服务还没开始,人已经“累死”半路了。

躬行实践,底层劳动人民才会有真实的生产体验,老板不理解。

第二个故事:

理想中:用某一个科技公司已有的线上模型服务。

全剧终。

理想还是要有的,万一实现了呢。

(二)Lepton.AI

以Lepton.AI 为例,我们近距离观察一下:

Lepton.AI平台上的一个功能叫TUNA(吞拿鱼)。

名字的由来是据说创始团队成员爱吃吞拿鱼,

这让我想起了Snowflake公司几个创始人都喜欢滑雪。

“亲爱的数据”创始人爱吃西瓜。

用户在Lepton.AI 平台上,上传公司的数据集(最小需200条对话以上,截止目前最大是4.5M)。

f3d374e7a945bbbf381ebe0507da4308.jpeg

先数据增强,再微调。

当然,客户不用管这些,他们眼中的步骤就是:

上传小数据集,你提出问题,产品回答。

TUNA(吞拿鱼)既包括增强数据功能,也包括大模型微调,这些都是技术活。

如何增强数据?

这个技术点,可以说是每个团队的看家本领,外人很难得知。

大致上,

好比原来只有1个G的数据,生成10个G的数据,再去掉8个G的数据垃圾。

剩下的虽不多,好歹有2个G的数据能用,怎么说也比一开始翻了2倍的数据量。

上传数据集后,先增强数据,再微调大模型。

用户可直接获得模型服务的结果。

最终完成模型服务的最后一公里。

服务可有两种方式:

要么一问一答。

要么抽成结构化数据。

然后,就没有然后了。

虽然是一个应用,但是体现出其背后工具链的价值,数据增强加上微调模型,灵便顺手,好用易用。

这个方案即使用开源软件,每一个步骤精细实现,再有机结合,直到产品化,难度还不小。

时间和人力都是成本。

当然,直接调用模型服务的产品最为方便。

AI落地需要灵便产品。

AI落地和商业模式的成功,不是单纯靠技术。

看上去Lepton.AI这家公司想让AI模型服务上线更快,让AI应用落地更快。

用咨询公司腔调表述这件事就是:

数据与大语言模型间的协同作用,增强了AI应用服务的整体性能,同时为更多创新和发现开辟出新可能性。

(三)聊聊细节

评价一个AI应用,用效果说话。

Lepton.AI所选的是财报会议场景,使用者可以是:摩根大通、高盛和摩根士丹利这帮投资人和专业投资分析师。

我们分析一下Lepton.AI的生成结果。

最开始,Lepton.AI的设置如图蓝色底色所示:

“使用以下上下文来回答最后的问题。如果你不知道答案,就说你不知道,不要试图编造答案。”

用技术术语表达,这些是Instruction。

与大语言模型会话,定义前置规则非常重要,包括角色,场景等等。

因为相同的内容,对不同的人,不同的场景可能意思不同。

一个会话机器人不可能一上来就知道你是谁,是什么场景下的问话,是想要创意性的回答还是严谨的回答等等。

2475dcdc1146eb12d381afe20f9c3262.png

此后,就是大模型的推理过程了,分为三部分:

第一个部分是输入,

第二部分叫处理,

第三个部分是输出。

既然是推理,在第一个部分输入,相当于给微调后的大模型“喂”了新数据。

或者说通过提示(Prompt)引导大模型。

这里用到了向量数据库。

我们知道,向量数据库可以通过向量相似度搜索快速检索相关数据,与传统的基于索引的数据库相比,查询速度快。

结构化的数据从向量数据库提取出来后,喂给大模型,大模型生成了提问问题的答案。

这个输入(Input),是这里面灰色底色,且没有高亮的这些字。

与传统预训练微调的方法不同,大模型推理中所用到的输入提示(Prompt),是从向量数据库里检索而来。

而LangChain在大语言模型输入阶段,通过检索向量数据库获取最相关的信息,将信息整理组合成为提示(Prompt),输入大模型,并得到产出结果。

这里还会用到召回增强型的生成技术。

英文名,Retrieval Auqmented Generation,是基于向量数据库,在上下文中去做内容摘要。

是一种增加大模型推理能力的技术。

产品效果如图:

能观察得到,产品界面能看到除答案之外的更多内容——结构化数据。

谭老师推测,Lepton.AI团队“特意”让大家看到从向量数据库里检索而来的“更多内容”。

用向量数据检索到了什么,本来是幕后工作,用户可以不知道。

“特意”意味着将输入内容也一起展示给大家看。

展示了什么内容?

给模型输入的内容都一样:用了同样的向量数据库,用了同样的数据。

那么更容易对比观察出:谁的效果更好,更“哇塞”?

第二部分,处理(Processing)。

本质上,这部分是对用户不可见的,是幕后工作。

无论是数学方法还是其他。

第三部分,大模型的输出就是给出的答案。

afe9ebb5832413763628b4bfef8277e9.png

如图所示,模型往外面输出这个结果是绿色底色的是生成的部分。

看上去,原来的电话财报会议的文字内容被切成一段一段,

前面是结构化的数据(灰色底色),后面是问题的答案(绿色底色)。

图片字太小,我们粘出来看。

提问:

Can you discuss the potential for further growth in the number of Apple devices per iPhone user? Additionally, could you elaborate on how the monetization per user might vary between highly engaged "super users" and those who are not as deeply integrated into the Apple ecosystem?

你能谈谈iPhone用户拥有的苹果设备数量进一步增长的潜力吗?

另外,能否详细说明一下,在高度参与的“超级用户”和那些没有深度融入苹果生态系统的用户之间,每个用户的营收可能会有什么不同?

ChatGPT 3.5的答案:

Based on the provided context, Luca Maestri does not discuss the potential for further growth in the number of Apple devices per iPhone user or how monetization per user might vary between highly engaged "super users" and those who are not as deeply integrated into the Apple ecosystem.

基于上述内容,Luca Maestri并没有讨论iPhone用户的苹果设备数量的进一步增长潜力,也没有讨论每名用户的营收在高度参与的“超级用户”和那些没有深度融入苹果生态系统的用户之间的差异。

Lepton.AI的答案:

The number of active devices per user continues to grow and set new records. And the number of active devices per user is a very good indicator of the strength of our ecosystem and the ability to achieve future growth. As we've said in the past, we're not publishing the number of active devices per user, but the number of active devices per user set new records in the March quarter, and it's a very good indicator of the strength of our ecosystem.

活跃用户设备数量继续增长,并创造了新的记录。活跃用户设备数量这一指标很好地反映了苹果公司生态系统的实力和未来实现增长的能力。正如我们之前所说,不会公布活跃用户设备数量,但这个指标在第三季度创下了新的纪录,这是有力证明我们生态系统实力的一个很好的指标。

所见即所得。

Lepton.AI和OpenAI的模型在同样的输入的情况下,Lepton.AI的模型能够做得更好。

因为使用了行业数据进行模型微调,当然,谁也不知道Lepton.AI使用的基础模型是哪个,正如我开头所说,这些都是“知识产权”。

“亲爱的数据”读者群的群友表示:

“(这个时间段),来个LangChain和向量数据库最佳实践,包括选型建议。出书,保证大卖。”

谭老师我听罢,狠狠点了点头,并且开始脑补当上白富美,迎娶CEO。

醒一醒。

我们细看了Lepton.AI的做法,其中的提示工程非常重要

的确,LangChain+向量数据库+开源模型是一种非常务实的做法,做大模型空谈概念无用。lepton.AI是文章中举的一个例子,想得到一个好的结果,既靠提示工程(Prompt Engineering),微调,也靠向量数据库来优化,AI落地并不是只靠单点技术就能够搞定的。

One More Thing

为了加深理解,有几个用饺子来解释“技术名词”的有趣比喻:

向量数据是干什么的?

谭老师我跟向量数据库说,我喜欢吃荤饺子,不喜欢吃素饺子。

向量数据库收到我的指示,开始准备食材,根据口味偏好,向量数据库所选食材可能有新鲜猪肉,五香牛肉,水晶虾仁等等食材。因为用向量进行模糊查询,以上食材都属于选择范围之内的馅料。

线上模型服务这种产品怎么理解?

谭老师我爱吃饺子,嫌麻烦不愿意自己包。但又是个挑剔的食客,偏要吃我家特有的饺子馅包成的饺子。我理想中的餐厅应有这样的服务:直接拎着饺子馅来餐馆,坐等。

后面的安排,包饺子,煮饺子,端饺子,都由餐厅来服务,除了饺子馅,我自己带,其余的餐厅服务(模型服务)全包。

好了,这次聊到这里。

更多内容参考这个公众号

里面的这篇文章(前方高能,几乎全英文):

Earning Sage: How to Transform AI into a Savvy CFO

aa95a73761abd6941f86c87619b94bbf.png

带货ing

《我看见了风暴》谭老师新书,京东有售

c8314bb76fcc51e941e909a977060919.jpeg

更多阅读

AI大模型与ChatGPT系列:

1. ChatGPT大火,如何成立一家AIGC公司,然后搞钱?

2. ChatGPT:绝不欺负文科生

3. ChatGPT触类旁通的学习能力如何而来? 

4. 独家丨从大神Alex Smola与李沐离职AWS创业融资顺利,回看ChatGPT大模型时代“底层武器”演进

5. 独家丨前美团联合创始人王慧文“正在收购”国产AI框架OneFlow,光年之外欲添新大将

6. ChatGPT大模型用于刑侦破案只能是虚构故事吗?

7. 大模型“云上经济”之权力游戏

8.  云从科技从容大模型:大模型和AI平台什么关系?为什么造行业大模型?

9. 深聊第四范式陈雨强丨如何用AI大模型打开万亿规模传统软件市场?

10. 深聊京东科技何晓冬丨一场九年前的“出发”:奠基多模态,逐鹿大模型

11. 老店迎新客:向量数据库选型与押注中,没人告诉你的那些事

12.抢滩大模型,抢单公有云,Databricks和Snowflake用了哪些“阳谋”?

13.大模型“搅局”,数据湖,数据仓库,湖仓选型会先淘汰谁?

AI大模型与学术论文系列:

1.开源“模仿”ChatGPT,居然效果行?UC伯克利论文,劝退,还是前进?

2. 深聊王金桥丨紫东太初:造一个国产大模型,需用多少篇高质量论文?(二)

3. 深聊张家俊丨 “紫东太初”大模型背后有哪些值得细读的论文(一)

漫画系列

1. 是喜,还是悲?AI竟帮我们把Office破活干完了

2. AI算法是兄弟,AI运维不是兄弟吗?

3. 大数据的社交牛气症是怎么得的?

4. AI for Science这事,到底“科学不科学”?

5. 想帮数学家,AI算老几? 

6. 给王心凌打Call的,原来是神奇的智能湖仓

7. 原来,知识图谱是“找关系”的摇钱树?

8. 为什么图计算能正面硬刚黑色产业薅羊毛?

9. AutoML:攒钱买个“调参侠机器人”?

10. AutoML:你爱吃的火锅底料,是机器人自动进货

11. 强化学习:人工智能下象棋,走一步,能看几步?

12. 时序数据库:好险,差一点没挤进工业制造的高端局

13. 主动学习:人工智能居然被PUA了?

14. 云计算Serverless:一支穿云箭,千军万马来相见

15. 数据中心网络:数据还有5纳秒抵达战场

16.  数据中心网络:迟到不可怕,可怕的是别人都没迟到

AI框架系列:

1.搞深度学习框架的那帮人,不是疯子,就是骗子(一)

2.搞AI框架那帮人丨燎原火,贾扬清(二)

3.搞 AI 框架那帮人(三):狂热的 AlphaFold 和沉默的中国科学家

4.搞 AI 框架那帮人(四):AI 框架前传,大数据系统往事

注:(三)和(四)仅收录于《我看见了风暴》。

226fc858946fd94f8fc70fb3c3b37d53.jpeg

相关文章:

美国大模型风向速报(一)为何重视提示工程?LangChain+向量数据库+开源大模型真香...

多家,且独家来自美国的信源同时向“亲爱的数据”表示, 提示工程(Prompt Engineering)在美国大模型领域备受重视。 读者都要聊, 那就干活。 (一)开源真香 现阶段,AI开源极客大展身手&…...

excel统计函数篇2之count系列

1、COUNT(value1,[value2],…):计算参数列表中数字的个数 2、COUNTA(value1,[value2],…):计算参数列表中值的个数 联想在excel之数学函数、excel中的通配符一文中提到求和函数: SUMIF(range,ceriteria,[sum_range]):对范围内符合指定条件的…...

vue3组件多个根节点报错

打开扩展商店搜索下载 vetur 打开设置命令面板 搜索eslint 将下面的勾选取消...

基于Rust的QuickLZ压缩算法的详细实现与分析

1. 引言 QuickLZ是一种被广泛应用的高效压缩算法。在许多应用中,快速的数据压缩和解压缩是非常关键的,特别是在网络传输和存储空间有限的场景中。为了满足现代软件开发的需求,我们将使用Rust语言来实现这一算法。Rust是一种专为系统级编程而…...

next.js 创建 react ant design ts 项目

环境说明:next.js 官方文档要求node版本在16.8以上。笔者使用的 node版本是16.20.1,不要使用16.13.0,笔者在使用 node16.13.0环境时创建的 react 项目点击事件无效 next.js官网截图 next.js 官网:https://nextjs.org/ react 官网…...

无涯教程-Perl - use函数

描述 此函数将MODULE导出的所有功能(或仅LIST引用的功能)导入当前包的名称空间。有效等效于- BEGIN { require "Module.pm"; Module->import(); }也用于在当前脚本上强加编译器指令(编译指示),尽管从本质上讲它们只是模块。 请注意,use语句在编译时进行判断。在…...

(7)(7.6) 恢复任务回放

文章目录 前言 7.6.1 配置 7.6.2 工作原理 7.6.3 局限性 前言 本页介绍了什么是"任务继续时后退"功能以及如何使用该功能。 !Note 从 4.1 版起,Plane、Copter 和 Rover 均可使用此功能。 在某些应用或运行区域,为了消除冲突&…...

spark yarn 开启动态资源分配

概念 不需要指定并发,只需要指定内存, 程序在运行后会动态调节并发数量,我们只需要设置一个上线即可 在spark 配置文件设置: spark.dynamicAllocation.enabled true spark.shuffle.service.enabled true 准备shuffer jar 将spar…...

Android学习之路(8) Activity

本节引言: 本节开始讲解Android的四大组件之一的Activity(活动),先来看下官方对于Activity的介绍: 移动应用体验与桌面体验的不同之处在于,用户与应用的互动并不总是在同一位置开始,而是经常以不确定的方式开始。例如&…...

Linux的热拔插UDEV机制

文章目录 UDEV简介守护进程基本特点 守护进程和后台进程的区别开发守护进程结束 UDEV简介 udev是一个设备管理工具,udev以守护进程的形式运行,通过侦听内核发出来的uevent来管理/dev目录下的设备文件。 udev在用户空间运行,而不在内核空间 …...

Azure应用程序网关

文章目录 什么是应用程序网关实战演练创建虚拟网络创建虚拟机创建应用程序网关测试搭建结果 什么是应用程序网关 Azure应用程序网关是一种托管服务,用于提供安全、可缩放的 Web 应用程序前端点的应用程序传送控制和保护。它可以通过 SSL 终止、cookie 基于会话持久…...

免费开源服务器资源监控系统grafana+prometheus+node_exporter

有项目做测试的时候需要查询服务器资源利用情况,自己又没写相应的模块,此时就需要一套好用的资源监控系统,,咨询了运维人员给推荐了一套,装完后真的很好用。 就是grafanaprometheusnode_exporter(linux&am…...

【文化课学习笔记】【化学】金属及其化合物

【化学】必修一:金属及其化合物 钠及其化合物 钠单质 物理性质 颜色:银白色,有金属光泽;密度: ρ H 2 O > ρ N a > ρ 煤油 \mathrm{\rho_{H_2O}>\rho_{Na}>\rho_{煤油}} ρH2​O​>ρNa​>ρ煤…...

Java面试题--设计模式

一、Java 中有几种设计模式? Java 中一般认为有 23 种设计模式 分为三大类: 1. 创建型模式 5 种 ① 工厂方法模式 ② 抽象工厂模式 ③ 单例模式 ④ 建造者模式 ⑤ 原型模式 2. 结构型模式 7 种 ① 适配器模式 ② 装饰器模式 ③ 代理模式 ④ 外观模式 …...

【VS Code插件开发】Webview面板(三)

🐱 个人主页:不叫猫先生,公众号:前端舵手 🙋‍♂️ 作者简介:前端领域优质作者、阿里云专家博主,共同学习共同进步,一起加油呀! 📢 资料领取:前端…...

WebDriver API及对象识别技术

html页面的iframe的切换 定位到客户管理 新增客户 会无法定位到新增客户,因为在另外一个iframe框架之中。 iframe是html中的框架标签,表示文档中可以嵌入文档,或者说是浮动的框架。在selenium中iframe同样如此,如果驱动器对…...

计算机视觉之三维重建(一)(摄像机几何)

针孔摄像机 添加屏障: 使用针孔(o光圈针孔摄像机中心),实现现实与成像一对一映射,减少模糊。其中针孔与像平面的距离为f(焦距);虚拟像平面位于针孔与真实物体之间,与像平面互为倒立关系。位置映射:利用相似…...

机器学习算法-随机森林

目录 机器学习算法-随机森林 (1)构建单棵决策树。 决策树的构建过程 决策树的构建一般包含三个部分:特征选择、树的生成、剪枝。 机器学习算法-随机森林 机器学习算法-随机森林 随机森林是一种监督式学习算法,适用于分类和回…...

Springboot 实践(10)spring cloud 与consul配置运用之服务的注册与发现

前文讲解,完成了springboot、spring security、Oauth2.0的继承,实现了对系统资源的安全授权、允许获得授权的用户访问,也就是实现了单一系统的全部技术开发内容。 Springboot是微服务框架,单一系统只能完成指定系统的功能&#xf…...

解决方案:如何在 Amazon EMR Serverless 上执行纯 SQL 文件?

《大数据平台架构与原型实现:数据中台建设实战》一书由博主历时三年精心创作,现已通过知名IT图书品牌电子工业出版社博文视点出版发行,点击《重磅推荐:建大数据平台太难了!给我发个工程原型吧!》了解图书详…...

pytorch lightning和pytorch版本对应

参见官方文档: https://lightning.ai/docs/pytorch/latest/versioning.html#compatibility-matrix 下图左一列(lightning.pytorch)安装命令:pip install lightning --use-feature2020-resolver 下图左一列(pytorch_lig…...

Postman返回了一个html页面

问题记录 调用公司的测试环境接口,从浏览器控制台接口处cCopy as cURL(cmd),获取完整的请求内容,然后导入postman发起请求 提测时发现返回一个html页面,明显是被请求在网管处被拦截了,网关返回的这个报错html页面 …...

centos服务器搭建宝塔面板

因为电脑无线网无法登录宝塔,也无法ssh到服务器,但是热点可以连接,网上没找到解决方法,重装下。 解决办法,先追路由,结果是被防火墙拦截了,解封以后还不行,重新查,联动的…...

【微信小程序】记一次自定义微信小程序组件的思路

最近来个需求,要求给小程序的 modal 增加个关闭按钮,上网一查发现原来 2018 年就有人给出解决方案了,于是总结下微信小程序自定义组件的思路:一句话,用 wxml css实现和原生组件类似的样式和效果,之后用 JS…...

TiDB数据库从入门到精通系列之四:SQL 基本操作

TiDB数据库从入门到精通系列之四:SQL 基本操作 一、SQL 语言分类二、查看、创建和删除数据库三、创建、查看和删除表四、创建、查看和删除索引五、记录的增删改六、查询数据七、创建、授权和删除用户 成功部署 TiDB 集群之后,便可以在 TiDB 中执行 SQL 语…...

Azure创建自定义VM镜像

创建一个虚拟机,参考 https://blog.csdn.net/m0_48468018/article/details/132267096,入站端口开启80,22 进行远程远程连接 使用CLI命令部署NGINX,输入如下命令 sudo su apt-get update -y apt-get install nginx git -y最后的效果 4. 关闭…...

react 10之状态管理工具2 redux + react-redux +redux-saga

目录 react 10之状态管理工具2 redux store / index.js 入口文件actionType.js actions常量的文件rootReducer.js 总的reducer 用于聚合所有模块的 reducerrootSaga.js 总的saga 用于聚合所有模块的 sagastore / form / formActions.js 同步修改 isShowstore / form / formRedu…...

gor工具http流量复制、流量回放,生产运维生气

gor是一款流量复制回放工具,gor工具的官网:https://goreplay.org/ 1、对某个端口的http流量进行打印 ./gor --input-raw :8000 --output-stdout 2、对流量实时转发,把81端口流量转发到192.168.3.221:80端口 ./gor --input-raw :81--output-ht…...

设计模式之单例设计模式

单例设计模式 2.1 孤独的太阳盘古开天,造日月星辰。2.2 饿汉造日2.3 懒汉的队伍2.4 大道至简 读《秒懂设计模式总结》 单例模式(Singleton)是一种非常简单且容易理解的设计模式。顾名思义,单例即单一的实例,确切地讲就是指在某个系统中只存在…...

Java自学到什么程度就可以去找工作了?

引言 Java作为一门广泛应用于软件开发领域的编程语言,对于初学者来说,了解到什么程度才能开始寻找实习和入职机会是一个常见的问题。 本文将从实习和入职这两个方面,分点详细介绍Java学习到什么程度才能够开始进入职场。并在文章末尾给大家安…...