本文目录一览:

ai的鸡汤是不是很厉害

GPT-3是OpenAI最新、最大的语言人工智能模型,由1750亿个参数组成。总部位于旧金山的OpenAI研究实验室今年5月开始逐步推出了该模型,并引起越来越大的反响。这个庞大的语言模型几乎可以胜任所有可以用文字表达的工作:从回答问题、写文章、写诗歌、甚至写代码……无一不包。那么,现实中它究竟有多厉害呢?

最近,国外一名刚入门GPT-3不久的伯克利大学生利亚姆·波尔(Liam Porr),以一个假名,然后用人工智能模型建了一个完全假的博客。不过,这却成功“骗倒”了一大批内容阅读者。

这个充满讽刺性和欺骗性的“AI把戏”很快骗过了Hacker News等科技极客圈子,然后真相曝光——瞬间成为了热点话题——这么多人怎么就被一个完全由AI搭建起来的所谓“博客”给诓了?居然还有不少人“订阅”了上面的消息?

尽管许多人猜测到目前为止最强大的语言生成AI工具——GPT-3会如何影响内容生产,但这种“以假乱真”的程度和效果是他们始料未及的。这是目前唯一一次GPT-3如此真实地展示自己的实力,足以说明这一工具的应用潜力。

在加州大学伯克利分校(University of California, Berkeley)学习计算机科学的波尔说,这次经历中最突出的一点是:“实际上,它超级简单,这是最可怕的部分。”

登上头条狂涨粉的“AI鸡汤文”

虽然GPT-3还没有彻底开放,但波尔却依然轻轻松松获取了接口。波尔提交了一份申请。他填写了一张表格,里面有一份关于他打算使用的简单问卷。但他也没有等上多少时间。在联系了伯克利的人工智能社区的几名成员后,他很快找到了一名已经有此权限的博士生。

这个博士生同意合作后,波尔很快就写了一个小脚本让他运行。它给了GPT-3一个博客文章的标题和介绍,并给出了几个完整的版本。Porr的第一个帖子(在Hacker News上发布的那个)和之后的每一个帖子都是从一个输出中复制粘贴过来的,几乎没有编辑。

他说:“从我想到这个想法并与那个博士生取得联系,到我真正创建了这个博客——这大概只花了几个小时。”

波尔用假名字“adolos”写的第一篇假博客,居然顺顺利利就登上了YC新闻平台Hacker News热门榜第一名!波尔说,他使用了三个独立的账号在Hacker News上提交并投票,试图把他的帖子推得更高。管理员说这个策略不起作用,但他的点击率标题起作用了。

不需要太多编辑就能生成内容的诀窍是——理解GPT-3的优缺点。波尔说:“它很擅长创造漂亮的语言,但不太擅长逻辑和理性。”因此,他选择了一个不需要严格逻辑的流行博客类别——“鸡汤文”,这样就能实现高效和自助式的产出。

然后,他按照一个简单的公式来写他的标题:他在Medium和Hacker News上翻来翻去,看看在这些类别中发生了什么,然后把一些相对相似的东西放在一起。《感觉生产力不高?也许你应该停止思虑过多》“”(Feeling unproductive? Maybe you should stop overthinking)他为其中一篇文章写道。《大胆和创造力胜过智慧》(Boldness and creativity trumps intelligence),他又在另一篇文章中写道。有几次,这些标题并没有起到作用。但只要他坚持正确的话题,这个过程就很容易实现,“鸡汤文”成功地帮着博客蹭蹭蹭狂涨粉。

两周后,他几乎每天都发帖子。随后不久,Hacker News上就有人指责波尔的博客文章是GPT-3写的。另一名用户却回应说,这条评论“不可接受”。甚至有读者读后留言称,“好文!和Ethan Hawke在Ted的演讲一样深刻!”对波尔的假博客持怀疑态度的少数人,居然就这样被社区的其他成员投了反对票,妥妥证明了并非“大众的眼睛都是雪亮的”。

一大部分人愣是没看出来文章不是人类写的,Medium、YC的新闻平台等多家平台都转载刊发了他的第一篇博客、他的博客居然还疯狂涨粉人气居高不下……这让小哥波尔开始感到不淡定了,不过他自己也感到非常惊讶。

波尔说,他想证明GPT-3可以冒充人类作家。事实上,尽管该算法的书写模式有些奇怪,偶尔也会出现错误,但在他在Hacker News上发表的最重要的帖子上,只有三四个人怀疑该算法可能是由某个算法产生的。而且,所有这些评论都立即被其他社区成员否决。

最后,波尔以一条自己写的神秘信息结束了这个项目。标题为《如果我没有道德,我将如何对待GPT-3》,文章将他的过程描述为一个假设。同一天,他还在自己真正的博客上发表了一篇更直白的自白,澄清曝光了“假博客”的始终。

AI语言工具引发担忧与思考

根据OpenAI的算力统计单位petaflops/s-days,训练AlphaGoZero需要1800-2000pfs-day,而OpenAI的GPT-3用了3640pfs-day,看来拥有微软无限算力的OpenAI,现在真的是为所欲为了。

对于专家来说,这一直是这种语言生成算法引起的担忧。自从OpenAI首次发布GPT-2以来,人们就猜测它很容易被滥用。而GPT-3已经成为OpenAI迄今为止推出最新、最大的AI语言模型。在自己的博客文章中,该实验室重点关注了人工智能工具作为大量制造错误信息的武器的潜力。其他人则想知道是否可以用它来大量发布谷歌游戏相关关键词的垃圾帖子。

去年2月,OpenAI的GPT-2(该算法的早期版本)登上了新闻头条,OpenAI宣布将保留该版本,以防被滥用。这一决定立即引发了强烈反响,研究人员指责该实验室在“搞噱头”。到了11月,该实验室终于改变了立场,发布了这个模型,当时还言之凿凿地称“到目前为止没有发现滥用的有力证据”。这不,这回“翻车”翻得有点厉害了。

该实验室对GPT-3采取了不同的方法;它既没有拒绝,也没有允许公众访问。取而代之的是,它将算法提供给了那些申请私有测试的研究人员,目的是收集他们的反馈,并在今年年底将这项技术商业化。

波尔说,他的实验还展示了一个更平凡但仍然令人不安的选择——人们可以使用该工具生成大量的点击诱导内容。他说:“很有可能会出现大量平庸无质量的博客内容,因为现在进入的门槛太低了。”“我认为在线内容的价值将大大降低。”

波尔计划用GPT-3做更多的实验。但他仍在等待OpenAI的介入。他说:“他们可能对我的所作所为感到不满。”“我是说,这有点傻。”

背后的“AI大法”OpenAI

在成立的短短四年时间里,OpenAI已经成为全球领先的人工智能研究实验室之一。与Alphabet旗下的DeepMind等其他人工智能巨头一样,谷歌不断推出引人注目的研究成果,并因此成名。它也是硅谷的宠儿,创始人包括埃隆·马斯克(Elon Musk)和传奇投资者山姆·奥特曼(Sam Altman)。

最重要的是,它因其使命而受到推崇。它的目标是成为第一个创造人工智能的机器——一个具有人类思维的学习和推理能力的机器。其目的不是统治世界;相反,该实验室想要确保这项技术是安全发展的,并且它的好处能均匀地分配给全世界。

这意味着,如果AGI技术的发展遵循阻力最小的道路,那么它很容易失控。围绕在我们身边的那种笨拙的人工智能,就是一个例子。问题是,AGI一直都很模糊。该领域内的共识是,这种先进的能力将需要几十年,甚至几个世纪的时间——如果真的有可能发展它们的话。许多人还担心,过分追求这一目标可能会适得其反。

大多数人第一次听说OpenAI是在2019年2月14日。那天,实验室宣布了一项令人印象深刻的新研究:只需按下一个按钮,就可以生成令人信服的论文和文章。

但也有一个问题:研究人员说,这种被称为GPT-2的模型释放起来太危险了。如果这样强大的技术落入坏人之手,就很容易被“武器化”,制造大规模的虚假信息。这立即引起了科学家们的强烈反对。

在持续不断的炒作指控中,OpenAI坚称GPT-2不是噱头。更确切地说,这是一项经过深思熟虑的实验,经过一系列内部讨论和辩论后达成一致。大家一致认为,即使这次的行动稍微有点过火,但它将为处理更危险的研究开创先例。

但OpenAI与GPT-2的媒体宣传活动也遵循了一种成熟的模式,这种模式让更广泛的人工智能社区产生了怀疑。多年来,该实验室的重大、引人注目的研究公告一再被指责助长了人工智能的炒作周期。批评人士还不止一次地指责该实验室大肆宣扬其研究结果,甚至达到了错误描述的地步。出于这些原因,该领域的许多人都倾向于保持一定的距离。

GPT-2引发如此强烈的反弹还有另一个原因。人们觉得OpenAI又一次违背了它之前关于开放和透明的承诺,并走上了营利的道路。未公开的研究让人们更加担忧和怀疑——会不会是这项技术一直处于保密状态,为将来获得许可做准备?但是人们并不知道,这不是OpenAI唯一一次选择隐藏它的研究。

百度文心一言是什么?你对文心一言有什么期待?

百度文心一言是每日更新的一句古诗词,旨在激发读者的思考,增强文人文魂。我期待文心一言能够带给我更多美好的文学体验,更深刻的文化意境,以及更多有趣的历史故事。

进入3月中旬,全球科技巨头再次竞相亮相大语言模型赛道。

一周之内,开发出ChatGPT的美国初创公司OpenAI,对OpenAI投入巨资的科技巨头微软,以及中国互联网龙头企业百度,相继发布了在大语言模型(LLM)领域的最新动态。这也再次引发了全球对该领域的关注。

当地时间3月14日,OpenAI公布了其大型语言模型的最新版本——GPT-4,它比GPT-3.5的问答质量和技术都有明显提升。

3月16日下午,百度开启新一代大语言模型、生成式AI产品文心一言测试,从而成为第一家加入该赛道竞争的中国企业。

openai画画关键词(绘画关键词)

在发布会现场,百度创始人、董事长兼首席执行官李彦宏通过问答的形式,展示了文心一言在文学创作、商业文案创作、数理推算、中文理解、多模态生成等五个使用场景。几个小时后,微软宣布,将把GPT-4接入Office全家桶,新名为“Microsoft 365 Copilot”。

正如财经E法在2月17日发布的文章(OpenAI独家回应|ChatGPT为何不向所有中国用户开放注册?)所述,中国内地和中国香港的手机号均无法注册ChatGPT账号。此外,虽然OpenAI的应用程序编程接口(API)已向161个国家和地区开放,但不包括中国内地和中国香港。

一方面,业界普遍关注,在AIGC(生成式人工智能)势不可挡的科技浪潮中,谁将成为下一个弄潮儿?另一方面,在中美科技竞合的敏感期,各方亦颇为关注百度迈出的第一步带来的涟漪,以及中国企业该如何应对。

01“真的ready了吗?”

3月16日,李彦宏身着白衬衫和运动鞋演讲。开场就直面疑问,“最近一段时间,很多朋友问我,为什么是今天,你们真的ready了吗”?

李彦宏的回答是,虽然百度已投入AI研究十多年,为发布文心一言做了充分准备,但“不能说完全ready了”,因为文心一言对标ChatGPT、甚至是GPT-4,门槛很高,还“有很多不完美的地方”。但他强调“一旦有了真实的人类反馈,文心一言的进步速度会非常快”。

李彦宏解释,之所以选择当天发布,是因为市场有需求:客户和合作伙伴都希望能早一点用上最新最先进的大语言模型。

如何理解李彦宏所言的“对标GPT-4的门槛很高”?

当地时间3月14日,OpenAI公布了其大型语言模型的最新版本——GPT-4。值得注意的是,GPT-4是大型的多模态模型,即能够接受图像和文本类型的输入。而GPT-3.5只能接受文本输入。

在演示视频中,OpenAI总裁兼联合创始人格雷格·布罗克曼(Greg Brockman)用笔和纸画了一幅网站草图,并将图片输入GPT-4。仅1到2秒后,GPT-4就生成了网页代码,制作出了与草图高度相似的网站。根据OpenAI发布的实验数据, GPT-4模型相较前一代GPT-3.5已取得了巨大的进步,在许多专业测试中表现出超过绝大多数人类的水平。

浙江大学国际联合商学院数字经济与金融创新研究中心联席主任盘和林认为,文心一言未来还有待全面开放来获得用户检验。无论是通过B端API还是直接向C端用户开放,用户体验口碑都是硬道理。当前ChatGPT没对中国用户开放,在国内市场,百度将获得先发优势。

对OpenAI和百度的产品均做过测评的艾媒咨询CEO兼首席分析师张毅表示,GPT系列大模型,包括GPT-4与文心一言本质上都是同一类产品,只是它们各自的数据覆盖范畴和数据模型的积累长短不一。从短期看,OpenAI的产品准备时间相对更加充足,智能程度暂时领先一些。但是对文心一言而言,能在这么短的时间内训练出这样的一个产品,也是非常了不起的。

同时,张毅也对百度做出更好产品更有信心,他的理由是,从人工智能、大数据、大模型的人才储备来看,中国会更有优势。

中央财经大学数字经济融合创新发展中心主任陈端则认为,与海外竞争对手相比,百度最大的优势是立足本土,构建了语言和文化层面理解的护城河。

作为中国公司研发的大语言模型产品,文心一言的中文理解能力备受关注。重要原因是,此前很多评论人士认为,ChatGPT的中文问答能力不如英文问答能力强。

李彦宏表示,作为扎根于中国市场的大语言模型,文心一言具备中文领域最先进的自然语言处理能力。在现场展示中,文心一言正确解释了成语“洛阳纸贵”的含义、“洛阳纸贵”对应的经济学理论,还用“洛阳纸贵”创作了一首藏头诗。

李彦宏称,文心一言的训练数据包括:万亿级网页数据,数十亿的搜索数据和图片数据,百亿级的语音日均调用数据,以及5500亿事实的知识图谱等,这让百度在中文语言的处理上能够独一无二。

受访专家也指出,由于汉语的特殊性,中国企业在研发大模型时面临的难度更大,但若突破了,也会在提供本土服务时,具备更大的优势。

法国里昂商学院人工智能与商业分析教授丁文璿日前对媒体指出,语言对话模型训练,需要让机器对文字产生理解,英语比中文稍微容易一些。丁文璿解释,中国人工智能技术所处理的中文语言,大多都是象形词,而英文是解释性的,相较而言词语也并非特别丰富。

此外,上海交通大学约翰·霍普克罗夫特计算机科学中心助理教授林洲汉认为,未来大语言模型大概率会往多模态、交互式的方向发展,进一步将视觉、语音、强化学习等领域的技术综合进来。李彦宏也表示:“多模态是生成式AI一个明确的发展趋势。未来,随着百度多模态统一大模型的能力增强,文心一言的多模态生成能力也会不断提升。”

在多模态生成方面,李彦宏展示了文心一言生成文本、图片、音频和视频的能力。文心一言在现场用四川话朗读了一段内容,并根据文本生成了一段视频。但李彦宏透露,文心一言的视频生成成本较高,现阶段还未对所有用户开放,未来会逐步接入。

李彦宏称,文心一言的训练数据包括:万亿级网页数据,数十亿的搜索数据和图片数据,百亿级的语音日均调用数据,以及5500亿事实的知识图谱等,这让百度在中文语言的处理上能够独一无二。

受访专家也指出,由于汉语的特殊性,中国企业在研发大模型时面临的难度更大,但若突破了,也会在提供本土服务时,具备更大的优势。

法国里昂商学院人工智能与商业分析教授丁文璿日前对媒体指出,语言对话模型训练,需要让机器对文字产生理解,英语比中文稍微容易一些。丁文璿解释,中国人工智能技术所处理的中文语言,大多都是象形词,而英文是解释性的,相较而言词语也并非特别丰富。

此外,上海交通大学约翰·霍普克罗夫特计算机科学中心助理教授林洲汉认为,未来大语言模型大概率会往多模态、交互式的方向发展,进一步将视觉、语音、强化学习等领域的技术综合进来。李彦宏也表示:“多模态是生成式AI一个明确的发展趋势。未来,随着百度多模态统一大模型的能力增强,文心一言的多模态生成能力也会不断提升。”

在多模态生成方面,李彦宏展示了文心一言生成文本、图片、音频和视频的能力。文心一言在现场用四川话朗读了一段内容,并根据文本生成了一段视频。但李彦宏透露,文心一言的视频生成成本较高,现阶段还未对所有用户开放,未来会逐步接入。

发布会前后,百度的股价经历了大落大起。3月16日,港股百度盘中股价跌幅一度扩大超10%,报120.1港元。截至收盘,百度股价跌幅为6.36%,报125.1港元。但百度股价在美股势头强劲,当日百度美股开盘低开高走,振幅超7%。截至收盘,报138.16美元,涨幅为3.8%。3月17日,百度港股表现强势,盘中一度大涨超15%。截至当日收盘,百度港股涨幅为13.67%,报142.2港元。

文心一言宣布开启邀请测试一小时内,排队申请文心一言企业版API调用服务测试的企业用户已达3万多家,申请产品测试网页多次被挤爆,百度智能云官网流量飙升百倍。

文心一言的市场热度持续飙升,资本市场也给予了价值重估。张毅认为,这也代表了公众对大语言模型/生成式AI “既期待,又担忧,然后是希望”的心情。

02谁都不能错过的科技革命

事实上,“真的ready了吗?”并不仅针对百度,也是伴随此轮“ChatGPT”热潮以来,公众普遍的疑问。

李彦宏观察到,从2021年开始,人工智能技术开始从“判别式”向“生成式”转变。

创新工场董事长兼CEO李开复3月14日在一场趋势分享会上表示,AI 2.0时代的第一个现象级应用,就是以GPT-4为代表的AIGC,又称生成式AI(Generative AI)。李开复表示,AI2.0 是绝对不能错过的一次革命,它将会是一个巨大的平台性机会,这个机会将比移动互联网大十倍。他还表示,AI 2.0也是中国在AI领域的第一次平台角逐机会。

受访专家普遍认为,此前全世界的AI企业都遇到了一个极大的问题:即使技术储备十分丰富,AI应用并没有给它们带来丰厚的收益。造成这一问题的原因在于,AI产品的应用主要集中在B端(企业用户)和G端(政府用户),AI产品在进入企业或机构时往往流程复杂,这在某种程度上会限制AI产品在市场上的快速扩张。

因此,张毅认为,AIGC的产品应用方向在C端更有可能产生巨大的商业机会。他分析说,在美国市场,此前C端市场被谷歌、亚马逊、Meta等企业抢占,让微软压力非常大,更需要一款产品来扳回一局。在中国市场,百度的优势和谷歌一样,都有强大的搜索引擎对数据的抓取能力,以及储存、整理、分析能力的基础。中国本身拥有十几亿人口的巨大市场,百度完全可以做得很优秀。

“百度和微软、谷歌本质上是两个不同市场的竞争,所以我相信文心一言以及系列产品也一定会跑出来。”张毅说。

李彦宏坚称,文心一言不是“中美科技对抗的工具”。但他也承认,ChatGPT 的成功,加快了百度推出该产品的进度。

百度CTO王海峰表示,人类进入AI时代,IT技术的技术栈可以分为四层:芯片层、框架层、模型层和应用层。百度是全球为数不多、在这四层进行全栈布局的人工智能公司,在各个层面都有领先业界的自研技术。例如,高端芯片昆仑芯、飞桨深度学习框架、文心预训练大模型以及搜索、智能云、自动驾驶、小度等应用。王海峰认为,百度全栈布局的优势在于,可以在技术栈的四层架构中,实现端到端优化,大幅提升效率。

文心一言与ChatGPT一样,都使用了SFT(模型微调)、RLHF(从人类反馈中进行强化学习)以及Prompt(提示)作为底层技术。此外,文心一言还采用了知识增强、检索增强和对话增强技术。王海峰表示,这三项是百度已有技术优势的再创新。

陈端认为,在当前技术创新的集成性越来越高的当下,全栈式布局的单一公司在内部技术研发统筹能力和后期商业化进行中的协同能力上具有比较优势。

信心很重要,但差距无法忽视。

在本月初的两会期间,中国科技部部长王志刚在回应ChatGPT相关的问题时,用足球打比方,指出中国还有很多工作要做。“踢足球都是盘带、射门,但是要做到梅西(足坛巨星利昂内尔·梅西)那么好也不容易。”

王志刚指出,中国在这方面也作了很多布局,在该领域的研究也进行了很多年,并且有一些

成果,“但目前要达到像 OpenAI 的效果可能还要拭目以待”他补充道。

王志刚说,ChatGPT出来以后,引起了大家的关注。实际从技术本身源头来讲,它叫做NLP、NLU,也就是自然语言处理和自然语言理解。ChatGPT之所以引起关注,在于它作为一个大模型,有效结合了大数据、大算力、强算法,计算方法有进步。同样一种原理,做得有区别。比如大家都能做出发动机,但质量是有不同的。

然而,无论是ChatGPT还是文心一言,其背后的大语言模型是核心竞争力。北京大学王选计算机研究所研究员赵东岩告诉财经E法,国内大模型在数据、训练方法和费用投入方面和OpenAI还有一定差距。

一位科技系统人士则对财经E法指出,客观而言,中美目前在该领域的基础研究成果差距较大。这些基础研究成果包含自然语言处理(NLP)、数据库、GPU产品,“美国切断GPU芯片(的供应),(中国的)算力就跟不上”。

大型算力的核心在于高性能GPU芯片。北京航空航天大学软件学院助理教授周号益告诉财经E法,在GPU芯片等计算硬件上,中国与国际的差距在十年左右,硬件水平会严重制约大语言模型以及科学计算类模型的发展。

周号益认为,在技术和模型上,中国的科技公司与OpenAI并没有代差,差距仅在五年以内,在一些较小的技术领域差距只有2-3年。在数据采集方面,以GPT-3大模型为例,其训练的语料中中文只占5%,中国科技企业对中文语料的积累具有一定优势,因此极有可能在中文领域实现突破。

03巨头下一步:构建生态

对于以ChatGPT为代表的大语言模型赛道如何实现盈利,是各方公认的难题(ChatGPT爆火的冷思考:盈利难题与治理挑战)。

开发出ChatGPT的OpenAI仍是一家亏损中的创业公司。而2023年1月,投资银行摩根士丹利(Morgan Stanley)的一份分析报告称,ChatGPT的一次回复成本大约是谷歌搜索查询平均成本的6倍-28倍。

但腾讯研究院高级研究员曹建峰和经纬创投前副总裁庄明浩都认为,ChatGPT能带来多少盈利,并不是OpenAI关注的重点,重点是基于它的模型能长出什么样的服务和应用,从而构建起一个生态系统。“ChatGPT的发展需要一个产业生态,比如它和微软相关应用的融合就是很好的思路。”曹建峰说。

当地时间3月15日,微软副总裁兼消费者首席营销官余瑟夫·梅迪发文表示,新版必应搜索引擎已经在 GPT-4 上运行。另据OpenAI披露,GPT-4是在微软Azure AI 超级计算机上进行训练的,并将基于Azure 的AI基础架构向世界各地的用户提供 GPT-4服务。

谷歌则宣布开放其大语言模型PaLM的API接口,并推出面向开发者的工具MakerSuite。通过PaLM API 接口,开发者们可以将PaLM用于各种应用程序的开发。MakerSuite则可以让开发者快速对自己的想法进行原型设计,并且随着时间的推移,该工具将具有用于快速工程、合成数据生成和自定义模型调整的功能。

微软迅速跟进。当地时间3月16日,微软宣布将把GPT-4接入Office全家桶。新功能名为“Microsoft 365 Copilot”。

李彦宏则在发布会上表示,文心一言定位于人工智能基座型的赋能平台,将助力金融、能源、媒体、政务等千行百业的智能化变革。

根据文心一言的邀请测试方案,3月16日起,首批用户可通过邀请测试码,在文心一言官网体验产品,后续将陆续开放给更多用户。此外,百度智能云即将面向企业客户开放文心一言API接口调用服务。该服务于3月16日起开放预约。

截至3月18日早11点,排队申请百度智能云文心一言企业版API调用服务器测试的企业用户增加到9万家,百度收到关于文心一言合作的咨询 6588条。

陈端认为,这一轮的竞争,不仅是商业主体的竞争,实际上也是关乎下一轮国家数字竞争力的竞争。所以,百度的当务之急不完全是技术层面的研发,也需要引领更多初创型企业、生态合作伙伴加盟生态阵营。

在陈端看来,中国在构建生态系统上具有优势。陈端指出,中国的移动互联网经过多年发展,应用层生态化的配套创新已经非常成熟。应用层的很多中小微创业团队,在过去配合移动互联生态做了大量的局部、垂类场景端的创新,把过去的这种模式以及底层基础设施从移动互联迁移到大模型领域依然适用。

04中小企业还有机会吗?

面对大语言模型的浪潮,中国企业该如何抓住机遇,避免风险?

在中国,布局ChatGPT的企业有两种类型:第一种是传统的互联网大公司,第二种是一些初创企业。

陈端认为,目前市场上的初创公司已经错过了布局大模型的初始创业阶段。陈端分析说,

重新打造生成式AI企业,跟时机、底层的生态支撑度,还有创始人自身的阅历、经验、视野、个人IP的自然调动能力都是息息相关的。此外,大模型在前期的投入,不管是算力还是其他的成本,以及时间窗口都很重要。

陈端表示,目前,百度有能力把自己的其他的产品与文心一言协同,就像微软把Office与GPT-4协同推出Copilot,而“创业者单纯去拼大模型却没有配套生态,这是很成问题的”。

张毅也认为,对于能够有资金、实力支撑的企业来讲,单独构建大模型产品可能会更受资本和创业者的青睐。但对于中小企业来讲,依托文心一言的开放平台去嫁接自己在细分领域的应用,也是一个不错的选择。

因为要做出大语言模型,需要长时间,以及巨额资金的投入。

OpenAI成功的背后,是微软多年来的巨额投入。美国时间2023年1月23日,微软宣布将对OpenAI进行为期数年、价值数以十亿计美元的投资。在2019年和2021年,微软曾向OpenAI两次投资。2019年的投资为10亿美元,而2021年的投资未公开金额。

AI公司“彩云科技”的创始人袁行远在接受36氪采访时指出,要想跑通一次100亿以上参数量的模型,至少要做到“千卡/月”这个级别,即:用1000张GPU卡,然后训练一个月。即使不用最先进的英伟达A100,按照一张GPU五万元的均价计算,1000张GPU意味着单月5000万的算力成本,这还没算上算法工程师的工资。

“无论是哪家公司,都不可能靠突击几个月就能做出这样的大语言模型。”李彦宏在发布会上表示,深度学习、自然语言处理,需要多年的坚持和积累,没法速成。大模型训练堪称暴力美学,需要有大算力、大数据和大模型,每一次训练任务都耗资巨大。

百度提供的数据显示,百度近十年累计研发投入超过 1000 亿元。2022 年百度核心研发费用 214.16 亿元,占百度核心收入比例达到 22.4%。但百度并未透露大模型研发在核心研发费用中的占比。

李彦宏在发布会上表示,百度对文心一言的定位,是一个通用的赋能平台,金融、能源、媒体、政务等千行百业,都可以基于这个平台来实现智能化变革,实现效率提升,创造巨大的商业价值。李彦宏认为,大模型时代将产生三大产业机会,分别为新型云计算公司、进行行业模型精调的公司和基于大模型底座进行应用开发的公司,即应用服务提供商。

李彦宏断言,对于大部分创业者和企业来说,真正的机会并不是从头开始做ChatGPT和文心一言这样的基础大模型,这很不现实,也不经济。基于通用大语言模型抢先开发重要的应用服务,这可能才是真正的机会。目前,基于文本生成、图像生成、音频生成、视频生成、数字人、3D等场景,已经涌现出很多创业明星公司,可能就是未来的新巨头。

“大模型、生成式AI最终的产品形态还不得而知,所以这条路注定是长跑,需要整个科技界在资本、研发、模式创新上密切、持续地跟跑。”张毅说。

李开复认为,AI2.0会最先应用在能容错的领域,而毫无疑问最大的应用领域现在是内容创造。每个领域都可以把原有的App重写一次,创造出更赚钱的商业模式,最终AI2.0的生成能力会把成本降的几乎到0。

基于wechaty的定时消息推送(可以哄女朋友)、智能聊天和私人助理

---

title: "基于wechaty的定时消息推送(可以哄女朋友)、智能聊天和私人助理"

author: jasonlovesharon

email: 54027901@163.com

tags:

  - nodejs

  - wechaty

  - wechaty-puppet-padplus

---

## 前言

- 自从2017年微信web端API限制以后,itchat等一大批bot歇菜了,一直都在找一款合适的替品

- 目前来看,大部分都是针对windows微信客户端,基于HOOK的dll注入实现对微信的操控,有一定的封号风险,只能用固定的版本,部署在linux服务器端比较困难,意味着只能一直开着电- -wechaty,支持IPAD,,MAC等多种协议,不用去调用WEB网页API,并且可以布署在服务器,满足我所有需求。[项目地址]()

- 看完官方文档后([token官方介绍]()), 发现需要申请Token,并且python版本的Token是要付费的,但没有学过typescript,有点想放弃,浏览了一下ding-dong-bot的Example,似乎可以看懂,那就边学习边摸索吧。(ps:后来偶然见发现了另一篇可以使用将token转变一下实现python版wechaty,但此时已经基本用TS写完了,如果想用Python等其他语言可以参考[官方文档]()。)

## 具备功能

### 1. 关键词触发功能

1.1 关键词"介绍一下自己"、 "自我介绍一下"、 "你是谁"触发自我介绍

1.2 地名+天气 触发天气查询

### 2. 智能聊天功能

2.1群外直接聊天

2.2群内成员皆有聊天权限“@bot” 聊天

2.3不会回复 @其他群成员 的消息

## 实现过程

Talk is cheap,show your code

### 1. 主程序

```typescript

import { Wechaty, Message, UrlLink,log,} from 'wechaty'

import { PuppetPadplus } from 'wechaty-puppet-padplus'

import { EventLogger, QRCodeTerminal } from 'wechaty-plugin-contrib'

import { WechatyWeixinOpenAI, } from 'wechaty-weixin-openai'

import { setSchedule, } from './schedule/index'

import { getDay, formatDate,} from './utils/index'

import { getOne, getTXweather, getSweetWord,} from './superagent/index'

// 创建微信每日说定时任务

async function initDay() {

  console.log(`已经设定每日说任务`);

  setSchedule('0 40 0 * * *', async () = {

    console.log('你的贴心小助理开始工作啦!')

    let logMsg

    let contact =

      (await bot.Contact.find({ name: 'Jason' })) ||

      (await bot.Contact.find({ alias: 'boss' })) // 获取你要发送的联系人

    let one = await getOne() //获取每日一句

    let weather = await getTXweather() //获取天气信息

    let today = await formatDate(new Date()) //获取今天的日期

    let memorialDay = getDay('2009/08/07') //获取纪念日天数

    let sweetWord = await getSweetWord()

    let str = `${today}\n我们相爱的第${memorialDay}天\n\n元气满满的一天开始啦,要开心噢^_^\n\n今日天气\n${weather.weatherTips}\n${

      weather.todayWeather

    }\n每日一句:br${one}brbr每日土味情话:br${sweetWord}brbr————————最爱你的我`

    try {

      logMsg = str

      await delay(2000)

      await contact.say(str) // 发送消息

    } catch (e) {

      logMsg = e.message

    }

    console.log(logMsg)

  })

}

const padplusToken = '你自己的TOKEN'

const puppet = new PuppetPadplus({

  token: padplusToken,

})

const bot = new Wechaty({

  name: 'jason-assistant',

  puppet,

})

bot.use(EventLogger())

bot.use(QRCodeTerminal({ small: true }))

//在Wechaty里面引用和配置插件

const openAIToken = '你自己的机器人TOKEN' //需要在微信对话开放平台申请,点击机器人设置》绑定应用》在页面最下方即可看到

const openAIEncodingAESKey = '你自己的EncodingAESKey' //微信对话开放平台申请,点击机器人设置》绑定应用》在页面最下方即可看到

const preAnswerHook = async (message: Message) = {

  const isCommonMaterial = await processCommonMaterial(message)

  if (isCommonMaterial) {

    return false

  }

}

/**

* 获得boss联系名片,当机器人找不到问题答案时,将BOSS的名片推送过去

*/

const getBoss = async () = {

    const contact = bot.Contact.load('boss微信ID')

    await contact.sync()

    return contact

  }

  const noAnswerHook = async (message: Message) = {

    const room = message.room()

    const from = message.from()

    if (!room) {

      const boss = await getBoss()

      await message.say('你的问题我不会回答,你可以联系我的老板')

      await message.say(boss)

      return;

    }

    const members = await room.memberAll()

    const bossInRoom = members.find(m = m.id === 'boss微信id')

    if (bossInRoom) {

      await room.say`${bossInRoom},${from}问的问题我不知道,你帮我回答一下吧。`

    } else {

      const boss = await getBoss()

      await room.say`${from},你的问题我不会回答,你可以联系我的老板`

      await room.say(boss)

    }

  }

/**

* 用wechaty-weixin-openai可以实现快速接入微信对话平台

*/

bot.use(WechatyWeixinOpenAI({

    token: openAIToken,

    encodingAESKey: openAIEncodingAESKey,

    noAnswerHook, //在机器人无法回答时,推送设定的回答

    preAnswerHook, //判断是否是关键字,如果是关键字,触发关键字回答而不接入微信开放平台

  }))

const processCommonMaterial = async (message: Message) = {

    const room = message.room()

    // const from = message.from()

    const mentionSelf = await message.mentionSelf()

    const text = message.text()

    let intro = 'Jason,爱好广泛,广交天下豪杰,上得了九天摘月,下得了五洋捉鳖,俗话说的好,不会烘培的飞行员不是好户外人,不会玩音乐的水族爱好者不是好厨师,不会画画的极限爱好者不是好程序员,这就是我的老板Jason,吼吼吼~~'

    if (room !== null mentionSelf) {

      if (/jason|你老板|你上司/.test(text)) {

        await room.say(intro)

        await room.say(new UrlLink({

            description: '户外贱客 Fighting,fighting,finghting and finghting,读万卷书,行万里路,学习AND吃,喝,玩,乐',

            thumbnailUrl: '',

            title: 'Jason',

            url: ';mid=100000001idx=1sn=d05de320c6fbe6c9f9149a09a4da81ecchksm=41b4391776c3b001c143ac2c284c58ac8b08de41d95cab682aa5a07022e32096567f5780d5be#rd',

          }))

        return true

      } else if (/户外贱客/.test(text)) {

        await room.say(new UrlLink({

            description: '户外贱客 Fighting,fighting,finghting and finghting,读万卷书,行万里路,学习AND吃,喝,玩,乐',

            thumbnailUrl: '',

            title: 'Jason',

            url: ';mid=100000001idx=1sn=d05de320c6fbe6c9f9149a09a4da81ecchksm=41b4391776c3b001c143ac2c284c58ac8b08de41d95cab682aa5a07022e32096567f5780d5be#rd',

          }))

        return true

      }

    }

    return false

}

// 登录

async function onLogin(user) {

  console.log(`贴心小助理${user}登录了`)

  // 登陆后创建定时任务

  await initDay()

}

bot.on('login', onLogin)

bot.start()

  .then(() = log.info('StarterBot', 'Starter Bot Started.'))

  .catch(e = log.error('StarterBot', e))

```

### 2.创建schedule定时函数

```typescript

import { schedule } from 'node-schedule'

// date 参数

//其他规则见

// 规则参数讲解    *代表通配符

//

// *  *  *  *  *  *

// ┬ ┬ ┬ ┬ ┬ ┬

// │ │ │ │ │  |

// │ │ │ │ │ └ day of week (0 - 7) (0 or 7 is Sun)

// │ │ │ │ └───── month (1 - 12)

// │ │ │ └────────── day of month (1 - 31)

// │ │ └─────────────── hour (0 - 23)

// │ └──────────────────── minute (0 - 59)

// └───────────────────────── second (0 - 59, OPTIONAL)

// 每分钟的第30秒触发: '30 * * * * *'

//

// 每小时的1分30秒触发 :'30 1 * * * *'

//

// 每天的凌晨1点1分30秒触发 :'30 1 1 * * *'

//

// 每月的1日1点1分30秒触发 :'30 1 1 1 * *'

//

// 每周1的1点1分30秒触发 :'30 1 1 * * 1'

function setSchedule(date,callback) {

  schedule.scheduleJob(date, callback)

}

export function setSchedule()

```

### 3.创建几个功能函数,爬取ONE网站的每日一句,提取通过API获取的消息

```typescript

import * as cheerio from 'cheerio'

import * as superagent from 'superagent'

const ONE = '' // ONE的web版网站

const TXHOST = '' // 天行host

function req(url,method, params, data, cookies) {

  return new Promise(function (resolve,reject) {

    superagent(method, url)

      .query(params)

      .send(data)

      .set('Content-Type','application/x-www-form-urlencoded')

      .end(function (err, response) {

        if (err) {

        reject(err)

        }

        resolve(response)

      })

    })

}

async function getOne() {

  // 获取每日一句

  try {

    let res = await req(ONE, 'GET')

    let $ = cheerio.load(res.text)

    let todayOneList = $('#carousel-one .carousel-inner .item')

    let todayOne = $(todayOneList[0])

      .find('.fp-one-cita')

      .text()

      .replace(/(^\s*)|(\s*$)/g, '')

    return todayOne

  } catch (err) {

    console.log('错误', err)

    return err

  }

}

async function getTXweather() {

  // 获取天行天气

  let url = TXHOST + 'tianqi/'

  try {

    let res = await req(url, 'GET', {

      key: '你自己的KEY',//需要自己去天行申请,地址

      city: 'Arlington'

    })

    let content = JSON.parse(res.text)

    if (content.code === 200) {

      let todayInfo = content.newslist[0]

      let obj = {

        weatherTips: todayInfo.tips,

        todayWeather:`阿林顿今天${todayInfo.weather}\n温度:${todayInfo.lowest}/${todayInfo.highest}

        \n${todayInfo.wind}风: ${todayInfo.windspeed}\n紫外线指数:${todayInfo.uv_index}\n湿度

        ${todayInfo.humidity}`

      };

      console.log('获取天行天气成功', obj)

      return obj

    } else {

      console.log('获取接口失败', content.code)

    }

  } catch (err) {

    console.log('获取接口失败', err)

  }

}

async function getSweetWord() {

  // 获取土味情话

  let url = TXHOST + 'saylove/'

  try {

    let res = await req(url, 'GET', { key: '' })

    let content = JSON.parse(res.text)

    if (content.code === 200) {

      let sweet = content.newslist[0].content

      let str = sweet.replace('\r\n', 'br')

      return str

    } else {

      console.log('获取接口失败', content.msg)

    }

  } catch (err) {

    console.log('获取接口失败', err)

  }

}

export { getOne, getTXweather, getSweetWord, }

```

### 计算距离某日(生日,结婚纪念日等)还有多少天

```typescript

function getDay(date) {

  var date2 = new Date()

  var date1 = new Date(date)

  var iDays = parseInt(

    Math.abs(date2.getTime() - date1.getTime()) / 1000 / 60 / 60 / 24

  )

  return iDays

}

function formatDate(date) {

  var tempDate = new Date(date)

  var year = tempDate.getFullYear()

  var month = tempDate.getMonth() + 1

  var day = tempDate.getDate()

  var hour = tempDate.getHours()

  var min = tempDate.getMinutes()

  var second = tempDate.getSeconds()

  var week = tempDate.getDay()

  var str = ''

  if (week === 0) {

    str = '星期日'

  } else if (week === 1) {

    str = '星期一'

  } else if (week === 2) {

    str = '星期二'

  } else if (week === 3) {

    str = '星期三'

  } else if (week === 4) {

    str = '星期四'

  } else if (week === 5) {

    str = '星期五'

  } else if (week === 6) {

    str = '星期六'

  }

  if (hour 10) {

    hour = '0' + hour

  }

  if (min 10) {

    min = '0' + min

  }

  if (second 10) {

    second = '0' + second

  }

  return year + '-' + month + '-' + day + '日 ' + hour + ':' + min + ' ' + str

}

export { getDay, formatDate }

```

![关键字触发消息]()

![无法回答推送名片]()

![定时推送消息]()

![智能聊天]()

## 后记

到此已经实现了私人人助理和定时推送消息的功能([项目地址]()),由于对Typescript不熟,很多功能都是借鉴很多大神的轮子实现的,还是对Python熟悉点,下步准备用Python来实现以上功能,并进一步拓展更多有趣的功能。