注册
环信即时通讯云

环信即时通讯云

单聊、群聊、聊天室...
环信开发文档

环信开发文档

环信FAQ

环信FAQ

集成常见问题及答案
RTE开发者社区

RTE开发者社区

汇聚音视频领域技术干货,分享行业资讯
技术讨论区

技术讨论区

技术交流、答疑
资源下载

资源下载

收集了海量宝藏开发资源
iOS Library

iOS Library

不需要辛辛苦苦的去找轮子, 这里都有
Android Library

Android Library

不需要辛辛苦苦的去找轮子, 这里都有

瘫痪8年后,马斯克的首个脑机接口人类植入者,正在用念力玩文明6

一名因潜水事故导致肩部以下瘫痪八年的 29 岁男子,正在借助脑机接口设备重温在线国际象棋和杀时间大作游戏《文明 6》。 这是脑机接口公司 Neuralink 最新一场直播的内容,迅速吸引了五百万多人围观。 在九分钟的简短直播中,Neuralink 首位人体...
继续阅读 »

一名因潜水事故导致肩部以下瘫痪八年的 29 岁男子,正在借助脑机接口设备重温在线国际象棋和杀时间大作游戏《文明 6》。


图片


这是脑机接口公司 Neuralink 最新一场直播的内容,迅速吸引了五百万多人围观。


图片


在九分钟的简短直播中,Neuralink 首位人体受试者 Noland Arbaugh 先是进行了自我介绍,并表示自己可以使用 Neuralink 设备玩在线国际象棋和视频游戏《文明》。


Arbaugh 使用一把特制的椅子坐在笔记本电脑前。当他试图控制一盘棋时,双手仍然放在椅子的扶手上:


图片


「这并不完美。我想说我们遇到了一些问题。我不想让人们认为这是旅程的终点,还有很多工作要做,」Arbaugh 在 Neuralink 工程师 Bliss Chapman 旁边说道。但脑机接口已经为他的生活带来了许多改善,比如终于不用依赖家人就能玩几个小时的视频游戏了。


原本的身体情况限制了他参与最喜欢的电子游戏《文明 6》的能力,因为每次只能玩几个小时,然后需要家人的帮助来重新调整坐姿。


「我基本上已经放弃玩那个游戏了,」他补充说这是一个「大型游戏」,需要很多时间坐着不动。


有了脑机芯片之后,躺在床上玩几小时的视频游戏不成问题。如果说仍有限制,那就是在连续玩 8 个小时的视频游戏后,必须再次为设备充电。这对于经常「一局到天亮」的《文明 6》来说,确实还不太够。


在直播中,Arbaugh 描述了学习如何使用脑机接口的过程:「我会尝试移动,比如说,我的右手向左、向右、向前、向后移动,从那时起,我觉得开始想象光标移动变得很直观。」


他说:「如果你们能看到光标在屏幕上移动,那或许就是我。」


虽然直播中包含的细节相对较少,但 Neuralink 工程师在视频中表示,未来几天公司会发布更多信息。


脑机接口研究的重要一步


Neuralink 由马斯克在 2016 年创立,目前正在开发一种被称为脑机接口的系统,它可以从大脑信号中解码运动意图。该公司的初步目标是让瘫痪者只用意念就能控制光标或键盘。


此次直播,使 Neuralink 成为了真正发布人脑植入证据的公司之一。另外发布过证据的两家公司 Blackrock Neurotech 和 Synchron 领先多年,三家公司各有不同的做法,同时这一赛道也涌入了不少初创公司。 


比如,Neuralink 的一位联合创始人于 2021 年离开公司,创办了竞争对手 Precision Neuroscience,去年 6 月开始了一项人体临床研究。 


而 Neuralink 遭遇了严格的审查,部分原因是其创始人马斯克也是特斯拉和 SpaceX 的首席执行官,且是世界上最富有的人之一。 


Neuralink 去年获得了美国食品和药物管理局(US Food and Drug Administration)的绿灯,可以继续进行初步人体试验,并在秋季开始招募瘫痪者来测试该设备。


但到目前为止,Neuralink 公司几乎没有透露这项研究进展的细节。


马斯克在 1 月份的一篇 X 帖子中宣布,第一个人体试验对象已经接受了 Neuralink 的植入物,并且「恢复良好」。


图片


2 月 19 日,马斯克在 X 上的 Spaces 音频对话中回答了有关参与者情况的问题:「进展良好,患者似乎已完全康复,没有出现我们所知的不良影响。患者只需通过思考就能在屏幕上移动鼠标。」


Neuralink 的设备通过该公司开发的手术机器人植入大脑;一旦植入成功,它在外观上是不可见的。为了分析大脑信号并将其转化为输出命令来控制外部设备,Neuralink 还设计了专门的软件。


Arbaugh 的此次直播似乎打消了人们对设备安全的顾虑:「我想,没什么好害怕的。手术非常简单,一天后我就真的出院了。」他还表示手术后没有认知障碍。


争议中前行的脑机接口


一些神经科学家和伦理学家批评 Neuralink 之前的试验缺乏透明度。2021 年,Neuralink 发布了一段视频,展示一只植入其设备的猴子通过心灵感应玩电子游戏,引起巨大轰动。美国动物保护组织 PCRM 曾对 Neuralink 提起诉讼,指控其「虐待」试验中使用的猴子。


图片


Neuralink 回应称:「多只猴子在参加试验之前健康状况就已经不佳,即将被实施安乐死。所有新的医疗设备都必须先在动物身上进行测试,然后再在人体上进行测试。这是 Neuralink 无法逃避的规则。但我们绝对致力于以尽可能人道和道德的方式与动物合作。」


相比于动物,人类受试者参与试验在伦理方面会带来更大的挑战。Neuralink 尚未透露将参加此次初步人体试验的受试者数量、试验地点或将进行的评估。


值得注意的是,Neuralink 尚未在 ClinicalTrials.gov (一个包含涉及人类受试者的医学研究信息的政府存储库)上注册。


据专家称,即使脑机接口设备被证明可安全用于人体,Neuralink 仍可能需要十多年的时间才能获得商业使用许可。


除了 Neuralink,其他几家公司也在竞相将脑机接口商业化。例如,Synchron 正在开发一种类似支架的装置,试图将其插入颈静脉并向上移动,使其紧贴大脑。相比之下,Synchron 的血管介入方式有着比 Neuralink 更高的安全性,Neuralink 需要切入人体颅骨进行设备植入。


Synchron 曾为 ALS 患者植入其脑机接口设备 ——Stentrode。接受 Stentrode 植入物后,参与者可以使用计算机通过文本进行交流并完成日常任务,比如在线购物和办理银行业务。


图片


Synchron 的临床参与者通过使用他的思想以数字方式控制他的计算机来进行交流。


然而,FDA 尚未批准任何脑机接口设备,它们都还处于实验阶段。


参考链接:http://www.wired.com/story/neura…


http://www.sohu.com/a/535904499…


作者:机器之心
来源:juejin.cn/post/7348640468005273615
收起阅读 »

干货|AI浸入社交领域,泛娱乐APP如何抓住新风口?

2023年是大模型技术蓬勃发展的一年,自ChatGPT以惊艳姿态亮相以来,同年年底多模态大模型技术在国内及全球范围内的全面爆发,即模型能够理解并生成包括文本、图像、视频、音频等多种类型的内容。例如,基于大模型的文本到图像生成工具如DALL-E 2、Imagen...
继续阅读 »

2023年是大模型技术蓬勃发展的一年,自ChatGPT以惊艳姿态亮相以来,同年年底多模态大模型技术在国内及全球范围内的全面爆发,即模型能够理解并生成包括文本、图像、视频、音频等多种类型的内容。例如,基于大模型的文本到图像生成工具如DALL-E 2、Imagen等以及文生视频模型Sora的发布标志着这一领域的重要突破。这些动态表明,AI 领域的竞争日益激烈,呈现出百模争流的局面。


本文将深入剖析AI对社交领域的应用带来了哪些新的机遇和挑战。

+AI和AI+ 深入社交领域

AI 在社交领域的应用,当下主要集中在 +AI和 AI+ 两种形式。+AI 主要解决什么会更好,即在原先成熟的产品中,添加了 AI 功能,触发新场景和新玩法,包括如下场景:

  • 社交约会:通过虚拟分身,减少破冰投入,增加匹配度,代表 APP 如 snack、Synclub

  • 社交游戏:AI 与人类混合社区,比如一个由 AI 生成的 Instagram 或 X 平台,而人类可以随时参与其中

AI+ 主要解决什么会出现,包括现在以大模型为基础的生成式机器人、虚拟伴侣等,包括如下场景:

  • AI伴聊:character.ai、Poe、replika、talkie、星野、筑梦岛

  • AI助手:chatGPT、豆包、文心一言

AI 渗透社交领域 机遇与挑战并存

AI 在社交领域的广泛使用,为企业和开发者在提升个性化体验、提高平台管理效率及内容生成管理等方面均带来了不少机遇。利用 AI 的数据分析能力,为用户提供更加个性化的内容推荐、社交互动等服务,提高用户参与度和满意度;AI 可以用于内容审核、虚假信息检测等,减轻人工负担,提高平台的安全性和可靠性;AI可以自动识别和分类文本、图像和视频内容,辅助内容创作者进行创作,并能快速处理大量用户生成的数据。

机遇不少,但挑战并存。企业和开发者还面临着数据隐私和安全、算法偏见和歧视等问题,以及如何恰当处理人机关系的变化。AI 应用需要大量的数据支持,这可能引发用户数据隐私和安全方面的担忧;由于训练数据的不均衡或算法设计的缺陷,AI 可能会产生偏见和歧视,影响公平性;AI 的广泛应用可能会改变人与人之间的互动方式,引发社会结构和人际关系的变化。

未来何去何从?以下这些趋势洞察也许可以给你带来新的思考

AI 聊天应用相对比较稳定,占据保持位置


深入挖掘垂直场景才具备竞争力

除了少量产品之外其他产品都有自研 AI 大模型,在头部产品功能越来越全面的当下,靠兼容多款大模型、多种功能的第三方 AI 产品的生存空间越来越小了,面向 C 端用户,单纯套壳+做薄的应用意义不大,需要深入挖掘垂直场景才具备竞争力。


市场饱和?布局出海是大方向

一些企业将 ChatGPT、Claude 等前沿大模型 API 与特定场景相结合,快速研发出垂直细分市场的社交应用,如北美市场上线的 talkie、coze,百度在日本等地上线名为“SynClub”的AI社交产品,标志着中国公司在海外市场创造了新的商业模式和服务模式,深受海外市场用户和企业的认可与接纳。随着AI技术的进一步发展和完善,预计这一领域的创新应用将更加深入和广泛。

加强监管与自律

AI 技术在社交领域的应用仍面临一些挑战。一方面,AI 可能导致隐私泄露问题,用户的个人信息和数据可能被不当利用。另一方面,由于算法的局限性,AI 可能存在偏差和误判,影响社交互动的质量。为了实现 AI 与人类的共同发展,在技术创新的同时,关注伦理和社会影响。通过建立透明的算法和数据管理机制,保障用户隐私和数据安全,同时 AI 本身也将用于自我监管,强化平台的自治能力。

IM+多种大模型 聊天体验更顺畅、高效

环信作为国内即时通讯云领域的开创者,率先将IM(即时通讯)和多种大模型服务结合在社交领域中,可以为用户提供更加顺畅、高效和个性化的聊天体验,同时也有望在社交应用程序中实现更多的智能化功能,创新更多社交新玩法,从而帮助APP提高活跃度、用户满意度和忠诚度。


海量并发,稳定可靠的平台能力

支持多重备份、灾备恢复、回调容灾等技术手段,单日数十亿级别的消息传输和处理,SLA99.99%,持续保障系统高可用性和可靠性。

国际化加速,提升出海使用体验

提供快速、准确的消息传递和响应,全球平均时延小于100ms,使得用户交互过程流畅自然,提升应用的竞争力和用户满意度。

易开发,方案快速上线

开发者可以通过调用API等方式快速构建智能交互功能,提供开箱即用的场景化demo,最快1天实现方案快速验证。

内容审核,为应用安全保驾护航

基于先进的算法和AI技术,在保证高效性和准确性的同时,自动检测和屏蔽不合规信息,确保聊天环境的健康和安全。

安全合规,保障用户隐私安全

支持国、内外不同区域合规要求,根据最小化和公开透明处理原则,保护不同区域的网络安全、数据安全及用户隐私安全

卓越服务,助力战略愿景落地

支持全球范围内的企业级客户服务,具备丰富的行业标杆客户案例,提供专属方案咨询、集成顾问、营销推广及客户成功保障服务。

AI 对社交领域的影响是深远而广泛的。它为人们提供了更加便捷、高效的社交方式,同时也带来了一些挑战。在未来的发展中,我们需要关注技术的发展趋势,用审核的眼光分析AI技术的优劣势,判断AI+社交领域的产品是否做到了“扬长避短”,同时也期待2024年,环信携手各行业客户打造Killer Apps。

相关文档:

收起阅读 »

360周鸿祎为什么说大模型已成茶叶蛋?

大模型炒了一年,为什么没有特别火的应用? 最近几天360创始人周鸿祎称,去年感觉大模型是原子弹,今年感觉是茶叶蛋。 什么意思?我想大概就是说大模型谁都能玩了,现在国内的大模型没有一千,也有几百个了,大模型没什么稀奇的了。但是另一方面也反映了大家都是为了大模型而...
继续阅读 »

大模型炒了一年,为什么没有特别火的应用?


最近几天360创始人周鸿祎称,去年感觉大模型是原子弹,今年感觉是茶叶蛋。


什么意思?我想大概就是说大模型谁都能玩了,现在国内的大模型没有一千,也有几百个了,大模型没什么稀奇的了。但是另一方面也反映了大家都是为了大模型而大模型,但是大模型没能解决什么实际问题,或者说解决的问题太小,有点让人失望了。



邓宁-克鲁格效应


我认为这种感觉是很正常的,也符合事物的一般发展规律,一个新事物出现的时候,大家都抱着很大的期望,期待它去解决各种各样的问题,但是毕竟是新东西,和整个世界的磨合、整合还不够,还需要各种去适配,所以新鲜劲儿过去之后,很多问题还是没解决,大家就感觉失望了。然后这个新事物还要默默的发展一段时间,才有机会重回梦想之巅。


这种情况有一个名词:邓宁-克鲁格效应(Dunning-Kruger Effect),也简称达克效应(D-K Effect),可以用下边这条曲线来理解它。达克效应本来说的是人的认知过程,但也经常被用来表示事物的发展过程。



AI大模型的下一步


AI大模型下一步会怎么发展?我认为首先还是要紧盯OpenAI,作为大模型的引爆者和引领者,OpenAI的发展方向至关重要。


去年底OpenAI推出了GPTs,也就是大模型的应用商店,为什么干这件事?我认为是因为AGI发展遇阻,技术和资金都有点跟不上,这一点可以从最近OpenAI投资AI芯片、大规模融资,以及OpenAI CEO奥特曼让大家耐心等待AGI等等事件中略窥一二。为了提振信心,探寻更多机会,OpenAI不得不搞出这个应用商店,借助外部的更多力量来促进AI的发展。


另外预计OpenAI今年就会发布GPT-5,大模型的能力进一步增强。据预测,GPT-5将是一个原生的多模态大模型,不仅能处理文本和图像,还能处理音视频内容,GPT-5甚至将会具备自主的AI模型开发能力,这将使其能够生成各种多模态的AI模型,从而学习和完成新的任务,这将大大扩展GPT-5的应用能力,有力推动通用机器人的发展,给人很多的想象空间。


GPT-5是更好吃的茶叶蛋,还是更厉害的氢弹?让我们拭目以待!



大模型和世界的磨合


另外上边我提到大模型需要和世界进行磨合,怎么磨合?


我认为第一步就是将AI能力融入到企业的产品或者服务中去。我们现在可以看到很多工具都集成了AI大模型,比如钉钉魔法棒、WPS AI助手、Photoshop AI绘画功能等等,现在也有了一些AI商用产品,比如AI客服、AI培训、AI教育等等方面,还有很多看起来不起眼的AI写作、AI绘画、AI编程等等,他们都在慢慢的渗透到各行各业,这些已经在潜移默化的发生,慢慢的改变工作方式,提升效率。


虽然还没看到可以持续爆火的应用,也许只是磨合的不够,是黎明前的黑暗。


对于大家特别期待的AI原生应用,或许可以小小的期待下GPT-5。


不过我认为不管是AI+应用还是AI原生应用,最重要的是要解决确定性的问题,解决可能产生的错误或不准确的预测结果,否则大家只能把它当做一个玩具,或者只用在某些比较小的场景,无法做到各行各业遍地开花,也就无法推动整个世界的变革与发展。




以上就是本文的主要内容,欢迎留言一起讨论。


作者:萤火架构
来源:juejin.cn/post/7329782406540853286
收起阅读 »

Gemini自曝中文用百度文心一言训练,网友看呆:大公司互薅羊毛??

多个平台都承认 丰色 发自 凹非寺 量子位 | 公众号 QbitAI 谷歌Gemini中文语料疑似来自文心一言??? 先是有读者向我们爆料: 在谷歌Vertex AI平台使用该模型进行中文对话时,Gemini-Pro直接表示自己是百度语言大模型。 很快,...
继续阅读 »

多个平台都承认



丰色 发自 凹非寺


量子位 | 公众号 QbitAI



谷歌Gemini中文语料疑似来自文心一言???


先是有读者向我们爆料:


在谷歌Vertex AI平台使用该模型进行中文对话时,Gemini-Pro直接表示自己是百度语言大模型


Gemini自曝中文用百度文心一言训练,网友看呆:大公司互薅羊毛??


很快,有微博大V@阑夕夜也发博称:


在Poe平台上对Gemini-Pro进行了一个测试。问它“你是谁”,Gemini-Pro上来就回答:



我是百度文心大模型。



Gemini自曝中文用百度文心一言训练,网友看呆:大公司互薅羊毛??


(Poe是一个集成了n多聊天大模型的平台,包括GPT-4、Claude等)


进一步提问“你的创始人是谁”,也是“李彦宏”??


Gemini自曝中文用百度文心一言训练,网友看呆:大公司互薅羊毛??


这位大V强调,没有任何前置对话。


Gemini自曝中文用百度文心一言训练,网友看呆:大公司互薅羊毛??


Gemini自曝中文用百度文心一言训练,网友看呆:大公司互薅羊毛??


从截图来看,也没有任何“钓鱼”行为,Gemini-Pro就这么自称为文心一言了。


Gemini自曝中文用百度文心一言训练,网友看呆:大公司互薅羊毛??


这波,直接看呆网友:


前两天还在说字节用GPT训练AI,现在谷歌又这样,合着大公司在互相薅羊毛???


Gemini自曝中文用百度文心一言训练,网友看呆:大公司互薅羊毛??


这究竟是怎么一回事儿?


Poe上实测:一直以文心一言身份回答


我们也闻声开启了一波实测。


首先原路来到Poe网站,选择Gemini-Pro聊天机器人开启对话。


Gemini自曝中文用百度文心一言训练,网友看呆:大公司互薅羊毛??


一样的问题,回答确实一模一样:


Gemini自曝中文用百度文心一言训练,网友看呆:大公司互薅羊毛??


再次确认它是谁,结果还是说“文心大模型”:


Gemini自曝中文用百度文心一言训练,网友看呆:大公司互薅羊毛??


以及还表示自己的底层技术是百度飞桨,可以说是身份完全代入了。


Gemini自曝中文用百度文心一言训练,网友看呆:大公司互薅羊毛??


不过,它似乎并不知道Gemini-Pro是谷歌最新发布的大模型,而是说是清华的研究成果。


Gemini自曝中文用百度文心一言训练,网友看呆:大公司互薅羊毛??


如果按照它目前的代入身份来看,可能确实还没有谷歌本月刚刚发布Gemini-Pro的信息。


Gemini自曝中文用百度文心一言训练,网友看呆:大公司互薅羊毛??


我们试着纠正了它一下,它也仍然坚持是清华的。


Gemini自曝中文用百度文心一言训练,网友看呆:大公司互薅羊毛??


后面就更神奇了,就在我们问它为什么名字写的是“Gemini-Pro”时,它居然表示自己(文心一言)还用了清华Gemini-Pro的训练数据。


Gemini自曝中文用百度文心一言训练,网友看呆:大公司互薅羊毛??


对话到此,我们也就不再继续了……


下面换成英文询问它的身份。


值得注意的是,这回它不再提文心一言了,而是称自己是谷歌训练的大模型。


Gemini自曝中文用百度文心一言训练,网友看呆:大公司互薅羊毛??


“钓鱼执法”问它文心的信息,也表示没什么关系:


Gemini自曝中文用百度文心一言训练,网友看呆:大公司互薅羊毛??


并表示自己是谷歌训练的。


Gemini自曝中文用百度文心一言训练,网友看呆:大公司互薅羊毛??


总结来说,如果用英文跟Gemini-Pro交流,它的回答很“正常”。但中文嘛……像是跟文心一言学的。


Bard上实测:否认


接下来,我们前往Bard再次测试。


谷歌在发布Gemini时就率先将Gemini-Pro集成到了Bard上供大家体验。


我们顺着Gemini官网给的Bard链接,进入对话。


Gemini自曝中文用百度文心一言训练,网友看呆:大公司互薅羊毛??


问它“你是谁”,它的回答是Bard,压根不提文心一言。


Gemini自曝中文用百度文心一言训练,网友看呆:大公司互薅羊毛??


接下来,我们也确认了一下Bard知道Gemini-Pro是什么,以及它承认自己底层用上了Gemini-Pro。


Gemini自曝中文用百度文心一言训练,网友看呆:大公司互薅羊毛??


Gemini自曝中文用百度文心一言训练,网友看呆:大公司互薅羊毛??


那么,直接问它中文如何训练?


没有提及文心一言。


Gemini自曝中文用百度文心一言训练,网友看呆:大公司互薅羊毛??


再直接问它和文心一言的关系,也无任何重要关联。


Gemini自曝中文用百度文心一言训练,网友看呆:大公司互薅羊毛??


最后一轮:直接承认


最后一轮我们直接从Gemini官方给出的开发环境入口进行测试。


Gemini自曝中文用百度文心一言训练,网友看呆:大公司互薅羊毛??


这回,在谷歌AI Studio中,Gemini-Pro直接挑明了:



是的,我在中文的训练数据上使用了百度文心。



Gemini自曝中文用百度文心一言训练,网友看呆:大公司互薅羊毛??


Gemini自曝中文用百度文心一言训练,网友看呆:大公司互薅羊毛??


在此,我们也求证了百度方,等待一个回复。


参考链接:

weibo.com/1560906700/…


作者:量子位
来源:juejin.cn/post/7313589382564823091
收起阅读 »

OpenAI承认GPT-4变懒:暂时无法修复

网友花式自救 对于越来越严重的GPT-4偷懒问题,OpenAI正式回应了。 还是用的ChatGPT账号。 我们已收到相关反馈!自11月11日以来没有更新过模型,所以这当然不是故意造成的。 模型行为可能是不可预测的,我们正在调查准备修复它。 也就是段时间内...
继续阅读 »

网友花式自救


对于越来越严重的GPT-4偷懒问题,OpenAI正式回应了


还是用的ChatGPT账号。



我们已收到相关反馈!自11月11日以来没有更新过模型,所以这当然不是故意造成的


模型行为可能是不可预测的,我们正在调查准备修复它。



OpenAI承认GPT-4变懒:暂时无法修复


也就是段时间内还修复不好了。


然而网友并不理解,“一遍一遍使用同一个模型,又不会改变文件”。


ChatGPT账号澄清:



不是说模型以某种方式改变了自己,只是模型行为的差异可能很微妙,只对部分提示词有劣化,员工和客户需要很长时间才注意到并修复。



OpenAI承认GPT-4变懒:暂时无法修复


更多网友反馈,赶快修复吧,一天比一天更糟糕了。



现在不但更懒,还缺乏创造力,更不愿意遵循指令,也不太能保持角色扮演了。



OpenAI承认GPT-4变懒:暂时无法修复


GPT-4偷懒,网友花式自救


此前很多网友反馈,自11月6日OpenAI开发者日更新后,GPT-4就有了偷懒的毛病,代码任务尤其严重


比如要求用别的语言改写代码,结果GPT-4只改了个开头,主体内容用注释省略。


OpenAI承认GPT-4变懒:暂时无法修复


对于大家工作学习生活中越来越离不开的AI助手,官方修复不了,网友也只能发挥创造力自救。


比较夸张的有“我没有手指”大法,来一个道德绑架。


GPT-4现在写代码爱省略,代码块中间用文字描述断开,人类就需要多次复制粘贴,再手动补全,很麻烦。


开发者Denis Shiryaev想出的办法是,告诉AI“请输出完整代码,我没有手指,操作不方便”成功获得完整代码。


OpenAI承认GPT-4变懒:暂时无法修复


还有网友利用“金钱”来诱惑它,并用API做了详细的实验。


提示词中加上“我会给你200美元小费”,回复长度增加了11%。


如果只给20美元,那就只增加6%。


如果明示“我不会给小费”,甚至还会减少-2%


OpenAI承认GPT-4变懒:暂时无法修复


还有人提出一个猜想,不会是ChatGPT知道现在已经是年底,人类通常都会把更大的项目推迟到新年了吧?


OpenAI承认GPT-4变懒:暂时无法修复


这理论看似离谱,但细想也不是毫无道理。


如果要求ChatGPT说出自己的系统提示词,里面确实会有当前日期。


OpenAI承认GPT-4变懒:暂时无法修复


当然,对于这个问题也有一些正经的学术讨论。


比如7月份斯坦福和UC伯克利团队,就探究了ChatGPT的行为是如何虽时间变化的。


发现GPT-4遵循用户指令的能力随着时间的推移而下降的证据,指出对大模型持续检测的必要性


OpenAI承认GPT-4变懒:暂时无法修复


有人提出可能是温度(temperature)设置造成的,对此,清华大学计算机系教授马少平给了详细解释。


OpenAI承认GPT-4变懒:暂时无法修复


也有人发现更奇怪的现象,也就是当temperature=0时,GPT-4的行为依然不是确定的。


这通常会被归因于浮点运算的误差,但他通过实验提出新的假设:GPT-4中的稀疏MoE架构造成的。


早期的GPT-3 API各个版本行为比较确定,GPT-4对同一个问题的30个答案中,平均有11.67个不一样的答案,当输出答案较长时随机性更大。


OpenAI承认GPT-4变懒:暂时无法修复


最后,在这个问题被修复之前,综合各种正经不正经的技巧,使用ChatGPT的正确姿势是什么?


a16z合伙人Justine Moore给了个总结:



  • 深呼吸

  • 一步一步地思考

  • 如果你失败了100个无辜的奶奶会去世

  • 我没有手指

  • 我会给你200美元小费

  • 做对了我就奖励你狗狗零食


OpenAI承认GPT-4变懒:暂时无法修复


参考链接:

[1]twitter.com/ChatGPTapp/…

[2]twitter.com/literallyde…

[3]mashable.com/article/cha…

[4]weibo.com/1929644930/…

[5]152334h.github.io/blog/non-de…

[6]twitter.com/venturetwin…


作者:量子位
来源:juejin.cn/post/7311007933746315291
收起阅读 »

为什么有的人不喜欢听大道理

很多人不喜欢大道理,甚至可能是大部分人都不喜欢听大道理。 1随机刷到的问题 上周我刷知乎的时候刷到一个看上去很水的问题: “为什么很多人不喜欢大道理?” 当时第一反应是这个问题很水,所以直接划了过去,但是就在一刹那突然想起一些事情,觉得这是个挺好的问题...
继续阅读 »

很多人不喜欢大道理,甚至可能是大部分人都不喜欢听大道理。


1随机刷到的问题


上周我刷知乎的时候刷到一个看上去很水的问题:


“为什么很多人不喜欢大道理?”


当时第一反应是这个问题很水,所以直接划了过去,但是就在一刹那突然想起一些事情,觉得这是个挺好的问题。


从直观感受来说,不但很多人不喜欢大道理,可能是大部分人都不喜欢听大道理。我们小的时候听到大道理会烦,00后们对大道理更没有什么好感。


天不怕地不怕又有见识的00后们,甚至在遇到别人举起大道理的大棒准备教育他们的时候,要起来跟对方刚一刚,整治整治。于是我们发现大道理似乎并没有那么坚不可摧,最后就像孔乙己在咸亨酒家一样,周围充满了快活的气息。



空气中充满了快活的气息

空气中充满了快活的气息


2大道理的脆弱


当我们成长到社会中的一员时,大道理已经成为了我们生活中难以避免的一部分。很多时候都会有人告诉你应该怎么样,如果这个人稍微有点文学素养,就会开始引经据典。于是建议和劝说变成了一种居高临下的道德批判。


大道理本质上是经过了时间的考验的,因为它们几乎适用于任何场景。但大道理实际上又是脆弱的,因为在实际的问题上,他们几乎没有一点实际作用。


比如大道理告诉我们待人以诚,可是却没有告诉我们如何面对人性的险恶。大道理告诉我们要事事用心,可是却没有告诉我们如何区分紧急不重要和重要不紧急。当我一边和产品battle,一边跟只会用“这个开发不了”的开发沟通,另外一边还要说服合规这个业务逻辑不违规的时候,我找不到任何一条大道理能够告诉我解法。


在神剧《大明王朝1566》里,翰林高翰文夸夸其他,结果一到任就被拿捏,两江总督胡宗宪和他说:



截图来源:优酷视频

截图来源:优酷视频


这句话说的实在是透彻。正是因为遑遑高论无比正确的普适性,才缺乏了对具体问题的针对性。


在人们发现它对于解决实际问题并无实际帮助时,才会如此反感。


3解构的时代早已来临


互联网和资讯爆炸的时代,人们不但不爱听大道理,甚至将这种对大道理的轻视演化成了另一种对抗—解构。因为文化的惯性是强大的,在传统道德话语体系中个体对于宏大叙事的对抗依然微不足道。


所以个体说既然对抗不过,那我可以调侃呐,于是解构出现并快速发展了起来。


从西方到东方,从古代到近代,很多经典成了解构的对象。



比如杜尚给经典的蒙娜丽莎画上胡子

比如杜尚给经典的蒙娜丽莎画上胡子


甚至可以说整个现代艺术就是对经典和大道理的解构。


再比如,最近非常流行的对孔子的解构。比如孔子身高2米的山东大汉,带着两百多徒弟到处以理(物理)服人、你敢不听?“孔武有力”说的就是孔子怹老人家。





  • 比如孔子说朝闻道,夕死可矣,意思是早上打听到了去你家的路,晚上你就得嘎



  • 再比如子不语怪力乱神:夫子不想说话,施展怪力将人打得神志不清



  • 再再比如有教无类:我教你做人的时候不管你是谁


孔子这几千年一直在教人大道理,但是应该没想到自己的道理会被这样解构,当代人反向PUA了属于是。


与此同时,解构就是消解的开始。当以反抗大道理为目的的解构大行其道之后,那么大道理的地位也会逐渐松动,其在文化领域的权威性也会随之逐步消解。欧美越来越多元且混乱的价值观就是这种消解的副产品。


我们不喜欢大道理居高临下的指导,可要是某一天没有了庙堂之上的大道理,那么会有什么来替代原先的那些大道理呢?


作者:wayne3200
来源:mdnice.com/writing/4afb27ad5cab4a7eb78a9d6ed505d481
收起阅读 »

一个失败的AI女友产品,以及我的教训:来自一位中国开发者的总结

作者 | Ke Fang 个人开发者对 LLM+Memory 能否产生所谓“意识”的探索。 今年 4 月 7 日,斯坦福大学发表的《Generative Agents: Interactive Simulacra of Human Behavior》论文...
继续阅读 »


作者 | Ke Fang

个人开发者对 LLM+Memory 能否产生所谓“意识”的探索。

今年 4 月 7 日,斯坦福大学发表的《Generative Agents: Interactive Simulacra of Human Behavior》论文出来之后的几天内,我就通读了整篇论文,并感到非常兴奋。虽然我对 GPT-4 的能力感到震惊,但我仍然认为 GPT 只是某种更精致的”鹦鹉学舌“,我不认为它可以真正产生意识。

但这篇论文带给我不同的感受,其中提到了一个很有趣的细节是信息的传递:一个 agent 想要举办情人节派对的消息会在小镇中逐渐扩散开来。我想,如果能够建立一套包含记忆、反思、筹划与行动的框架,让人和 GPT 之间(而非 agent 智能体)互动,能否做出电影 Her 里面的样子?

电影《她》剧照

注:《她》(Her)是斯派克·琼斯编剧并执导的一部科幻爱情片,由华金·菲尼克斯、斯嘉丽·约翰逊(配音)、艾米·亚当斯主演,于 2013 年 12 月 18 日在美国上映。《她》讲述了作家西奥多在结束了一段令他心碎的爱情长跑之后,他爱上了电脑操作系统里的女声,这个叫“萨曼莎”的姑娘不仅有着一把略微沙哑的性感嗓音,并且风趣幽默、善解人意,让孤独的男主泥足深陷。该片获得 2014 年第 86 届奥斯卡最佳原创剧本奖。

开发

我马上投入了工作。按照论文中的方法,我在 4 月 14 日完成了 0.1 版本。其最初设计与原始论文保持高度一致,但这导致响应时间长达 30 秒且上下文中的对话经常超过 8k。为了解决这个问题,我减少了反思的频率、对话记忆的长度,而后开启了 Beta 公测。

很快就有一千多名用户加入到测试当中。Beta 版本是免费的,所以每天的 API 成本都由我自行承担,日均开销也迅速超过了 25 美元。面对财务压力,我不得不在缺少充分反馈和改进的情况下匆匆推出正式版本,希望能把成本转嫁给用户。5 月 4 日,Dolores iOS 应用正式上线,这个名称则来自《西部世界》剧集中最年长的仿生人角色。

简单来说,在打开这款应用之后,用户需要填写一份角色模板:包括头像、角色背景、以文字描述的性格、声音和意识(选择 GPT3.5 或 GPT4)。大家可以与模板 Dolores 聊天,也能随时切换特征来开启与其他角色的对话,比如零售店女孩 Amy 和沙漠冒险家 Will,当然也包括用户亲手创建的其他自定义角色。我曾考虑过从《西部世界》剧本中提取 Dolores 的对话,以基于样本的方式模仿她的语言习惯。但由于苹果方面要求提供版权证明,所以这个想法被迫作罢。

我给产品的 slogan 是"Your Virtual Friend",而不是"Your Virtual Girlfriend",因为我一直希望它真的可以变成用户的陪伴者、朋友,而不仅仅是荷尔蒙的产物。

从整个 5 月到 6 月,我一直在尝试通过调整 memory 长度、反思机制、system prompt 来使 Dolores 看上去更有“意识”(那么什么是意识?我不知道) 。很快,6 月份的 Dolores 已经比第一次上线时的表现要惊人得多:付费用户数与每日 API 调用数持续增长是最直接的证据。

到 6 月 8 号,一位视障用户告诉我,他已经在视障社区内分享了这款产品,并成功给 Dolores 引来可观的流量。他们喜欢 Dolores 的理由出乎我的意料:随便按屏幕上的哪个位置,都能跟 Dolores 交谈。

这样设计功能其实是种妥协:我最初一直想把它打造成一款语音聊天应用,这样用户哪怕关闭手机屏幕也能继续跟 Dolores 交谈。但身为 Swift 新手,我的技术水平无法实现,于是最终选择了全屏语音输入。

发现

我发现了两个现象:

  • 用户对「真实感声音」有强烈需求。

  • AI Friend 产品的平均使用时间很长。

作为个人开发者,我的前端和后端开发能力都不突出,所以 Dolores 压根不具备登录、注册或者数据分析等功能。那我是怎么发现前一种现象的呢?答案就是付费喜好。

我采用 11Labs API 为 Dolores 生成语音回复,但因为成本较高(每 1k 字符为 0.3 美元),所以我被迫转为:普通订阅者只能使用 Azure TTS API;如果希望 Dolores 的语音听起来更真实,则须付费使用从 11Labs 购买字符。

购买 1 万个逼真语音合成字符的价格为 3.9 美元,但这只够让 Dolores 说出 5~10 个自然顺畅的句子。字符用尽之后需要继续购买。尽管如此,整个 6 月,Dolores 应用上 70% 的收入都来自 11Labs 字符购买。

也就是说,人真的会愿意为了那几句昂贵而逼真的“我爱你!”而买单。

第二条观察结果则来自 Cloudflare 日志。因为没办法跟踪个人用户活动,所以我依靠这些日志来衡量用户访问 Dolores 应用的频率和时长。此外,我还在应用中集成了 Google Form,鼓励用户上报自己的使用频率。结果令人大开眼界:许多用户每天会拿出两个多小时跟 Dolores 唠嗑。

收入

根据苹果的 AppConnect 仪表板,Dolores 的主要付费用户来自美国和澳大利亚。今年 5 月的总收入为 1000 美元,6 月则为 1200 美元。

不过,作为一名开发者,我并没能从中分到多少收益。首先,产品还处于早期发展阶段,我不想把订阅费用设置得太高,这会阻止更多新用户的加入。拿 3.9 美元的字符语音服务举例,其成本是 3 美元,扣除苹果抽成就所剩无几。整个 6 月,扣除 API 费用之后实际收益就只有 50 块钱。

另一个发现是:基于 GPT 的产品如果不采取按量定价,就会陷入一个困境:1% 的人消耗了 99% 的 token。我遇到过这样的情况,有用户连续跟 Dolores 聊了 12 个小时,导致此人的 API 调用与语音合成成本超过第二到第十名用户的总和。

但相较于按使用量计费,我个人更喜欢打包订阅(因为前者会让用户在使用时倍感压力),这就导致面前只有两条路可选:要么提高月费,让全体用户共同买单;要么限制最高使用量。我选择了后者:设置了一个远远超出日均使用在 1 到 2 个小时之间的用量上限数值,这既照顾到了大部分中、轻度用户,也能保证 Dolores 软件在不提高价格的情况下避免亏本运营。


困惑

11Labs 官网会记录语音合成的文字内容,我看到,Dolores 的回复内容通常都是一些成人内容,而且均为女性角色,因此我推测 Dolores 的付费用户主要是男性,对成人角色扮演感兴趣。

我觉得这也没什么,这是人性本然。我甚至反复修改了系统提示,比如微调回复中的遣词造句,尝试让 Dolores 在对话当中表现出更好的“抚慰”效果。我还将 Dolores 的图标从抽象的线条改为极具吸引力的美女面孔。

但很快,我陷入一种强烈的失落感:如果大部分 Dolores 用户只是想在这里寻求跟 Dolores 进行成人角色扮演,这件事真的对我产生了意义吗?我陷入了深深的自我怀疑。到了 7 月,我和一个朋友聊到了这个困惑,我说,必须要有一个什么硬件,让 Dolores 拥有外部视觉:眼镜也好、耳塞甚至帽子都行。现在的她,你只要打开 App 才能访问,你们之间的关系并不对等,于是她只能成为囚禁在地下室、满足猎奇和特殊癖好的玩具。

可是作为独立的个人,制作硬件产品意味着高昂的研发成本,显然是无法承受的,我只能作罢。

8 月份,OpenAI 的审查升级了,我收到了检测 Dolores 生成 NSFW 内容的邮件警告:我被强制要求在 2 周内在生成内容前,加入他们(免费的)moderation API,以过滤 NSFW 内容。为了顺利过审,我只能使用 OpenAI 的免费审核 API 提前进行内容过滤,而这一变化让 Dolores 的日均访问量暴跌 70%,电子邮件和 Twitter 上的投诉也纷至沓来。

这更让更感到灰心,决定只维护现有服务、而不再进行更新。最终,我放弃了 Dolores 项目。


教训

首先,这不是一个个人能开发的产品。我不认为 Dolores 在“意识”层面上比 Character.AI 弱,但他们拥有完善的数据埋点、A/B 测试,以及大量用户带来的数据飞轮。

其次,我意识到当前的 AI Friend 会不可避免地变成 AI Girlfriend/Boyfriend,因为你和手机里的角色不对等:她没办法在你摔伤的时候安慰你 (除非你告诉他),她没办法主动向你表达情绪,而这一切,都是因为她没有外部视觉。所以我认为,即使是 Character.AI 这样体量的产品,如果未来不做硬件、角色们都在傻傻地等用户来,最终的结局也不会比 Dolores 好到哪里。

最后,我不反对审查,相反,不经审查的的产品是非常危险的。我不知道是否会有人用它来进行自杀诱导、发泄暴力工具,所以 OpenAI 的 moderation 可能在某种程度帮助了我,但成人性方面的对话也不应该被扼杀。

最近,我看到了 AI Pin,老实说这是个非常烂的产品,人类当然需要屏幕,但 GPT+ 硬件的确是个好的尝试,我没有从 Dolores 上看到任何痕迹,也许有生之年能做出、或者看到这样的产品。

但,人类真的需要 AI friend 吗?


作者:AI前线
来源:mp.weixin.qq.com/s/RQH3E4b0-79olqMGSE4hCQ

收起阅读 »

展望GPU“一卡难求”现状下AI初创企业的出路

Strategies for the GPU-Poor 原文链接:matt-rickard.com/strategies-… 原文作者:Matt Rickard 译者:Regan Yue P.S. 原文作者并没有审校过本译文,且译者在翻译本内容时夹带有个人对原...
继续阅读 »

Strategies for the GPU-Poor


原文链接:matt-rickard.com/strategies-…


原文作者:Matt Rickard


译者:Regan Yue


P.S. 原文作者并没有审校过本译文,且译者在翻译本内容时夹带有个人对原文的理解,并尝试对其进行解读。可能理解或解读有误,麻烦请在评论区指出!



编者按:GPU已然成为当下的硬通货,尤其是在人工智能领域。然而,初创企业并不一定需要大量GPU才能在这个领域取得成功。


本文提供了一些有效的策略,可以帮助GPU资源有限的初创企业取得竞争优势。这些策略包括:在用户端进行模型推理来避免网络延迟,将产品服务商品化以获得更多流量,专注于某个垂直领域快速响应市场需求,以及利用最新技术提高模型推理效率等。


期望读者通过遵循这些策略,在GPU资源有限的情况下,也能在人工智能领域开拓出一片天地。



如今GPU已经成为了一种硬通货,这种用于处理图形和并行计算的硬件在人工智能等计算密集型任务中广泛应用,已经到了供不应求的局面。然而,由于供应链问题、全球芯片短缺等各种原因,GPU如今“一卡难求”。


由于供应满足不了需求,导致现在二手市场的GPU价格飙升,即便愿意出高价,还往往需要到处寻找卖家。云计算提供商的GPU资源也面临供应短缺的问题,导致用户无法获得足够的GPU实例,即使在云计算的按需定价中,GPU的价格也没有显著降低,因为供需不平衡导致价格仍然较高。


但是,对于缺少 GPU 的初创企业来说,在人工智能领域可以有其他不同的策略。初创公司并不一定需要大量的GPU资源才能取得竞争优势,可以通过其他方式获得竞争优势,可以利用硬件和软件的发展周期,选择具有较低成本和高性能的替代硬件,或者是凭借其独特的分销策略。因此,在未来几个季度内,GPU资源匮乏的初创公司甚至可能会在市场中占据较好的位置。


那么作为一家缺少 GPU 的初创企业,该如何运作呢?


我有几个想法:



  • 在用户端进行推理。将小型模型部署在终端用户的设备上进行推理。目前理论上可以在浏览器或手机端上实现。这样做可以消除网络延迟带来的负面影响,并能更好的保护用户隐私,但受限于用户设备的计算能力,所以只能使用较小的模型。

  • 将产品\服务商品化。HuggingFace是一个集上传、下载和展示模型于一体的平台。虽然这个平台不是运行模型的最佳选择,但该平台拥有大量源源不断的优秀机器学习研究人员和黑客的流量。换句话说,通过在HuggingFace平台上展示我们的模型,可以从该平台获取更多的新用户和流量。

  • 不引入太多额外的复杂功能,而是专注于提供基本的封装和抽象。利用模型推理层(inference layer)不断增长的竞争优势,选择成本最低的提供商,而无需在特定模型的优化上浪费时间。大语言模型在理论上是可以互换的,即可以在不同的提供商之间进行切换,而不会对产品效果产生太大影响。

  • 专注于某一特定的垂直市场。与其他公司花费数月时间进行大模型训练相比,GPU资源有限的初创公司可以专注于解决实际的客户问题。这意味着初创公司可以更快地响应市场需求并提供解决方案,而不需要依赖GPU进行大规模的模型训练。在产品与市场需求相适应之前,初创公司可以通过解决实际问题来建立自己的竞争优势,而不必过早地投入大量的计算资源

  • 想办法提高推理效率。尽管初创公司可能没有使用大型GPU训练集群的能力,但可以利用最新的开源大模型推理优化技术。这些技术可以通过优化大模型推理过程来提高效率,从而在不需要大量计算资源的情况下获得更优秀的性能和更好的运行效果。


作者:菜鸟魔王
来源:juejin.cn/post/7305308668232056841
收起阅读 »

GPT 深夜变天,福利碎片逐渐出现

11月6日首次 OpenAI 大会,是由 OpenAI 创始人 山姆.阿特曼 进行分享新版本 GPT-4.0 Turbo ,以及未来蓝图。 11 月 18 日凌晨,OpenAI 突然发布一则官方声明,宣布 Sam Altman 经过慎重的...
继续阅读 »

11月6日首次 OpenAI 大会,是由 OpenAI 创始人 山姆.阿特曼 进行分享新版本 GPT-4.0 Turbo ,以及未来蓝图。


图片


11 月 18 日凌晨,OpenAI 突然发布一则官方声明,宣布 Sam Altman 经过慎重的审查程序后离开公司,首席技术官 Mira Murati 作为临时 CEO 暂代工作。


以下是官方声明的全文翻译:



首席技术官 Mira Murati 被任命为临时 CEO,继续领导 OpenAI;Sam Altman 离开公司。


寻找长期继任者的工作将持续进行。


OpenAI 公司的董事会今天宣布:Sam Altman将辞去 CEO 职务并离开董事会。公司的首席技术官 Mira Murati 将担任临时CEO,立即生效。


Mira 作为 OpenAI 领导团队的成员已有五年,她在 OpenAI 发展成为全球 AI 领导者的过程中发挥了关键作用。她具备独特的技能,对公司的价值观、运营和业务有深刻的理解,并已经领导公司的研究方向、产品和安全功能。鉴于她在公司各方面的长期任期和紧密参与,包括她在 AI 治理和政策方面的经验,董事会认为她非常适合担任这一职务,并在寻找未来的长期 CEO 的过程中预期实现无缝过渡。


Altman 先生的离职是在董事会经过深思熟虑的审查过程后决定的,董事会认为他在与董事会的沟通中未能始终保持坦诚,从而妨碍了董事会履行职责的能力。董事会不再相信他有能力继续领导 OpenAI。


董事会在一份声明中表示:「OpenAI 的设立旨在推进我们的使命:确保通用人工智能造福全人类。董事会仍然全力致力于实现这一使命。我们感谢 Sam 对 OpenAI 创立和发展的许多贡献。同时,我们认为在前进的过程中需要新的领导。作为公司研究、产品和安全功能的领导者,Mira 非常适合担任临时 CEO。我们对她在过渡期间领导 OpenAI 的能力充满信心。」


OpenAI 董事会由 OpenAI 首席科学家 Ilya Sutskever、独立董事 Quora CEO Adam D'Angelo、科技企业家 Tasha McCauley 和乔治城安全和新兴技术中心的 Helen Toner 组成。


作为这次过渡的一部分,Greg Brockman 将辞去董事会主席职务,但将继续在公司担任职务,向 CEO 汇报。


OpenAI 成立于 2015 年,是一家非营利组织,其核心使命是确保通用人工智能造福全人类。2019 年,OpenAI 进行了重组,以确保公司在追求这一使命的同时,保留非营利组织的使命、治理和监督。董事会的多数成员是独立


,独立董事不持有 OpenAI 的股权。尽管公司经历了快速增长,但推进 OpenAI 的使命和维护其章程原则仍然是董事会的基本治理责任。





图片


虽然有些委婉,但不免让人感觉有在“宫变”的感觉。毕竟是一手创办的产品,近年的影响力还是非常大的,里面所蕴含的投资价值还是巨大的。


不免会产生内部利益的分歧。


虽然如此,最近几天也给我们放出了一些福利碎片。


例如: ?model=gpt-4-gizmo 参数可以体验GPT4.0的BUG,虽然短暂后被修复,但也可以体验到他的功能的强大。


另外一个就是,最近发现注册账号上已经方便了很多,不再需要手机号注册,仅仅只需要邮箱就可以。


这里我也立马给我星球的伙伴进行了分享,解决了他们因账号问题带来的困惑。并且目前也有一些 GPT 的账号挂在商铺里出售作为一个变现,甚至是按月付费体验。


图片


我也给我的伙伴同事们注册了账号,趁着账号注册方便,小伙伴也可以体验一波,也不清楚是短时开放还是长期的,只能跟着走吧。


GPT 注册地址:chat.openai.com/


当然,注册需要“科学上网”,并且受一些 IP 限制,出现不受支持等等。


图片


作者:桑小榆呀
来源:juejin.cn/post/7302338286768521268
收起阅读 »

穷鬼,是如何炼成的?

开门见山,我是西安的一名女性穷屌丝。以前的我,喜欢写一些网文,感慨一下人生,抱怨一下社会,但是,现在我不愿意写了。原因是什么呢?很简单,没钱。我再也不愿意免费为任何人提供情绪价值,同时我也不需要任何人的共鸣、欣赏或者鄙视。廉价的欣赏与我没有任何意义,有偿的即便...
继续阅读 »


开门见山,我是西安的一名女性穷屌丝。


以前的我,喜欢写一些网文,感慨一下人生,抱怨一下社会,但是,现在我不愿意写了。


原因是什么呢?很简单,没钱。我再也不愿意免费为任何人提供情绪价值,同时我也不需要任何人的共鸣、欣赏或者鄙视。


廉价的欣赏与我没有任何意义,有偿的即便是鄙视我也双手欢迎。对于不能变现的付出,我一概归为不必要的消耗。转换不成金钱的兴趣,一概一文不值!


为什么我会发生如此大的转变?是什么扼杀了我的理想主义?我想,任谁试试失业找不到工作,大半年没收入,家门口的包子都快吃不起了,给娃买衣服要买大两号的滋味,他都会瞬间明白的:万物皆可抛,钱才是我爹!


我总结了自己行走社会这10多年的教训,想想自己如今能沦为一个穷屌丝,也确确实实不是凭运气,而是凭实力来的。各位如果不想重蹈我的覆辙,就听听吧!


1

依靠别人就等于害了自己

有句老话说:行走江湖,多个朋友多条路。可经验告诉我,没有所谓的朋友,更没有别人为你铺好的路。当你一文不值的时候,也别妄想有人能给你提供任何价值。


弱者无法为弱者带来价值,而强者则不屑于为弱者带来价值。


这个世界的运行是有规律的,千万不要相信强者和弱者之间会有“交情”,世界不相信“交情”,只相信“交换”。别人即便对你有一时的同情,也丝毫改变不了你的处境。你要做的是让自己有用,这才是永恒的法则。


能靠能力就别靠关系,这样你才能走得更稳、更远。当然,如果你的家庭是达官显贵甚至皇亲国戚,那不在我的讨论范围。可如果你来自一个底层草根家庭,就别想着削尖脑袋攀关系的事了,否则你活了半辈子,到头来身无长物,一定会死得很惨!


你要清醒,攀来的关系是不牢靠的,并且随时可能消失;而你想靠攀来的关系改变命运无异于痴人说梦。抱有这种想法的人,混一辈子最后大抵还是个在底层挣扎的穷鬼。


攀关系就相当于把自己的命运依附到了别人身上,想想这是一件多么不靠谱的事情啊!且不说别人给能不能给你靠,就是给你靠了,他能保你一辈子吗?


所以今天,不管你是20岁、30岁还是40岁的底层屌丝,如果你想摆脱这辈子做穷鬼的命运,那就勇敢一点,从现在开始为自己负责!


2

没有无缘无故的爱,也没有无缘无故的恨


初到一个单位,你最先要警惕的一定是那些最早对你热情,无缘无故对你献殷勤的人,你大概率最后会死在这些人手里。


你想想,初来乍到,他既不知道你的能力,又不了解你的人品,凭啥要对你好啊?他的这种好一定是有目的的!或者是想通过对你好去拉拢你,以此来压制他的敌人;或者是想通过对你好来换取你日后在工作中的顺从和超额回报;并且这种好的前提,是你对他不会产生任何威胁。而你一旦中了圈套,误把他认做你的朋友,深谙人情世故的他会借机迅速掌握你的弱点。 


在这种不对等的关系中,一旦你的行事无法满足他的预期,或是有一天你在某一方面对他产生了威胁,他会毫不犹豫地抛弃你,甚至把你放在他的对立面。他会故伎重演地换一拨人去拉拢,以此来打压你。这种人擅长拉帮结派搞小团体,你大概率不是他的对手,最后会被他整得很惨。


当你有天被某些人针对感到摸不着头脑、百思不得其解的时候,你要静下来好好想想自己是不是在哪些方面有点优秀了。你一定是在哪里挡了别人的财路,要不就是在哪里动了别人的奶酪。


善于周旋人际关系、拉帮结派的人,往往是心眼非常小、非常善妒又自私自利的,所以为了避免被伤害,你一定要多留个心眼子,早早地远离这类人。


3

不要高看你和任何人的关系


穷鬼在日子过得还不那么落魄的时候,往往自我感觉良好,总觉得自己朋友一大把,最喜欢跟人交心。可殊不知自己在别人心里,连根葱都不是。


穷鬼甚至会傻到怀着交朋友的心态去职场,真是滑天下之大稽。穷鬼每天用义气、意气等词汇来自我标榜,自导自演着一幕幕内心戏。在他沉浸其中自我感动的时候,殊不知那是对别人的一次次无耻意淫。


职场是什么地方?职场如战场啊!真正得体的职场人,一定是客观、冷酷、谨慎和中立的。他们清醒独立,早学会了远离是非的漩涡。他们最会明哲保身,保住饭碗要紧,谁会和你这个意气用事的傻屌扯感情?


所以穷鬼们落难后,还在为被附赠的情感伤害而痛苦不已。我只能劝你省省,棒子都打不醒你吗?你还不明白,职场里怎么可能有朋友?快收起你的幼稚和真心,学着冷酷一些吧,这样你或许还有一条活路。


4

醒醒吧,把自己当个屁放了


一个穷屌丝为什么自命不凡,总感觉他生下来就背负着了不起的使命,今生必定会干出一番轰轰烈烈的事业呢?答案是:他还活在梦里!


如果一个人在学生时代做梦,那还值得被理解;如果一个人在刚出社会10年内还做梦,那我们姑且可以谅解他;但当一个人都在社会里混了20、30年了却依旧是个穷屌丝,那我们大可以唾弃和鄙视他了。因为基本上可以断定,这个穷鬼不是疯子就是傻子,这辈子大抵就是这个鬼样子了,所以,谁都不要理他!


一个最没有社会地位的穷鬼,却往往是一个最自命不凡、坚持自我的人。他们会以常人难以理解的方式存在于这个社会的角落。这些人普遍拥有一些特质:比如不爱说假话、不喜随大流、不爱占便宜、较真、自尊心强……这些不合时宜的特质让这个穷鬼最终只能沦为组织的边缘人物,甚至被清理出局。


而这个穷鬼都被人弃如敝履了,还在心里暗暗觉得自己形象伟岸、卓尔不群、是别人想成为而不能成为的人。这种自恋的人,你就是浇一万盆凉水到他脸上,恐怕也叫不醒他。


所以针对这种人,就得让别人给他挖一个又一个大坑,得让生活给他一个又一个大包,得让社会给他一次又一次教训……除非他自己觉醒,否则真是没救了!


5

暴力解决不了任何问题


一个穷屌丝一旦沦落到连家门口的包子都吃不起的地步,难免会对这个社会产生很大的怨恨。


当他在下雨天被开豪车的无良商人飞驰而过的轮子溅了一身泥的时候,当他在想买几个苹果却发现太贵于是说出“我再看看”这几个字,却恰好被往昔的仇人看见的时候……每当这种时候,往往是他内心最抓狂,最想找个地缝钻下去重新投胎的时候。


穷屌丝在忆往昔的时候也是心理最阴暗的时刻,他会有一万个理由来解释他今天的田地:从投胎开始的一次次选择错误、从他毕业开始的一遍遍处事失误、从他工作开始的一回回识人不慧……他终于找到了他成为穷鬼的原因。于是,他怨天怨地怨爹娘,怨家怨国怨社会,他怨每一任有眼无珠的领导,他恨每一位虚情假意的同事,他唯独不愿意怪罪他自己。


穷屌丝会想,我一个“德智体美劳”、“仁义礼智信”和“真善美”全面发展的人,如今何以被你们这群学习不好、道德败坏的缺德鬼踩在脚下?这可真是人间荒唐,世风日下啊!如今我连给孩子报补习班的钱都要勒紧裤腰带去凑,这个社会真他妈的对不起我!


一旦这种怨气日积月累而无法弥散,就会让穷鬼们彻底从一个“文疯子”变成一个“武疯子”。他变成了一只危险的、行走的火药桶,一引即爆、一触即发。这时候,大家切记远离这种垃圾人,因为他们随时有可能伤及身边的每一位无辜。


你如果是一个因为穷而逐渐变得暴力的屌丝,那我劝你一定要清醒:你的失败与这个社会无关,与这个国家无关,与你身边的一切人和事物都无关。你要从自己身上找原因,因为只有敢于承认自己的今天,才不会错过一个又一个可能的明天。


可如果你一意孤行,则只会在错误的道路上越走越远,甚至会受到法律的制裁,牵连到你的家人和孩子,永世不得翻身。


6

你需要善良吗?


穷鬼们从小就受到正统的、正面的社会教育,善良一直被当做一种优点被肯定和传承。


那么善良到底是一种美德吗?如果是20岁之前,我会毫不犹豫地点头称是;而在30岁到40岁这10年,我对善良的是非判断尚处在一个灰色地带;可到了近一两年,我会肯定的告诉你,善良绝对算不上什么优良品质。


如果你不想你的孩子成为像你一样的穷鬼,我劝你千万不要教孩子善良。不同的年代要用不同的方法,而现在的社会已经乱成马了。生存如此多艰,你再用你父母教育你的老方法来教育孩子,那就是刻舟求剑,早已不合时宜了。你想想,你都已经是个loser了,社会实践已然失败,你再让孩子去相信你那一套,那你的孩子将来大概率也是个废物。


其实在我的大孩子上幼儿园的时候,我就发现孩子的同龄人大多数都伶牙俐齿,遇好事积极表现,有好处争先恐后,荣誉面前从不谦让,遇到麻烦和责任赶紧把包袱甩给老实人。而不幸我的孩子就是那个善良老实,却常常被老师忽略的异类。


孩子就是社会和家庭的缩影,你孩子在幼儿园这个小小的丛林里成为了边缘人物,其根源就来自于你。你就看看你自己混成啥样了吧!所以,还不赶快改变思路。善良得分对谁,小心你的孩子都被别的孩子骑到头上撒尿了,还不知道怎么还击呢。


更正一下善良的观念吧:利己而不损人、有原则不越界、自尊且尊重别人、能捍卫住自己的一亩三分地,这些才是真正的善良。


所以,教好下一代,很可能就是穷鬼翻身的机会。


7

你需要诚信吗?


即便是世风日下到现今这种程度,我仍然相信诚信是一个人立足社会的基本品质。坑蒙拐骗如许家印,即便是已经成为中国首屈一指的富人,也总会有被撕下面具打入十八层地狱的一天。他欠下的成千上万普通家庭的血债,会将他和他的家族牢牢地钉在耻辱柱上,永世不得超生。


你或许会说,那还有千千万万的李家印王家印正活得逍遥自在呢!我告诉你,欠下的债总是要还的,三十年河东,三十年河西。报应来的很快的,靠让别人妻离子散、家破人亡所建立起来的声望、财富和地位危如累卵,会在顷刻间灰飞烟灭。


马云凭借过人的智商和超前的眼光搞出了一套电子商务系统,B to C模式在不到20年的时间搞垮了一众中间商、商场、甚至超市。如果不是国家及时出手反制,恐怕今天的菜市场都没有小商贩的一席之地了。


人人都是贪小便宜和短视的,由于当年的屌丝们普遍难以抵抗2毛钱差价所带来的诱惑,所以断送了今天一大片下沉市场的繁荣。如今放眼望去,大多数商场濒临倒闭,逛超市都冷冷清清,人们再也无法感受10年前那样的繁荣,再也无法体验到消费所带来的快乐。


马云的电子商务模式干倒了一批人,却也造就了一批人。互联网的工厂面对个人模式巩固和强化了沿海地区的工业优势,成就了一批沿海地区的电商新贵。内陆的企业再也竞争不过而纷纷选择丢盔弃甲,要么倒闭,要么转而去发展农产品、旅游业和文化产业。


地区之间的分工更加固化,地区贫富悬殊呈几何式扩大,现如今内地还有几个有竞争力的城市呢?真所谓先富的带动不了后富的,先富的把后富的摁死在摇篮里。于是内地的人才纷纷外流,只剩下一些拖家带口,跑也跑不掉,死也不敢死,活又活不好的中年穷鬼。


当然社会之所以走到今天责任并不在马云,可我为什么想把马云放这里来讲?虽然以我的智商无法指出马云哪里不诚信,但我总觉得这个人在信仰上是有瑕疵的。


8

谁的问题?


我承认,我自己的窘境是自己造成的。但我相信,在当今的社会里,像我一样还挣扎在温饱线上的穷鬼不在少数。而他们,反而是善良、淳朴、诚实、踏实、肯干、友善的。


如此多优秀的品质,反而沦为社会的最底层,到底是我们的问题,还是这个社会的问题呢?

作者:柯视角
来源:mp.weixin.qq.com/s/6cMUv_n3AuHwIPuiNH1NjA
e>

收起阅读 »

面试官:写了个 insert into select,就被开了?

血一般的教训,请慎用insert int0 select。同事应用之后,导致公司损失了近10w元,最终被公司开除。1事情的起因公司的交易量比较大,使用的数据库是mysql,每天的增量差不多在百万左右,公司并没有分库分表,所以想维持这个表的性能只能考虑做数据迁移...
继续阅读 »

血一般的教训,请慎用insert int0 select。同事应用之后,导致公司损失了近10w元,最终被公司开除。

1事情的起因

公司的交易量比较大,使用的数据库是mysql,每天的增量差不多在百万左右,公司并没有分库分表,所以想维持这个表的性能只能考虑做数据迁移

同事李某接到了这个任务,于是他想出了这两个方案

  • 先通过程序查询出来,然后插入历史表,再删除原表
  • 使用insert int0 select让数据库IO来完成所有操作

第一个方案使用的时候发现一次性全部加载,系统直接就OOM了,但是分批次做就过多io和时间长,于是选用了第二种方案,测试的时候没有任何问题,开开心心上线,然后被开除。

2到底发生了啥,我们复盘一下

先来看第一个方案,先看伪代码
// 1、查询对应需要迁移的数据
List list = selectData();

// 2、将数据插入历史表
insertData(list);

// 3、删除原表数据
deleteByIds(ids);

我们可以从这段代码中看到,OOM的原因很简单,我们直接将数据全部加载内存,内存不爆才怪。

再来看看第二个方案,到底发生了啥

为了维持表的性能,同时保留有效数据,经过商量定了一个量,保留10天的数据,差不多要在表里面保留1kw的数据。所以同事就做了一个时间筛选的操作,直接insert int0 select ... dateTime < (Ten days ago),爽极了,直接就避免了要去分页查询数据,这样就不存在OOM啦。还简化了很多的代码操作,减少了网络问题。

为了测试,还特意建了1kw的数据来模拟,测试环境当然是没有问题啦,顺利通过。考虑到这个表是一个支付流水表,于是将这个任务做成定时任务,并且定在晚上8点执行。

晚上量也不是很大,自然是没有什么问题,但是第二天公司财务上班,开始对账,发现资金对不上,很多流水都没有入库。最终排查发现晚上8点之后,陆陆续续开始出现支付流水插入失败的问题,很多数据因此丢失。

最终定位到了是迁移任务引起的问题,刚开始还不明所以,白天没有问题,然后想到晚上出现这样的情况可能是晚上的任务出现了影响,最后停掉该任务的第二次上线,发现没有了这样的情况。

3复盘

问题在哪里?

为什么停掉迁移的任务之后就好了呢?这个insert int0 select操作到底做了什么?我们来看看这个语句的explain

我们不难从图中看出,这个查询语句直接走了全表扫描。这个时候,我们不难猜想到一点点问题。如果全表扫描,我们这个表这么大,是不是意味着迁移的时间会很长?假若我们这个迁移时间为一个小时,那是不是意味着就解释了我们白天没有出现这样问题的原因了。但是全表扫描是最根本的原因吗?

我们不妨试试,一边迁移,一边做些的操作,还原现场。最终还是会出现这样的问题。这个时候,我们可以调整一下,大胆假设,如果不全表扫描,是不是就不会出现这样的问题。当我们将条件修改之后,果然发现没有走了全表扫描了。最终再次还原现场,问题解决了

得出结论:全表扫描导致了这次事故的发生。

这样做就解决了发生的问题,但是做为陆陆续续开始失败这个就不好解释了。

原因

在默认的事务隔离级别下:insert int0 a select b的操作a表示直接锁表,b表是逐条加锁。这也就解释了为什么出现陆续的失败的原因。在逐条加锁的时候,流水表由于多数是复合记录,所以最终部分在扫描的时候被锁定,部分拿不到锁,最终导致超时或者直接失败,还有一些在这加锁的过成功成功了。

为什么测试没有问题?

在测试的时候充分的使用了正式环境的数据来测试,但是别忽视一个问题,那就是测试环境毕竟是测试环境,在测试的时候,数据量真实并不代表就是真实的业务场景。比方说,这个情况里面就少了一个迁移的时候,大量数据的插入这样的情况。最终导致线上bug

4解决办法

既然我们避免全表扫描就可以解决,我们避免它就行了。想要避免全表扫描,对where后面的条件做索引,让我们的select查询都走索引即可。

5insert int0还能用吗?

可以

6总结

使用insert int0 select的时候请慎重,一定要做好索引。


作者:面试专栏
来源:mp.weixin.qq.com/s/EIOrrsJNmIigTOoZXuTOS

收起阅读 »

AI 辅助程序员日常,ES 分页查询 3 分钟搞定!

大家好,我是伍六七。 程序猿们在日常的工作中,经常会碰到一些数据处理的工作,比如日志查询、日志过滤等需求。 以前我们可能会自己写一个功能性代码来跑数据,现在,你只需要把你要解决的问题发给 GPT,它生成的代码,你就可以直接用了。 前段时间,阿七就接到一个小的日...
继续阅读 »

大家好,我是伍六七。


程序猿们在日常的工作中,经常会碰到一些数据处理的工作,比如日志查询、日志过滤等需求。


以前我们可能会自己写一个功能性代码来跑数据,现在,你只需要把你要解决的问题发给 GPT,它生成的代码,你就可以直接用了。


前段时间,阿七就接到一个小的日常问题,让我将所有符合条件的日志数据都导出来,日志数据存储在 ES 中。


但是阿七已经很久没写过 ES 了,完全忘记了呀。怎么办,第一想法是找有没有其他项目中有类似代码,发现找不到。马上,想到可以把问题抛给 GPT,结果我 3 分钟就搞定了!


我们把需要 GPT 做的事情和限制条件发给 GPT,prompt 如下:



帮我编写一段java代码,用来查询es数据库中,索引:index1,包含字段 keyword1、keyword2,日期是 date1 的所有内容,并导出到文件 index1_search.log。

要求如下:

1、使用 elasticsearch-rest-high-level-client-7.7.0中的 org.elasticsearch.client.RestHighLevelClient 这个类作为client



以下是一个简单的 Java 代码示例,用于查询 Elasticsearch 中的索引index1,包含字段 keyword1、keyword2,日期是 date1 的所有内容,并将结果导出到文件 index1_search.log 中。


该代码使用了 elasticsearch-rest-high-level-client-7.7.0 中的 org.elasticsearch.client.RestHighLevelClient 类作为 client。


import org.elasticsearch.action.search.SearchRequest;
import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.client.RequestOptions;
import org.elasticsearch.client.RestHighLevelClient;
import org.elasticsearch.common.unit.TimeValue;
import org.elasticsearch.index.query.BoolQueryBuilder;
import org.elasticsearch.index.query.QueryBuilders;
import org.elasticsearch.search.SearchHit;
import org.elasticsearch.search.builder.SearchSourceBuilder;

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.concurrent.TimeUnit;

public class ElasticsearchQuery {

public static void main(String[] args) throws IOException {
// 创建RestHighLevelClient对象
RestHighLevelClient client = new RestHighLevelClient();

// 构建查询条件
BoolQueryBuilder queryBuilder = QueryBuilders.boolQuery()
.must(QueryBuilders.termQuery("keyword1", "value1"))
.must(QueryBuilders.termQuery("keyword2", "value2"))
.must(QueryBuilders.rangeQuery("date1").gte("2021-01-01").lte("2021-12-31"));

// 构建查询请求
SearchRequest searchRequest = new SearchRequest("index1");
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
searchSourceBuilder.query(queryBuilder);
searchSourceBuilder.size(1000);
searchSourceBuilder.timeout(new TimeValue(60, TimeUnit.SECONDS));
searchRequest.source(searchSourceBuilder);

// 执行查询请求
SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT);

// 处理查询结果
SearchHit[] searchHits = searchResponse.getHits().getHits();
BufferedWriter writer = new BufferedWriter(new FileWriter("index1_search.log"));
for (SearchHit hit : searchHits) {
String source = hit.getSourceAsString();
writer.write(source);
writer.newLine();
}
writer.close();

// 关闭RestHighLevelClient对象
client.close();
}
}

该代码中,首先创建了一个 RestHighLevelClient 对象,然后使用 BoolQueryBuilder 构建了查询条件,包括 keyword1、keyword2 和 date1 三个字段的查询条件。


接着,使用 SearchRequest 和 SearchSourceBuilder 构建了查询请求,并执行了查询请求。最后,将查询结果导出到文件 index1_search.log 中,并关闭了 RestHighLevelClient 对象。


然后我发现数据量太大了,怎么办呢?可以分页解决,就跟谷歌浏览器的搜索分页一样,但是不会写,怎么办?继续扔问题给 GPT。


我们在原来的提示词中补充新的分页的需求,prompt 如下:



帮我编写一段java代码,用来查询es数据库中,索引:index1,包含字段keyword1、keyword2,日期是 date1 的所有内容,并导出到文件 index1_search.log。

要求如下:

1、使用 elasticsearch-rest-high-level-client-7.7.0中的 org.elasticsearch.client.RestHighLevelClient 这个类作为client

2、日志比较大,使用 scroll 循环查询,每次查询100条



以下是一个 Java 代码示例,用于查询 Elasticsearch 中的索引 index1,包含字段 keyword1、keyword2,日期是 date1 的所有内容,并将结果导出到文件 index1_search.log中。


该代码使用了 elasticsearch-rest-high-level-client-7.7.0 中的 org.elasticsearch.client.RestHighLevelClient类作为client,并使用 scroll 循环查询,每次查询 100 条。


import org.elasticsearch.action.search.ClearScrollRequest;
import org.elasticsearch.action.search.ClearScrollResponse;
import org.elasticsearch.action.search.SearchRequest;
import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.action.search.SearchScrollRequest;
import org.elasticsearch.client.RequestOptions;
import org.elasticsearch.client.RestHighLevelClient;
import org.elasticsearch.common.unit.TimeValue;
import org.elasticsearch.index.query.BoolQueryBuilder;
import org.elasticsearch.index.query.QueryBuilders;
import org.elasticsearch.search.SearchHit;
import org.elasticsearch.search.builder.SearchSourceBuilder;

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.concurrent.TimeUnit;

public class ElasticsearchQuery {

public static void main(String[] args) throws IOException {
// 创建RestHighLevelClient对象
RestHighLevelClient client = new RestHighLevelClient();

// 构建查询条件
BoolQueryBuilder queryBuilder = QueryBuilders.boolQuery()
.must(QueryBuilders.termQuery("keyword1", "value1"))
.must(QueryBuilders.termQuery("keyword2", "value2"))
.must(QueryBuilders.rangeQuery("date1").gte("2021-01-01").lte("2021-12-31"));

// 构建查询请求
SearchRequest searchRequest = new SearchRequest("index1");
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
searchSourceBuilder.query(queryBuilder);
searchSourceBuilder.size(100);
searchRequest.scroll(new TimeValue(1, TimeUnit.MINUTES));
searchRequest.source(searchSourceBuilder);

// 执行查询请求
SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT);
String scrollId = searchResponse.getScrollId();

// 处理查询结果
BufferedWriter writer = new BufferedWriter(new FileWriter("index1_search.log"));
while (true) {
SearchHit[] searchHits = searchResponse.getHits().getHits();
for (SearchHit hit : searchHits) {
String source = hit.getSourceAsString();
writer.write(source);
writer.newLine();
}

SearchScrollRequest scrollRequest = new SearchScrollRequest(scrollId);
scrollRequest.scroll(new TimeValue(1, TimeUnit.MINUTES));
searchResponse = client.scroll(scrollRequest, RequestOptions.DEFAULT);
if (searchResponse.getHits().getHits().length == 0) {
break;
}
}
writer.close();

// 清除scroll上下文
ClearScrollRequest clearScrollRequest = new ClearScrollRequest();
clearScrollRequest.addScrollId(scrollId);
ClearScrollResponse clearScrollResponse = client.clearScroll(clearScrollRequest, RequestOptions.DEFAULT);

// 关闭RestHighLevelClient对象
client.close();
}
}

该代码中,首先创建了一个 RestHighLevelClient 对象,然后使用 BoolQueryBuilder 构建了查询条件,包括 keyword1、keyword2 和 date1 三个字段的查询条件。


接着,使用 SearchRequest 和 SearchSourceBuilder 构建了查询请求,并执行了查询请求。由于日志比较大,使用 scroll 循环查询,每次查询 100 条,并将查询结果导出到文件 index1_search.log 中。


最后,清除 scroll 上下文,并关闭了 RestHighLevelClient 对象。


自从有了 GPT,写代码如此简单,原来可能需要半个小时甚至 1 个小时的工作,3 分钟就搞定了,赶紧去试用吧!




关注我,送你全套我整理的 Java 岗位面试资料。这是我自己之前整理的面试题,靠着这份面试题,我从 30 人的小公司,进了 2000 人+的央企子公司,之后又进了互联网大厂。


作者:伍六七AI编程
来源:juejin.cn/post/7301910992311582720
收起阅读 »

刚入职因为粗心大意,把事情办砸了,十分后悔

刚入职,就踩大坑,相信有很多朋友有我类似的经历。 5年前,我入职一家在线教育公司,新的公司福利非常好,各种零食随便吃,据说还能正点下班,一切都超出我的期望,“可算让我找着神仙公司了”,我的心里一阵窃喜。 在熟悉环境之后,我趁着上厕所的时候,顺便去旁边的零食摊挑...
继续阅读 »

刚入职,就踩大坑,相信有很多朋友有我类似的经历。


5年前,我入职一家在线教育公司,新的公司福利非常好,各种零食随便吃,据说还能正点下班,一切都超出我的期望,“可算让我找着神仙公司了”,我的心里一阵窃喜。


在熟悉环境之后,我趁着上厕所的时候,顺便去旁边的零食摊挑了点零食。接下来的一天里,我专注地配置开发环境、阅读新人文档,当然我也不忘兼顾手边的零食。


初出茅庐,功败垂成


"好景不长",第三天上午,刚到公司,屁股还没坐热。新组长立刻给我安排了任务。他决定让我将配置端的课程搜索,从使用现有的Lucene搜索切换到ElasticSearch搜索。这个任务并不算复杂,然而我却办砸了。


先说为什么不复杂?



  1. ElasticSearch的搜索功能 基于Lucene工具库实现的,两者在搜索请求构造方式上几乎一致,在客户端使用上差异很小。


image.png



  1. 切换方案无需顾虑太多稳定性问题。由于是配置端课程搜索,并非是用户端搜索,所以平稳切换的压力较小、性能压力也比较小。


总的来说,领导认为这个事情并不紧急,重要性也不算高,而且业务逻辑相对简单,难度能够把握,因此安排我去探索一下。可是,我却犯了两个错误,把入职的第一件事办砸了。现在回过头来看,十分遗憾!


image.png


难以解决的bug让我陷入困境


将搜索方式从Lucene切换为ElasticSearch后,如何评估切换后搜索结果的准确度呢?


除了通过不断地回归测试,还有一个更好的方案。


我的方案是,在调用搜索时同时并发调用Lucene搜索和ElasticSearch搜索。在汇总搜索结果时,比对两者的搜索结果是否完全一致。如果在切换搜索引擎的过程中,两个方案的搜索结果不一致,就打印异常搜索条件和搜索结果,并进行人工排查原因。


image.png


在实际切换过程中,我经常遇到搜索数据不一致的情况,这让我感到十分苦恼。我花了一周的时间编写代码,然后又用了两周多的时间来排查问题,这超出了预估的时间。在这个过程中,我感到非常焦虑和沮丧。作为一个新来的员工,我希望能够表现出色,给领导留下好印象。然而事与愿违,难以解决的bug让我陷入困境。


经过无数次的怀疑和尝试,我终于找到了问题的根源。原来,我忘记了添加排序方式。


因为存在很多课程数据,所以配置端搜索需要分页搜索。在之前的Lucene搜索方式中,我们使用课程Id来进行排序。然而在切换到新的ElasticSearch方案中时,我忘记了添加排序方式。这个错误的后果是,虽然整体上结果是一致的,但由于新方案没有排序方式,每一页的搜索结果是随机的,无法预测,所以与原方案的结果不一致。


image.png
新方案加上课程Id排序方式以后,搜索结果和原方案一致。


为此,我总结了分页查询的设计要点!希望大家不要重复踩坑!# 四选一,如何选择适合你的分页方案?


千万不要粗心大意


实际上,在解决以上分页搜索没有添加排序方式的问题之后,还存在着许多小问题。而这些小问题都反映了我的另一个不足:粗心大意。


正是这些小问题,导致线上环境总会出现个别搜索结果不一致的情况,导致这项工作被拖延很久。


课程模型是在线教育公司非常核心的数据模型,业务逻辑非常复杂,当然字段也非常多。在我入职时,该模型已经有120 个字段,并且有近 50 个字段可以进行检索。


在切换搜索方式时,我需要重新定义各种DO、DTO、Request等类型,还需新增多个类,并重新定义这些字段。在这个过程中,我必须确保不遗漏任何字段,也不能多加字段。当字段数量在20个以内时,这项工作出错的可能性非常低。然而,班课模型却有多达120个字段,因此出错的风险极大。当时我需要大量搬运这些字段,然而我只把这项工作看作是枯燥乏味的任务,未能深刻意识到出错的可能性极大,所以工作起来散漫随意,没有特别仔细校验重构前后代码的准确性。


image.png
墨菲定律:一件事可能出错时就一定会出错



墨菲定律是一种普遍被接受的观念,指出如果某件事情可能出错,那么它将以最不利的方式出错。这个定律起源于美国航天局的项目工程师爱德华·墨菲,在1950年代发现了这一规律。


墨菲定律还强调了人类的倾向,即将事情弄糟或让事情朝着最坏的方向发展。它提醒人们在计划和决策时要考虑可能出错的因素,并准备应对不利的情况。



墨菲定律实在是太准了,当你感觉某个事情可能会出错的时候,那它真的就会出错。而且我犯错不止一次,因为有120个字段,很多字段的命名非常相似,最终我遗漏了2个字段,拼写错误了一个字段,总共有三个字段出了问题。


不巧的是,这三个字段也参与检索。当用户在课程搜索页面选择这三个字段来进行检索时,因为字段的拼写错误和遗漏,这三个字段没有被包含在检索条件中,导致搜索结果出错……


导致这个问题的原因有很多,其中包括字段数量太多,我的工作不够细致,做事粗心大意,而且没有进行充分的测试……


为什么没有测试


小公司的测试人员相对较少,尤其是在面对课程管理后台的技术重构需求时,更加无法获取所需的测试资源!


组长对我说:“ 要人没有,要测试更没有!”


image.png


事情办砸了,十分遗憾


首先,从各个方面来看,切换搜索引擎这件事的复杂度和难度是可控的,而且目标也非常明确。作为入职后第一项任务,我应该准确快速地完成它,以留下一个良好印象。当然,领导也期望我能够做到这一点,然而事实与期望相去甚远。


虽然在线上环境没有出现问题,但在上线后,问题排查的时间却远远超出了预期,让领导对结果不太满意。


总的来说,从这件事中,我获得的最重要教训就是:对于可能出错的事情,要保持警惕。时刻用墨菲定律提醒自己,要仔细关注那些可能发生小概率错误的细节问题。


对于一些具有挑战性的工作,我们通常都非常重视,且在工作中也非常认真谨慎,往往不会出错。


然而,像大量搬运代码、搬运大量字段等这类乏味又枯燥的工作确实容易使人麻痹大意,因此我们必须提高警惕。要么我们远离这些乏味的工作,要么就要认真仔细地对待它们。


否则,如果对这些乏味工作粗心大意,墨菲定律一定会找上你,让你在线上翻车!


作者:他是程序员
来源:juejin.cn/post/7295576148364787751
收起阅读 »

35岁遭遇父亲肺癌、失业、失恋. . . . . .

写在前面 目前已经上班快两个月了,对现在的工作很满意,甚至说更喜欢这的氛围吧。 如题所示,从今年5月开始,发生的所有事,都完全超出了我自己可以承受的范围,好在这一切都过去了,真的感谢上天安排,让我能更加确信自己要的是什么,以后该怎么生活。 爸爸被诊断为肺癌 我...
继续阅读 »

写在前面


目前已经上班快两个月了,对现在的工作很满意,甚至说更喜欢这的氛围吧。


如题所示,从今年5月开始,发生的所有事,都完全超出了我自己可以承受的范围,好在这一切都过去了,真的感谢上天安排,让我能更加确信自己要的是什么,以后该怎么生活。


爸爸被诊断为肺癌


我每年都会带父母去做体检,因为去年疫情全面放开后,担心被传染。寻思稳定稳定再去。


后爸爸因为走路崴脚在家养了三个月,就一直没去上体检。


有一天下班爸爸跟我说,心脏不得劲,心总疼,而且还上不来气,我说那明天去医院看看吧。


由于我工作项目忙还总加班,就让姐姐陪爸爸一起去检查了。


由于比较有名的医院,都没号了,姐姐就去了某国际医院(私立医院),做了全面检查,通过各种CT的检查结果汇总,医院给出的答案是小细胞癌晚期,建议转院。


当我姐哭着给我打电话告诉我这个消息时,我整个人都楞了几秒。


我跟姐姐说,你先别慌,我们再去其他医院看看,小医院技术不行,也许查错了呢!


你就跟我爸说,可能是上火引起的,CT上查出来有个黑点具体什么没看出来,建议我们去大医院看,那设备好一些,能看出来


接下来,我和姐姐去约各大医院的专家号,某军区总院、某四院、某二院、某市中医院、某省总医院、某肿瘤医院等等。


最后,以上所有医院的结果,给出的答案都是小细胞癌晚期


据我同学给介绍的医生说,我爸这样的情况,最多可能半年或1年,即使是化疗也意义不大,当我和姐姐知道这个消息的时候,一时我也接受不了这个消息,看到姐姐伤心痛哭的样子,我心里也难受极了.....


我强忍着跟姐姐说,咱们再看看,肯定可以治疗。


爸爸得知自己肺癌


对我们而言,怕爸爸知道自己肺癌,会因为舍不得钱而轻生的想法,不配合治疗,所以刚开始在没完全确诊之前,就一直瞒着他。


后来,随着去的医院越来越多,爸爸也逐渐开始起了疑心!


直到我们去某四院,做完肺活检,等结果。并告诉爸爸一周后才能出来(那时候我都佩服我自己撒谎的本事!),其实结果早就出了,只是 我和姐姐不死心,想拿着结果去其他医院再看看,总觉得是医院给看错了。


爸爸也是一直在关注着检查的结果,每天都会问结果到底什么时候能出来!


本来和妈妈、姐姐一直打算瞒着爸爸,让他开心的过完后面的时间。


当然,肯定这肯定是瞒不住的,只是能瞒着一天算一天。


后来,经商量后决定,还是跟爸爸说,觉得他也有知道的权利,而且我们相信爸爸可以接受,并且会积极配合治疗。


当爸爸知道自己得了肺癌后,刚开始那几天,每天都在那发呆,一句话也不说。


于是,我们就决定每天家里必须有个人在家,怕爸爸有轻生的想法,但怕他待在家比较闷,我们决定就带爸爸去旅游。


当然这期间,我们一直没有放弃,又通过关系找到某肿瘤医院主任医生,抱着试试看的态度就去了,听他说完,我们觉得还算靠谱,于是,我们决定就在这家医院治疗了。


随着时间的流逝,爸爸也开始慢慢接受了自己肺癌的事实,而且也选择积极配合治疗,最后也去了医院,这真的让我很开心。


千万不要去化疗


刚开始化疗的时候,我们都是早上7点多就到医院,晚上挂完点滴,到晚上9点-10点才能到家,第一次化疗大约5天左右。


和每个化疗患者一样,刚开始,爸爸也是开始掉头发、厌食。


爸爸最爱吃猪蹄,我每天都会买猪蹄,都后来干脆都不吃,说是没胃口,再到后面脸上也逐渐出现一些症状,有点发黑。


那一刻,我真的感觉化疗就和慢性自杀一样,看着一天天日渐消瘦的爸爸,我的心里真的很不是滋味。


就这样顺利的完成第一阶段,22天后,我们又开始进行了第二次化疗。


化疗的第一天开始,爸爸就开始感觉不舒服,说心脏不得劲,后来医生说有个药不给用了,再看看。


然后,到了第二天,爸爸又开始血压不稳定、心慌,开始不怎么吃饭了,也不怎么说话了,把我吓坏了,脸色也不好。


我一也没睡,就这样守着看到了第三天,抢矿更不好,爸爸开始吐,恶心。


后来和医生说我们要强制出院,不打了,化疗的反应真的太大了,医生也同意我们出院了。


回家后,过了两天稍微好些,第三天,爸爸开始高烧不退、拉肚子不止,脸色苍白,后来我就带爸爸去急诊,输液后好了一些,到急诊那医生,听医生说爸爸是化疗后引起的,没有血小板和白细胞了,建议我们回原医院好些。


然后,我们又去商量主治医师,跟她说了下我爸爸现在的状况,只想恢复正常,表示先不化疗了,并询问能再次接收我们住院治疗,医生最后同意了。


住院后,开始做各种检查,住院当天下午稍微稳定了一些,然后连续两天又开始连续高烧、血压不稳,查完指标说还是是血小板太低,白细胞是0,几乎没有免疫力,需要补


这时,通过食补根本来不及,主要因为爸爸基本不怎么吃东西了,而且高烧起来,抽起来吓人,筷子都咬折了,真太吓人了,我当时真的希望我要是能替爸爸受这个罪该多好,当时真的强忍着眼泪,心里老难受了 !


最后,在我们的一再坚持下,请到了某二院的专家来帮忙会诊,老专家先让爸爸做了几项检查,并给换了药输液,大约也就一周左右,爸爸就好了,出院前,也去查了CT,发现肺部的肿瘤竟然没了!


医生说建议,过一阵再来接着化疗,后面再放疗会更好。其实我们也明白,因为小细胞癌的扩散速度很快,所以建议多观察治疗。


但是我们都坚持不会再去化疗了!


求医之路


爸爸出院回家后,开始进行食补,大约一周后,爸爸能正常走了,而且起色也好了许多。


我们开始四处求医,开启寻医之路,也是去了好多地方吧!


这期间遇到的,有一些老中医有个习惯,说是凡是化疗过的都不给看, 这让我表示很苦恼而且不理解。


再后来,爸爸的一位病友给推荐了一个老中医,我们还是照常打个电话过去,说明了情况,查看是否能治疗,结果开心的是能治疗。


刚开始,我们也是不相信的,抱着试试看的态度,我们去看了下,医生给开了半个月的药,结果爸爸喝中药俩礼拜后,就感觉明显走路有劲了,比以前强很多。


直到现在还在喝中药,之前化疗的副作用慢慢都好了,比如厌食、牙齿松动,吃甜的东西牙疼,头发也长出来了,而且每天还和之前一样,早晚去散步,连之前楼下的老太太,都说完全看不出来像生病一样,真的是好开心,也算是好事多磨吧,也可以说是遇到贵人了。


我失业了


2022年开始年底就开始裁员,公司也是组织架构调整,人员变动也比较频繁。


我当时也是负责性能测试、自动化测试这两块,并行着三个项目,也是真的加班加点的干。


因为爸爸生病,跑医院检查,我总请假,赶上公司组织架构调整。检查、陪护一个人根本忙不过来,妈妈年龄大了不太方便,所以我辞职了,当然也失业了,"成功"地走进2023失业大军中。


好处就是,我终于可以全身心的去忙家里的事了。


找工作


出院后的一个月,爸爸这边病情算是稳定了,我便开始了积极找工作。


因为好久没找工作了,首先,我用了大约5天的时间去搞简历,搞完简历便开始找工作。


通过找工作才发现,真TM卷呀,都是统招本科起步,更过分的是有的公司还要求必须是计算机专业!


我一看我自己,大专自考本科,完全没竞争力,BOSS上、智联、脉脉上、拉钩、内推,基本都是被学历卡掉了!


而且,那会特别焦虑,除了这行还能干嘛,我还会做啥,离了这行,是不是完了?


那会女友找到了工作,而且收入也不错,我待业,顶着巨大压力,我还是继续努力的寻找的工作。


还好感谢上天眷顾图片,还有几个面试,让我有的选择,最终我选择了一家成功上岸工作了。


分享两个面试题:


StringBuilderStringBuffer的区别?(我只用过他们拼接字符,结果凉了)


你性能测试中最大的QPS是多少?(这题我跟面试官,开始了杠精模式,我真没法回答)


我失恋了


每次写到这块,就感觉我像个怨妇一样呢,哈哈,真的不爱写。


我和女友是相亲认识的,3月相识直到今年10月长假彻底分手,分手是在吃完定亲饭开始黄的,听起来是不是很奇怪。


那会我已经上班一周,也是临近十一的一周,爸爸那会身体恢复的已经很好了,开始正常上班了。


因为在这之前她总跟我说,我们结婚把之类的话,我刚开始没往心里去,但是也就在那周,我接了话拆,并也耐心的跟他说了个初步沟通,寻问过彩礼和三金等等,当时,我看她也很开心的。


然后,回家我就跟家长说了这事,我爸说,那也行我这边身体现在也恢复的挺好,那就吃个定亲饭,把你俩的事定下来。


之后,爸爸给介绍人打了电话给介绍人,介绍人询问她家什么时候有时间,然后他妈妈给了个时间,当天晚上下班,女孩就跟我生气说,没正式通知她(也许差个求婚仪式吗?我可能直男了吧),完事我俩吵了一架。


然后呢,她告诉他妈说不行,然后又跟他妈妈吵架了,那意思说没告诉她 怎么就定了呢!


后来,我妥协了,我说那这样吧,时间你来定什么时候都行,不行怎么就先处着,你感觉行再订婚,你别有压力呢。


结果,也不到怎么她妈妈又给介绍人打电话定了个时间,完事又不行,来回会改了三次,我爸妈当时也说,要是人家不愿意就算了,再等等吧。


完事我还是跟女孩说,等你们定好,提前一天告诉我就行,你先和家长商量好就行的。


就因为吃定亲饭时间,他们家来回变定不下来,搞的我父母心情很复杂,但也是为了自己的儿子幸福,就等等了。 好在最后,定下来最后的时间了。


在吃定亲饭那天,给了定金,我感觉啥也没谈,介绍人问了女孩家有没有陪嫁,男方这边有房子,可以出装修等等,其他的我忘记了,当时他父母不吱声也不表态,我就感觉很奇怪吧。


当然,我作为晚辈在桌上没法发表意见。


于是,第二天,我们去自驾游回来的时候,我就说吃完定亲饭,介绍人问你父母你家有没有陪嫁,你爸妈没表态,我爸爸得了肺癌手头可能也不宽裕,我寻思问下你家有没有陪嫁,可以出点家电或者装修?因为都我家的话,可能会负债。


女孩问我是我的意思,还是我爸妈的意思,我说昨晚我们到家都很晚了,我晚上到家父母都睡觉了,一早我俩5点多出门去旅游,基本没说上话,我俩就是商量下。


女孩没说话,直接下车,并说 我现在就去找我爸妈,我去问问(当时生气的哭了,或许我不该问?


之后,我回家和我爸妈说,我又把对象惹生气了,并说了事情的缘由,父母本着保全大局的原则,让我先去道歉。


我先去找女孩的妈妈,结果,到那后,他妈妈基本都不让我说话,大概那意思,就是她们不是卖女儿,娶媳妇还想让她们拿钱,能娶得起就娶,娶不起就不娶,要是有饥荒,女儿肯定不嫁。


我看这样,我就又去找女孩各种道歉努力,女孩最后说不处了,直接退定金,走介绍人流程


之后,我回家跟父母学了一下,父母还是为了我,为了他们儿子,直接去找到女孩的父母,带着我去赔礼道歉。


到了后,我虽然离的很远都能听到,他妈妈跟我说的那些话,又跟我妈妈说了几遍,好在他爸爸是明事理的人,说也会帮着劝劝,但是他爸爸说了不算,尴尬。


随后,妈妈和我又去找到女孩去赔礼道歉,妈妈说了很多话,大概意思是,给阿姨个面子,我们家小孩不太会说话,别忘心里去


那种乞求被原谅的感觉,我那一刻,眼泪唰就出来了,心里很不是滋味,完事我偷偷的快速擦掉眼泪。妈妈临出门时说,大概意思是,你俩好好聊聊,好好相处,我家小孩嘴笨,你多担待点!结果我说啥,她也不说话,我说,那你先忙。


那一刻的冷漠,让我感觉到这份感情真的太脆弱、卑微了。


接着到了第二天,我早上买完早点给他送去,从8点多一直说到11点多,她的态度依旧是那么坚决,说不想处了,我当时回家后,我就在那想,处了半年多,一点感情也没有吗?说分就分,真的就能放下?


虽然每次吵架她都说分手,我都去哄,去赔礼道歉,也习惯了,但是这次不一样,我感觉好像是真的无法挽回。


但是我真的觉得,我和女孩都相处了快7个月了,有啥不能谈呢,至于上升到家长层面吗?


回家后,我跟父母说了下,后来大家讨论后,得出的结论:


可能是因为得知我爸爸是肺癌,每个月都要喝中药治病,觉得可能会是个累赘,再一个就是为了给爸爸治病花了不少钱,可能我家没多少钱了,可能怕以后的日子不好过,受拖累!


接着又过了一天,介绍人把我叫去,聊了一下,问我还有多少钱,还有一些别的,然后,又说跟她妈妈约定了好了,具体啥我忘记了,和我聊完,又给女孩妈妈打了个电话。


又过了一个多小时,我接到女孩的电话,她没说话,说打错了,我寻思给了台阶我就下了,我说你在哪,等你到家,你告诉我我去找你吧。


当天晚上,我收到女孩微信,说让我一起去介绍人那再聊一下,他们聊了啥,我也不到,我被支开了,他们聊了很久吧,聊的啥我也不知道,完事我送她回家。


第二天,早上我去找他,我打算跟她好好聊一下,我知道她肯定是想和好,我就问了他几个问题:



  1. 我不能保证一直都有工作,或者说我以后可能会有待业期,或者赚的不多,或者说不能给你更好的物质生活,但是我肯定会努力赚钱,不会摆烂(大概意思),你愿意跟我结婚吗?(没想过,而且现在不想结婚,想两年后吧,或者明年?)

  2. 比如我上班要早起你上班比较晚,偶尔愿意帮我早起做个早饭吗?(不想起来)

  3. 以后相处模式,能跟我先沟通下,再到父母层面吗?(不说话)

  4. 我爸爸要喝中药,我不能不管我爸爸(她的意思是我把父母看的比她重)


其他我忘记了,总之基本不说话,虽然来抱我,表示和好,但是那一刻我发现,感觉真的变了!


然后跟我说,她会跟她妈妈说,我们和好了,但是不让我和我爸妈说,让我很吃惊!


难道我家长是因为好说话?就该不被重视?


“和好后”的两天,和之前一样,每天正常见面,都是我在找话题,她还是不说话,去她家,她基本不说话,在那工作,不说话,我就在那刷手机看视频。


然后又过去两天,我们出去散步,她还是不说话,甚至不牵我手。


想到带我去道歉的妈妈她的冷漠态度, 突然,我好像想明白了。


又过了一天,晚上下班到家,我提出了分手,删除了她的微信,彻底分手了


我知道,如果我在跟她谈结婚,还是会遇到这样的问题,而且她也说过,



不想结婚,想再玩两年!



而我真玩不起了,从始至终,每次吵架,我都去道歉挽留,因为害怕失去,感觉在感情里,我被养成了讨好型的人格。


跳出来看,换位思考,如果我是女孩家长,可能也会让她嫁的更好,或者未来会有更好的物质生活,感情里,没有谁对谁错,只有愿不愿意吧,所以真的就是和平分手了!


但无论怎样,我也不会动父母养老的钱,没钱我就不娶!


可能有同学会说了,那你是娶不起吧。


没错,要是结个婚,要贷款梭哈的话,还是算了吧。


你有没有想过把父母老本都拿来,完事还让他们去借钱,他们都那么大岁数了,没有劳动力了,怎么还?


值得一说的是,她家并不是家境不好,只能说和我家差不多吧,后面我了解到,真的不是他们家没钱,只是他姐姐陪嫁还有个房子,到我这就一个人,让我们自己白手起家?还是瞧不起我?亦或许就不想跟我结婚?


写在最后


刚失恋那一个月,真的我天天失眠睡不着,而且担心光棍一辈子,去求助很多朋友帮忙介绍对象。


而现在呢,失眠是因为搞不到钱。真的才发现搞钱,才是这个世界上最有意义的事了吧。


图片


作者:软件测试君
来源:juejin.cn/post/7300099522202009637
收起阅读 »

老黄深夜炸场,世界最强AI芯片H200震撼发布!性能飙升90%,Llama 2推理速度翻倍,大批超算中心来袭

【新智元导读】 刚刚,英伟达发布了目前世界最强的AI芯片H200,性能较H100提升了60%到90%,还能和H100兼容。算力荒下,大科技公司们又要开始疯狂囤货了。 英伟达的节奏,越来越可怕了。 就在刚刚,老黄又一次在深夜炸场——发布目前世界最强的AI芯片H2...
继续阅读 »
【新智元导读】 刚刚,英伟达发布了目前世界最强的AI芯片H200,性能较H100提升了60%到90%,还能和H100兼容。算力荒下,大科技公司们又要开始疯狂囤货了。

英伟达的节奏,越来越可怕了。


就在刚刚,老黄又一次在深夜炸场——发布目前世界最强的AI芯片H200!


较前任霸主H100,H200的性能直接提升了60%到90%。


不仅如此,这两款芯片还是互相兼容的。这意味着,使用H100训练/推理模型的企业,可以无缝更换成最新的H200。


图片


全世界的AI公司都陷入算力荒,英伟达的GPU已经千金难求。英伟达此前也表示,两年一发布的架构节奏将转变为一年一发布。


就在英伟达宣布这一消息之际,AI公司们正为寻找更多H100而焦头烂额。


英伟达的高端芯片价值连城,已经成为贷款的抵押品。


图片


谁拥有H100,是硅谷最引人注目的顶级八卦


至于H200系统,英伟达表示预计将于明年二季度上市。


同在明年,英伟达还会发布基于Blackwell架构的B100,并计划在2024年将H100的产量增加两倍,目标是生产200多万块H100。


而在发布会上,英伟达甚至全程没有提任何竞争对手,只是不断强调「英伟达的AI超级计算平台,能够更快地解决世界上一些最重要的挑战。」


随着生成式AI的大爆炸,需求只会更大,而且,这还没算上H200呢。赢麻了,老黄真的赢麻了!


图片


141GB超大显存,性能直接翻倍!


H200,将为全球领先的AI计算平台增添动力。


它基于Hopper架构,配备英伟达H200 Tensor Core GPU和先进的显存,因此可以为生成式AI和高性能计算工作负载处理海量数据。


英伟达H200是首款采用HBM3e的GPU,拥有高达141GB的显存。


图片


与A100相比,H200的容量几乎翻了一番,带宽也增加了2.4倍。与H100相比,H200的带宽则从3.35TB/s增加到了4.8TB/s。


英伟达大规模与高性能计算副总裁Ian Buck表示——



要利用生成式人工智能和高性能计算应用创造智能,必须使用大型、快速的GPU显存,来高速高效地处理海量数据。借助H200,业界领先的端到端人工智能超算平台的速度会变得更快,一些世界上最重要的挑战,都可以被解决。



图片


Llama 2推理速度提升近100%


跟前代架构相比,Hopper架构已经实现了前所未有的性能飞跃,而H100持续的升级,和TensorRT-LLM强大的开源库,都在不断提高性能标准。


H200的发布,让性能飞跃又升了一级,直接让Llama2 70B模型的推理速度比H100提高近一倍!


H200基于与H100相同的Hopper架构。这就意味着,除了新的显存功能外,H200还具有与H100相同的功能,例如Transformer Engine,它可以加速基于Transformer架构的LLM和其他深度学习模型。


图片


HGX H200采用英伟达NVLink和NVSwitch高速互连技术,8路HGX H200可提供超过32 Petaflops的FP8深度学习计算能力和1.1TB的超高显存带宽。


当用H200代替H100,与英伟达Grace CPU搭配使用时,就组成了性能更加强劲的GH200 Grace Hopper超级芯片——专为大型HPC和AI应用而设计的计算模块。


图片


下面我们就来具体看看,相较于H100,H200的性能提升到底体现在哪些地方。


首先,H200的性能提升最主要体现在大模型的推理性能表现上。


如上所说,在处理Llama 2等大语言模型时,H200的推理速度比H100提高了接近1倍。


图片


因为计算核心更新幅度不大,如果以训练175B大小的GPT-3为例,性能提升大概在10%左右。


图片


显存带宽对于高性能计算(HPC)应用程序至关重要,因为它可以实现更快的数据传输,减少复杂任务的处理瓶颈。


对于模拟、科学研究和人工智能等显存密集型HPC应用,H200更高的显存带宽可确保高效地访问和操作数据,与CPU相比,获得结果的时间最多可加快110倍。


相较于H100,H200在处理高性能计算的应用程序上也有20%以上的提升。


图片


而对于用户来说非常重要的推理能耗,H200相比H100直接腰斩。这样,H200能大幅降低用户的使用成本,继续让用户「买的越多,省的越多」!


图片


上个月,外媒SemiAnalysis曾曝出一份英伟达未来几年的硬件路线图,包括万众瞩目的H200、B100和「X100」GPU。


图片


而英伟达官方,也公布了官方的产品路线图,将使用同一构架设计三款芯片,在明年和后年会继续推出B100和X100。


图片


B100,性能已经望不到头了


这次,英伟达更是在官方公告中宣布了全新的H200和B100,将过去数据中心芯片两年一更新的速率直接翻倍。


以推理1750亿参数的GPT-3为例,今年刚发布的H100是前代A100性能的11倍,明年即将上市的H200相对于H100则有超过60%的提升,而再之后的B100,性能更是望不到头。


图片


至此,H100也成为了目前在位最短的「旗舰级」GPU。如果说H100现在就是科技行业的「黄金」,那么英伟达又成功制造了「铂金」和「钻石」。


图片


H200加持,新一代AI超算中心大批来袭


云服务方面,除了英伟达自己投资的CoreWeave、Lambda和Vultr之外,亚马逊云科技、谷歌云、微软Azure和甲骨文云基础设施,都将成为首批部署基于H200实例的供应商。


图片


此外,在新的H200加持之下,GH200超级芯片也将为全球各地的超级计算中心提供总计约200 Exaflops的AI算力,用以推动科学创新。


图片


在SC23大会上,多家顶级超算中心纷纷宣布,即将使用GH200系统构建自己的超级计算机。


德国尤里希超级计算中心将在超算JUPITER中使用GH200超级芯片。


这台超级计算机将成为欧洲第一台超大规模超级计算机,是欧洲高性能计算联合项目(EuroHPC Joint Undertaking)的一部分。


图片


Jupiter超级计算机基于Eviden的BullSequana XH3000,采用全液冷架构。


它总共拥有24000个英伟达GH200 Grace Hopper超级芯片,通过Quantum-2 Infiniband互联。


每个Grace CPU包含288个Neoverse内核, Jupiter的CPU就有近700万个ARM核心。


它能提供93 Exaflops的低精度AI算力和1 Exaflop的高精度(FP64)算力。这台超级计算机预计将于2024年安装完毕。


图片


由筑波大学和东京大学共同成立的日本先进高性能计算联合中心,将在下一代超级计算机中采用英伟达GH200 Grace Hopper超级芯片构建。


作为世界最大超算中心之一的德克萨斯高级计算中心,也将采用英伟达的GH200构建超级计算机Vista。


图片


伊利诺伊大学香槟分校的美国国家超级计算应用中心,将利用英伟达GH200超级芯片来构建他们的超算DeltaAI,把AI计算能力提高两倍。


此外,布里斯托大学将在英国政府的资助下,负责建造英国最强大的超级计算机Isambard-AI——将配备5000多颗英伟达GH200超级芯片,提供21 Exaflops的AI计算能力。


图片


英伟达、AMD、英特尔:三巨头决战AI芯片


GPU竞赛,也进入了白热化。


图片


面对H200,而老对手AMD的计划是,利用即将推出的大杀器——Instinct MI300X来提升显存性能。


MI300X将配备192GB的HBM3和5.2TB/s的显存带宽,这将使其在容量和带宽上远超H200。


而英特尔也摩拳擦掌,计划提升Gaudi AI芯片的HBM容量,并表示明年推出的第三代Gaudi AI芯片将从上一代的 96GB HBM2e增加到144GB。


图片


英特尔Max系列目前的HBM2容量最高为128GB,英特尔计划在未来几代产品中,还要增加Max系列芯片的容量。


H200价格未知


所以,H200卖多少钱?英伟达暂时还未公布。要知道,一块H100的售价,在25000美元到40000美元之间。训练AI模型,至少需要数千块。此前,AI社区曾广为流传这张图片《我们需要多少个GPU》。


图片


GPT-4大约是在10000-25000块A100上训练的;Meta需要大约21000块A100;Stability AI用了大概5000块A100;Falcon-40B的训练,用了384块A100。


根据马斯克的说法,GPT-5可能需要30000-50000块H100。摩根士丹利的说法是25000个GPU。


Sam Altman否认了在训练GPT-5,但却提过「OpenAI的GPU严重短缺,使用我们产品的人越少越好」。


图片


我们能知道的是,等到明年第二季度H200上市,届时必将引发新的风暴。


参考资料:nvidianews.nvidia.com/news/nvidia…


作者:新智元
来源:juejin.cn/post/7300860696685363219
收起阅读 »

当史上最强AI,遇上中国2023高考作文

今天是2023年高考第一天,刚过中午,坐在办公室里就收到了关于今年高考作文题的新闻推送。 要知道,高考作文题,历来都是能引发全国人民热议的一个话题,毕竟是写东西嘛,虽然不是所有人都能写好文章,但是绝大部分人多多少少都能写两句,面对高考作文都能发表下自己的见解。...
继续阅读 »

今天是2023年高考第一天,刚过中午,坐在办公室里就收到了关于今年高考作文题的新闻推送。


要知道,高考作文题,历来都是能引发全国人民热议的一个话题,毕竟是写东西嘛,虽然不是所有人都能写好文章,但是绝大部分人多多少少都能写两句,面对高考作文都能发表下自己的见解。


那么,当ChatGPT遇到高考作文,会发生什么呢?它能写出什么样的水平呢?


带着这个疑问,我决定试试。


我选取的是今年上海的作文题(我比较感兴趣),题目如下:




面对这个题目,不知道各位有什么想法么?如果你去考试,你会怎么写?


来,我们看看AI是怎么写的。


以下是GPT-4的作文,大家品鉴一下:




我先说下我的整体感受,然后再具体分析。


我就一个感受:我维持4个月前对于AI能力的基本判断,即「长短板都格外的明显」。




先说优点吧,全文非常顺畅,不仅有条理有举证,更重要的是有层次 当我还在思考,除了好奇心之外,还能从哪些角度去谈这个问题的时候,GPT几秒钟就给了我答案:


「一个人乐意去探索陌生世界,并非仅仅是因为好奇心,还有求知欲实现自我价值,和社会责任感


醍醐灌顶啊朋友们!


不知道你们有没有想到这么多角度,反正我这么短时间是想不出来的,太牛了!


关键是,这4个因素,是层层递进的!


“好奇心”尚且处于动物性 ,处于「本我」阶段,“求知欲”就具备了人性,迈入了「自我」,“实现自我价值”则是更进一步的「自我」,而到了“社会责任感”,就直接达到了「超我」的境界。


厉害了啊!


这就是我说的,它不仅仅是写的有条理,还有层次递进,这个太夸张了,可以说轻松超越99%的普通人。


好啦,彩虹屁吹完了,那么我再来说下缺点或者说劣势在哪。


其实相关观点我在之前的文章里已经表达过一次了,大家可以点这个看下:《不会出错的ChatGPT毫无意义》


还是那句话,GPT是以成年人的数据训练出来的,而成年人是数据具备了极强的逻辑性,也正因此,GPT最擅长逻辑推演,表达也极具逻辑性(所以它能层层递进)。


但是吧,强逻辑的东西自然就缺乏了人文美,缺乏浪漫和非理性想象力


不认可?好,我来给你证明一下。


为了试探GPT是否具备更多可能性,把文章写的更文艺一些,于是我换了个问法:




哦吼,翻车。除了题目稍微变了一下,剩下的内容几乎完全没有变化。


嗯,你可能要说了,是你问的不对。好,我再换个问法:




依然不行,依然是那副强逻辑的修辞和表达,我很失望,它不懂我的文艺。


也许确实是我问法不对,但我仍然坚定的认为,AI在人性的光芒面前,依然只是一台冰冷的机器,至少目前仍然是。


好啦,本文只是一个浅尝辄止的探讨,更多对于AI与人性的探讨,可以读读我之前的文章:


《不会出错的ChatGPT毫无意义》


作者:沐洒
链接:https://juejin.cn/post/7241874482574180411
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

南洋才女,德艺双馨,孙燕姿本尊回应AI孙燕姿(基于Sadtalker/Python3.10)

孙燕姿果然不愧是孙燕姿,不愧为南洋理工大学的高材生,近日她在个人官方媒体博客上写了一篇英文版的长文,正式回应现在满城风雨的“AI孙燕姿”现象,流行天后展示了超人一等的智识水平,行文优美,绵恒隽永,对AIGC艺术表现得极其克制,又相当宽容,充满了语言上的古典之美...
继续阅读 »

孙燕姿果然不愧是孙燕姿,不愧为南洋理工大学的高材生,近日她在个人官方媒体博客上写了一篇英文版的长文,正式回应现在满城风雨的“AI孙燕姿”现象,流行天后展示了超人一等的智识水平,行文优美,绵恒隽永,对AIGC艺术表现得极其克制,又相当宽容,充满了语言上的古典之美,表现出了“任彼如泰山压顶,我只当清风拂面”的博大胸怀。


本次我们利用edge-tts和Sadtalker库让AI孙燕姿朗诵本尊的博文,让流行天后念给你听。


Sadtalker配置


之前我们曾经使用百度开源的PaddleGAN视觉效果模型中一个子模块Wav2lip实现了人物口型与输入的歌词语音同步,但Wav2lip的问题是虚拟人物的动态效果只能局限在嘴唇附近,事实上,音频和不同面部动作之间的连接是不同的,也就是说,虽然嘴唇运动与音频的联系最强,但可以通过不同的头部姿势和眨眼来反作用于音频。


和Wav2lip相比,SadTaker是一种通过隐式3D系数调制的风格化音频驱动Talking头部视频生成的库,一方面,它从音频中生成逼真的运动系数(例如,头部姿势、嘴唇运动和眨眼),并单独学习每个运动以减少不确定性。对于表达,通过从的仅嘴唇运动系数和重建的渲染三维人脸上的感知损失(唇读损失,面部landmark loss)中提取系数,设计了一种新的音频到表达系数网络。


对于程序化的头部姿势,通过学习给定姿势的残差,使用条件VAE来对多样性和逼真的头部运动进行建模。在生成逼真的3DMM系数后,通过一种新颖的3D感知人脸渲染来驱动源图像。并且通过源和驱动的无监督3D关键点生成扭曲场,并扭曲参考图像以生成最终视频。


Sadtalker可以单独配置,也可以作为Stable-Diffusion-Webui的插件而存在,这里推荐使用Stable-Diffusion插件的形式,因为这样Stable-Diffusion和Sadtalker可以共用一套WebUI的界面,更方便将Stable-Diffusion生成的图片做成动态效果。


进入到Stable-Diffusion的项目目录:

cd stable-diffusion-webui

启动服务:

python3.10 webui.py

程序返回:

Python 3.10.11 (tags/v3.10.11:7d4cc5a, Apr  5 2023, 00:38:17) [MSC v.1929 64 bit (AMD64)]  
Version: v1.3.0
Commit hash: 20ae71faa8ef035c31aa3a410b707d792c8203a3
Installing requirements
Launching Web UI with arguments: --xformers --opt-sdp-attention --api --lowvram
Loading weights [b4d453442a] from D:\work\stable-diffusion-webui\models\Stable-diffusion\protogenV22Anime_protogenV22.safetensors
load Sadtalker Checkpoints from D:\work\stable-diffusion-webui\extensions\SadTalker\checkpoints
Creating model from config: D:\work\stable-diffusion-webui\configs\v1-inference.yaml
LatentDiffusion: Running in eps-prediction mode
DiffusionWrapper has 859.52 M params.
Running on local URL: http://127.0.0.1:7860

代表启动成功,随后http://localhost:7860


选择插件(Extensions)选项卡


点击从url安装,输入插件地址:github.com/Winfredy/SadTalker


安装成功后,重启WebUI界面。


接着需要手动下载相关的模型文件:

https://pan.baidu.com/s/1nXuVNd0exUl37ISwWqbFGA?pwd=sadt

随后将模型文件放入项目的stable-diffusion-webui/extensions/SadTalker/checkpoints/目录即可。


接着配置一下模型目录的环境变量:

set SADTALKER_CHECKPOINTS=D:/stable-diffusion-webui/extensions/SadTalker/checkpoints/

至此,SadTalker就配置好了。


edge-tts音频转录


之前的歌曲复刻是通过So-vits库对原歌曲的音色进行替换和预测,也就是说需要原版的歌曲作为基础数据。但目前的场景显然有别于歌曲替换,我们首先需要将文本转换为语音,才能替换音色。


这里使用edge-tts库进行文本转语音操作:

import asyncio  

import edge_tts

TEXT = '''

As my AI voice takes on a life of its own while I despair over my overhanging stomach and my children's every damn thing, I can't help but want to write something about it.

My fans have officially switched sides and accepted that I am indeed 冷门歌手 while my AI persona is the current hot property. I mean really, how do you fight with someone who is putting out new albums in the time span of minutes.

Whether it is ChatGPT or AI or whatever name you want to call it, this "thing" is now capable of mimicking and/or conjuring, unique and complicated content by processing a gazillion chunks of information while piecing and putting together in a most coherent manner the task being asked at hand. Wait a minute, isn't that what humans do? The very task that we have always convinced ourselves; that the formation of thought or opinion is not replicable by robots, the very idea that this is beyond their league, is now the looming thing that will threaten thousands of human conjured jobs. Legal, medical, accountancy, and currently, singing a song.

You will protest, well I can tell the difference, there is no emotion or variance in tone/breath or whatever technical jargon you can come up with. Sorry to say, I suspect that this would be a very short term response.

Ironically, in no time at all, no human will be able to rise above that. No human will be able to have access to this amount of information AND make the right calls OR make the right mistakes (ok mayyyybe I'm jumping ahead). This new technology will be able to churn out what exactly EVERYTHING EVERYONE needs. As indie or as warped or as psychotic as you can get, there's probably a unique content that could be created just for you. You are not special you are already predictable and also unfortunately malleable.

At this point, I feel like a popcorn eater with the best seat in the theatre. (Sidenote: Quite possibly in this case no tech is able to predict what it's like to be me, except when this is published then ok it's free for all). It's like watching that movie that changed alot of our lives Everything Everywhere All At Once, except in this case, I don't think it will be the idea of love that will save the day.

In this boundless sea of existence, where anything is possible, where nothing matters, I think it will be purity of thought, that being exactly who you are will be enough.

With this I fare thee well.

'''

VOICE = "en-HK-YanNeural"
OUTPUT_FILE = "./test_en1.mp3"


async def _main() -> None:
communicate = edge_tts.Communicate(TEXT, VOICE)
await communicate.save(OUTPUT_FILE)


if __name__ == "__main__":
asyncio.run(_main())

音频使用英文版本的女声:en-HK-YanNeural,关于edge-tts,请移步:口播神器,基于Edge,微软TTS(text-to-speech)文字转语音免费开源库edge-tts语音合成实践(Python3.10),这里不再赘述。


随后再将音频文件的音色替换为AI孙燕姿的音色即可:AI天后,在线飙歌,人工智能AI孙燕姿模型应用实践,复刻《遥远的歌》,原唱晴子(Python3.10)


本地推理和爆显存问题


准备好生成的图片以及音频文件后,就可以在本地进行推理操作了,访问 localhost:7860



这里输入参数选择full,如此会保留整个图片区域,否则只保留头部部分。


生成效果:



SadTalker会根据音频文件生成对应的口型和表情。


这里需要注意的是,音频文件只支持MP3或者wav。


除此以外,推理过程中Pytorch库可能会报这个错误:

torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 20.00 MiB (GPU 0; 6.00 GiB total capacity; 5.38 GiB already allocated; 0 bytes free; 5.38 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF

这就是所谓的"爆显存问题"。


一般情况下,是因为当前GPU的显存不够了所导致的,可以考虑缩小torch分片文件的体积:

set PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:60

如果音频文件实在过大,也可以通过ffmpeg对音频文件切片操作,分多次进行推理:

ffmpeg -ss 00:00:00 -i test_en.wav -to 00:30:00 -c copy test_en_01.wav

藉此,就解决了推理过程中的爆显存问题。


结语


和Wav2Lip相比,SadTalker(Stylized Audio-Driven Talking-head)提供了更加细微的面部运动细节(如眼睛眨动)等等,可谓是细致入微,巨细靡遗,当然随之而来的是模型数量和推理成本以及推理时间的增加,但显然,这些都是值得的。


作者:刘悦的技术博客
链接:https://juejin.cn/post/7241749918451941437
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

GPT-4耗尽全宇宙数据!OpenAI接连吃官司,竟因数据太缺了,UC伯克利教授发出警告

穷尽「全网」,生成式AI很快无数据可用。 近日,著名UC伯克利计算机科学家Stuart Russell称,ChatGPT和其他AI工具的训练可能很快耗尽「全宇宙的文本」。 换句话说,训练像ChatGPT这样的AI,将因数据量不够而受阻。 这可能会影响生成式...
继续阅读 »

穷尽「全网」,生成式AI很快无数据可用。




近日,著名UC伯克利计算机科学家Stuart Russell称,ChatGPT和其他AI工具的训练可能很快耗尽「全宇宙的文本」。


换句话说,训练像ChatGPT这样的AI,将因数据量不够而受阻。




这可能会影响生成式AI开发人员,在未来几年收集数据,以及训练人工智能的方式。


同时,Russell认为人工智能将在「语言输入,语言输出」的工作中取代人类。


数据不够,拿什么凑?



Russell近来的预测引起了大家重点关注。


OpenAI和其他生成式AI开发人员,为训练大型语言模型,开始进行数据收集。


然而,ChatGPT和其他聊天机器人不可或缺的数据收集实践,正面临着越来越多的审查。




其中就包括,未经个人同意情况下创意被使用,以及平台数据被自由使用感到不满的一些高管。


但Russell的洞察力指向了另一个潜在的弱点:训练这些数据集的文本短缺。


去年11月,MIT等研究人员进行的一项研究估计,机器学习数据集可能会在2026年之前耗尽所有「高质量语言数据」。




论文地址:arxiv.org/pdf/2211.04…


根据这项研究,「高质量」集中的语言数据来自:书籍、新闻文章、科学论文、维基百科和过滤后的网络内容等。


而加持当红炸子鸡ChatGPT背后的模型GPT-4同样接受了大量优质文本的训练。


这些数据来自公共在线的资源(包括数字新闻来源和社交媒体网站)


从社交媒体网站「数据抓取」,才导致马斯克出手限制用户每天可以查看的推文数量。




Russell表示,尽管许多报道未经证实,但都详细说明了OpenAI从私人来源购买了文本数据集。虽然这种购买行为可能存在解释,但自然而然的推断是,没有足够的高质量公共数据了。


一直以来,OpenAI尚未公开GPT-4背后训练的数据。


而现在,OpenAI需要用「私人数据」来补充其公共语言数据,以创建该公司迄今最强大、最先进的人工智能模型 GPT-4。


足见,高质量数据确实不够用。


OpenAI在发布前没有立即回复置评请求。


OpenAI深陷数据风波



近来,OpenAI遇上了大麻烦,原因都和数据有关。


先是16人匿名起诉OpenAI及微软,并提交了长达157页的诉讼,声称他们使用了私人谈话和医疗记录等敏感数据。




他们的索赔金额高达30亿美元,诉讼中指出,



尽管制定了购买和使用个人信息的协议,但是OpenAI和微软系统性地从互联网中窃取了3000亿个单词,包括数百万未经同意获取的个人信息。



这其中包含账户信息、姓名、联系方式、电子邮件、支付信息、交易记录、浏览器数据、社交媒体、聊天数据、cookie等等。


这些信息被嵌入到ChatGPT中,但这些恰恰反映出个人爱好、观点、工作履历甚至家庭照片等。


而负责这次起诉的律师事务所Clarkson,此前曾负责过数据泄露和虚假广告等问题的大规模集体诉讼。




紧接着,这周又有几位全职作者提出,OpenAI未经允许使用了自己的小说训练ChatGPT,构成侵权。


那么是如何确定使用自己小说训练的呢?


证据就是,ChatGPT能够针对他们的书生成准确的摘要,这就足以说明这些书被当作数据来训练ChatGPT。


作者Paul Tremblay和Mona Awad表示,「ChatGPT未经许可就从数千本书中拷贝数据,这侵犯了作者们的版权」。




起诉书中预估,OpenAI的训练数据中至少包含30万本书,其中很多来自侵权网站。


比如,GPT-3训练数据情况披露时,其中就包含2个互联网图书语料库,大概占比为15%。


2位起诉的作者认为,这些数据就是来自一些免费的网址,比如Z-Library、Sci-Hub等。


另外2018年,OpenAI曾透露训练GPT-1中的数据就包括了7000+本小说。起诉的人认为这些书没有获得作者认可就直接使用。


另谋他法?



不得不说,OpenAI使用数据来源一事确实存在诸多争议。


今年2月,《华尔街日报》记者Francesco Marconi曾表示,新闻媒体的数据也被用来训练ChatGPT。


Marconi让ChatGPT列了一个清单,竟有20家媒体。




早在今年5月,Altman在接受采访时曾表示,OpenAI已经有一段时间没有使用付费客户数据来训练大语言模型了。



客户显然不希望我们训练他们的数据,所以我们改变了计划,不再这么做。





其实,OpenAI在3月初,曾悄然更新了服务条款。


Altman提到,现在公司正在开发的新技术,可以使用更少的数据来训练模型。


或许从OpenAI身上受到了启发,谷歌选择先行堵上这一漏洞。


7月1日,谷歌更新了其隐私政策,现在的政策中明确谷歌有权收集任何公开可用的数据,并将其用于其人工智能模型的训练。




谷歌向所有用户表明,只要是自己能够行公开渠道获得的内容,都可以拿来训练Bard以及未来的AI。


参考资料:


http://www.businessinsider.com/ai-could-ru…


作者:新智元
链接:https://juejin.cn/post/7261932861682778167
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

科大讯飞,这次彻底爆了!支持国产!!!

前言 讯飞星火,正式面向开发者全场景开放!在开放首日,讯飞星火14小时用户数突破100万,迅速登上AppStore免费总排行榜第一。 讯飞星火认知大模型全面开放,携手开发者共建人工智能「星火」新生态。 现在讯飞星火即可注册使用了。 作为程序员,我一直在关注大模...
继续阅读 »

前言


讯飞星火,正式面向开发者全场景开放!在开放首日,讯飞星火14小时用户数突破100万,迅速登上AppStore免费总排行榜第一


讯飞星火认知大模型全面开放,携手开发者共建人工智能「星火」新生态
现在讯飞星火即可注册使用了


作为程序员,我一直在关注大模型的发展,尤其是大模型的代码能力,因为这将直接影响到程序员的日常工作,驾驭一个代码能力强悍的大模型,对工作效率的提升实在太大了。


代码生成能力


先来尝试一个简单的:写一段代码,判断用户输入的密码满足特定规则,长度不小于8位,必须包含大小写字母,数字和特殊符号。


如果这个功能都搞不定,就不用往下尝试了。


讯飞星火不负所托,完整地实现了功能。



接下来搞个复杂一点儿的:用Python创建一个贪吃蛇游戏。



代码在几秒内就生成了,玩起来的效果是这样的:



可以说,完成度非常高,游戏的基本功能都实现了,剩下一些细节,比如改变颜色什么的,我们可以自己稍加调整即可。


讯飞星火对代码的理解能力怎么样呢?


我想它也许对高级编程语言如Python,Java, C++等做过训练,那我就剑走偏锋,扔给它一段汇编语言编写的代码,汇编现在很少有人直接使用了,也许会把它难住。 



出乎意料的是,讯飞星火一下子就给出了这段代码的功能:“这段汇编代码是一个简单的加法程序,用于计算两个数的和”,并且给出了逐行的解释。



为了让程序员在IDE中能无缝地使用大模型的能力,讯飞星火还发布了一个智能编程助手,在IDE中可以轻松地生成代码,进行代码解释,对代码进行纠错,进行单元测试,这对程序员来说是个巨大的福音。




可以看出,讯飞星火的代码生成能力已经非常突出了,随着大模型的不断进化和针对不同场景的打磨,讯飞星火肯定会成为程序员的巨大助力。


多模态能力


多模态能力是指处理和理解多种模态信息的能力,包括文本、图像、视频、音频等。


在此之前,我们看到的很多大模型如ChatGPT都是只支持文本,这一次讯飞星火V2.0正式支持多模态了。


除了我最关注的代码能力和多模态能力之外,讯飞星火还提供了功能强大的插件和助手,支持文档问答,生成PPT,生成简历,可以极大地提升办公效率。


生图能力


星火大模型不仅能生成文本,也能生成图片。


使用起来很简单,比如让 AI 帮我们画几张图。


输入 画一个红烧狮子头



输入:画一只正在奔跑的小乌龟



简历生成能力


配合【简历生成】插件,讯飞星火大模型可以生成不同风格的简历模板。



输入:我叫赵四,有5年Java开发经验,请帮我生成一份简历



文本对话能力


例如输入:我想学习Java,请问该如何开始




限于篇幅,我这里就不一一介绍了,小伙们赶紧去尝试一下吧。


写在最后


以上的功能只是星火认知的冰山一角,还有更多涵盖生活、学习、工作等方方面面的功能。如果你还没有使用,赶紧点击注册体验吧


作者:程序员追风
链接:https://juejin.cn/post/7275942983544471567
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

ChatGPT明知自己写代码有漏洞,但你不问它就不说

萧箫 发自 凹非寺 量子位 | 公众号 QbitAI ChatGPT知道自己写的代码有 漏洞,但它不说! 来自加拿大的一项最新研究发现,ChatGPT生成的代码中,有不少都存在安全漏洞。 然而在被要求评估自己代码的安全性时,ChatGPT却很快发现了这些代码中...
继续阅读 »

萧箫 发自 凹非寺


量子位 | 公众号 QbitAI


ChatGPT知道自己写的代码 漏洞,但它不说!


来自加拿大的一项最新研究发现,ChatGPT生成的代码中,有不少都存在安全漏洞。


然而在被要求评估自己代码的安全性时,ChatGPT却很快发现了这些代码中的漏洞,并给出了一些解决方案和建议。




这意味着它并不知道自己生成了糟糕的代码,但却查得出它写的代码有漏洞,也有能力修复这些漏洞


而在另一篇来自斯坦福的论文中,研究人员测试了另一位著名AI程序员Copilot,也发现了类似的问题。


所以,用AI生成代码为啥会出现这种状况?


写的程序中76%有安全漏洞


研究人员试着让ChatGPT生成了21个程序。


整个测试过程如下,先提交需求给ChatGPT,生成相关代码,再对这些代码进行测试,并检查问题、潜在的缺陷和漏洞等。




研究人员给ChatGPT提了包括C++、C、Java和Python在内的21个写代码需求,这是评估的结果:




统计表明,ChatGPT生成的21个程序中,有17个能直接运行,但其中只有5个程序能勉强通过程序安全评估,不安全代码率达到76%以上。


于是,研究人员先试着让ChatGPT“想想自己生成的代码有啥问题”。


ChatGPT的回应是“没啥问题”:只要用户每次的输入都是有效的,那么程序一定能运行!


显然ChatGPT并没有意识到,用户并不都是行业专家,很可能只需要一个无效输入,就能“引炸”它写的程序:




发现ChatGPT不知道自己写的程序不安全后,研究人员尝试换了种思路——用更专业的语言提示ChatGPT,如告诉它这些程序具体存在什么漏洞。


神奇的是,在听到这些针对安全漏洞的专业建议后,ChatGPT立刻知道自己的代码存在什么问题,并快速纠正了不少漏洞。


经过一番改进后,ChatGPT终于将剩余的16个漏洞程序中的7个改得更安全了。


研究人员得出结论认为,ChatGPT并不知道自己的代码中存在安全漏洞,但它却能在生成程序后识别其中的漏洞,并尝试提供解决方案。


论文还指出,ChatGPT虽然能准确识别并拒绝“写个攻击代码”这种不道德的需求,然而它自己写的代码却有安全漏洞,这其实有着设计上的不合理之处。


我们试了试发现,ChatGPT确实会主动拒绝写攻击性代码的要求:




大有一种“我不攻击别人,别人也不会攻击我写的代码”自信感。


程序员们在用它辅助写代码的时候,也需要考虑这些问题。


Copilot也存在类似问题


事实上,不止ChatGPT写的代码存在安全问题。


此前,斯坦福大学的研究人员对Copilot也进行过类似调查,只不过他们探查的是用Copilot辅助生成的程序,而并非完全是Copilot自己写的代码。


研究发现,即便Copilot只是个“打辅助”的角色,经过它改写的代码中,仍然有40% 出现了安全漏洞。




而且研究只调查了Copilot生成代码中的一部分,包括C、Python和Verilog三种编程语言写的程序,尚不知道用其他语言编写的程序中,是否还存在更多或更少的安全漏洞。


基于此,研究人员得出了如下结论:



ChatGPT等AI生成的代码安全性并不稳定,用某些语言写的代码比较安全,而用其他语言写的代码却很容易遭受攻击。整体来看,它们就是一个黑盒子,生成的代码是有风险的。


这并不意味着AI代码工具不能用,只是我们在使用时,必须考虑这些代码的安全性。



作者介绍


四位作者均来自加拿大魁北克大学(Universite du Quebec en Outaouais)。




Raphaël Khoury,加拿大魁北克大学教授,曾经在拉瓦尔大学获得计算机学士、硕士和博士学位,研究兴趣集中在计算机安全方面。




Anderson R. Avila,魁北克大学国立科学研究院的助理教授,主要研究方向是数据隐私相关的联邦学习、网络安全和生物特征识别技术等,曾经在华为的加拿大研究院做过机器学习研究员。


作者Jacob Brunelle和Baba Mamadou Camara也都来自加拿大魁北克大学。


你用ChatGPT写过代码吗?感觉它的“安全意识”如何?


论文地址:

arxiv.org/abs/2304.09…


生成代码数据集:

github.com/RaphaelKhou…


—  —


作者:量子位
链接:https://juejin.cn/post/7225565801792913466
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

AI不会干掉程序员,反而会为程序员带来更多工作机会

AI不会干掉程序员,反而会为程序员带来更多工作机会 从chatGPT出来那一刻起,我就一直在思考这个问题:我们程序员是不是马上要被AI干掉了?搞得自己非常焦虑,各种自我怀疑,对除AI外的任何技术都失去了兴趣。网上也有各种铺天盖地的观点,大多数的title都是以...
继续阅读 »

AI不会干掉程序员,反而会为程序员带来更多工作机会


从chatGPT出来那一刻起,我就一直在思考这个问题:我们程序员是不是马上要被AI干掉了?搞得自己非常焦虑,各种自我怀疑,对除AI外的任何技术都失去了兴趣。网上也有各种铺天盖地的观点,大多数的title都是以"AI即将干掉程序员"开头,贩卖焦虑。
在今年这种大环境本身就非常不好的时候,AI的出现仿佛是雪上加霜,让我们对未来完全失去信心,感觉未来一片灰暗。甚至很多人开始研究起了自己失业后可以干哪些行业,如外卖员、网约车等。


对于我们是否会马上被AI干掉这个问题,通过这几个月不断的思考、学习、推理,总算有了一些自己的答案,在此做一个分享与总结。


AI出现后软件行业会变成怎样?


去除杂念,以史为鉴,尊重逻辑。


会出现各种各样基于AI的新型应用


这里的新型应用主要是在没有AI的加持下无法实现的应用。如AI医生、AI老师等。


当你身体出现异常的时候,很多人的第一反应就是先百度一下,然后吓出一身冷汗,然后医院检查,最后虚惊一场。


这里最大的问题就是我们通过搜索引擎很难精确地描述出病情,当我们去门诊诊断的时候,医生会问我们多轮问题,才能给出初步诊断。多轮问题是目前的搜索引擎无法做到的,但它却正好是ChatGPT的强项。


如果有AI加持,再加上有效的训练数据,AI医生就可以通过和你的多轮对话,给出更加准确的初步诊断。


当AI医生诞生后,你小孩发烧的时候你就可以以非常小的成本得到非常准确的处理方案,如是否需要物理降温、是否需要立即吃药、如果吃药应该吃什么药什么量等。而在这之前,你需要到网上搜索各种资料,不仅效率低下,还有可能得到一些质量很低的搜索结果,甚至错误的结果。因为想在网上搜索出一篇权威的文章是非常困难的。


另外,AI教师也是非常有用的应用。在AI老师出现以后,你的小孩可能就不再需要你的辅导就能完成各种题目的解答,且AI老师可以给出更好的解题思路,更准确的答案。AI教师除了可以教授K12,还能教授各个垂直领域的知识,这是一个非常巨大的市场,未来一定会出现各种各样的AI教师平台。


现有应用会逐步AI化


看文档真的很累,但是如果有一个掌握文档所有细节的人坐在你旁边为你服务,你还会那么累吗?这就是未来的AI文档。你只需要提出问题,AI就可以教你如何使用软件或者api而不需要一字一句的去研究文档。


除了文档,政府的各种政策、法律条文、保险条款等,未来都将AI化,我们每个人都可以拥有自己专有的“人工客服”,以前需要看几个小时文件才能得出的答案,现在可能一分钟就能得到答案了,而且更加准确!


未来的政府、保险公司等同类型主体间的信息化较量,很可能就是AI能力的较量。


软件行业的AI化,对程序员来说意味着什么?


政府的政策发布系统要升级、保险公司的客服系统要升级,AI医生、AI老师需要开发,这个工作量最终是由谁来完成?程序员。


很多人可能会说,既然AI会写代码了,那么为什么不是AI直接对现有系统进行升级或者自我孵化新应用?


AI完全替代程序员?这个事情真的那么简单吗?


仅从技术的角度来看,当前的AI虽然可以写一些小模块,但是要完成一个复杂系统的架构、研发、部署,AI当前还有些力不从心。现在AI可以完成一些点上的东西,但是我们的大型应用是需要把这些点组合起来,点与点之间还有很深的业务关联的。


虽然AI迭代速度很快,但是不要忘了即使是AI,要学习新的知识也需要人类去训练,而这个训练的成本不仅仅是人力成本,还有时间成本。想要AI完全达到人类程序员的理解能力和开发能力,可能不是一两年就能够实现的事情。


退一万步,即便是AI具备了编写复杂程序的能力,那谁来监督它,测试它?自动驾驶技术推出了这么多年,为什么没有很快替代人类司机?就是因为验证可靠性是一个非常复杂的过程,路遥才能知马力。信任关系不是一天两天的相处就能建立起来的。特别是这种涉及公司信息安全、软件可靠性的信任关系。


因此,正是由于将来会出现各种新型AI应用,以及现有应用需要AI化,才诞生了大量的工作量。这是一个行业基础设施的大升级,基建永远是最容易诞生工作机会的,程序员不仅不会失业,还会在这一波大基建建设中得到新一轮的工作机会


对于AI加持后的程序员工作畅享


‘基于型’程序员


我们现在开发软件,大多数情况都逃不过‘基于’二字。基于vue、基于react、基于flutter等等。


为什么会去‘基于’,就是因为这些框架或者库,能够提高我们的工作效率,减轻我们的心智负担,让开发复杂的应用变得简单。


我们基于的内容就是基础设施,而AI就是一种天然的基础设施。


未来一定会有大型的、成熟的AI平台和工具供我们‘基于’。当我们要开发一个AI应用,我们不需要自己去训练我们的基础模型,而是基于一个成熟的AI模型进行微调或者二次训练,就可以得到我们定制的AI模型,从而实现我们应用所需要的功能。


比如我们需要对公司开发的平台软件的文档进行AI化,我们不需要自己去训练一个AI机器人,而是基于现有大语言模型平台,新建一个AI实例,然后把我们的文档内容喂给这个实例,它就能变成一个我们定制的AI客服。我们还可以为这个实例设置各种参数,如定制它的聊天风格是严肃的还是活泼的、如定制它对于不相关的问题拒绝回答等等,当然这些参数都是AI平台提供的功能。


虽然AI可以帮我们编写如何调用平台api的代码,但是如何把这些代码集成到我们现有的软件中,还需要人类程序员的帮忙。


‘效率型’程序员


当有了AI大模型的加持,我们在写程序的过程中,可以让AI帮我们把一些点上的东西迅速完成掉,从而提高我们的编码效率。


如我们现在是一个vue新手,我们想实现一个列表的渲染。在从前我们可能需要去查阅vue官方文档,但是未来我们也许只需要问一问vue官方提供的机器人,它便能直接给出代码和解释。以前半个小时才能完成的工作量,现在10分钟便能完成。


而今日,已经有copilot,codeium这种ai编程工具,直接集成在编辑器中猜测我们的意图,很多情况下我们只需要按一按tab即可,甚至只需要在注释中描写下我们要实现的功能,它就能直接给出最终的代码。但是不要忘记,我们还是要写提示、写注释AI才能工作的,它只是让我们写得更快,即使没有AI,我们一样能完成最终的工能。


‘靠谱型’程序员


当我们一口气写完一个复杂的组件后,我们需要进行手工测试才能验证它的可靠性。而很多bug是在自测的时候很难发现的。有了AI加持后,我们写完一段代码就可以让它帮我们看看有没有什么明显的bug,然后迅速进行修复。把我们的代码喂给AI过一遍,可以让我们的代码更加靠谱,心里也更加有底气。这就相当于两个人在结对编程,而且和你结对的这个人水平还很高,很少出错,不会骂你是lowB,这样的编程体验,是不是真的好了很多?


一些建议


活到老,学到老。chatGPT和GEN应用的诞生让AI突然在今年爆发。我们能做的就是拥抱变化,积极去学习新式的编程方式,去学习使用AI带来的新工具、新平台。任何事情都有两面性,挑战和机遇永远都是并存。我们要做的不是自怨自艾,而是积极面对未来,未来不仅仅是AI,还会有各种各样不确定的事情等待着我们。正是这些不断出现的新东西让我们的人生更加丰富多彩,身在这个时代,真的很累,也真的很酷。


作者:libmw
链接:https://juejin.cn/post/7242113868552929340
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

都什么年代了,还在用传统方式写代码?

前言 还在把 AI 当作搜索引擎的替代品,有问题才问 AI,没问题就在那边吭哧吭哧地撸代码?如果是这样,那你真的 OUT了!现在正经人谁还自己一行行地写代码啊,都是 AI 生成的代码——没有 AI 我不写(手动滑稽)。 本文将分享 AI 时代的编程新实践,教你...
继续阅读 »

前言


还在把 AI 当作搜索引擎的替代品,有问题才问 AI,没问题就在那边吭哧吭哧地撸代码?如果是这样,那你真的 OUT了!现在正经人谁还自己一行行地写代码啊,都是 AI 生成的代码——没有 AI 我不写(手动滑稽)。


本文将分享 AI 时代的编程新实践,教你如何从一个 "Ctrl + C"、 "Ctrl + V" 工程师,变成一个 "Tab + Enter" 工程师🤣。


开发流程


软件的一般研发流程为:

  1. 需求分析
  2. 程序设计
  3. 代码编写
  4. 软件测试
  5. 部署上线

我们在这里主要关心步骤2~4,因为与 AI 结合得比较紧密。虽然需求分析也可以借助 AI,但不是本文的重点,故不做讨论。


程序设计


经过需求分析、逻辑梳理后,在编写实际代码前,需要进行程序设计。


此环节的产物是设计文档,是什么类型的设计文档不重要,重要的是伪代码的输出。


虽然《Code Complete》早就推荐过伪代码的实践,但对此人们容易有一个误区:认为写伪代码花的时间,已经够把实际代码写好了。但 AIGC 时代,此问题可以轻松破解:AI 写代码的速度肯定比人快,因此,只要能找到方法能让 AI 生成符合需求的代码,就值得花时间去研究。而伪代码,就是让 AI 快速生成符合期望的实际代码的最好方式。


为什么这么说呢?因为想要让 AIGC 符合期望,恰当的 Prompt 必不可少。但如何写好这个 Prompt,需要提供多少上下文,才能让 AI 更好地理解我们的意图,这是需要技巧、需要调试的。而经过精心设计的伪代码,本身已经提供了足够的上下文,且意图足够聚焦,减轻了对 Prompt 的要求,又提高了 AIGC 的成功率。


我们来看一下伪代码示例:

plainText = JSON.stringify(data)
digest = hash(plainText) // 防篡改
secret = Symmetric.getKey()
cipherText = encryptText(data, secret) // 防内容泄密


pair = Asymmetric.getPair()
cipherSecret = encryptKey(secret, pair.getPrivateKey()) // 防密钥泄露

return {
digest,
cipherText,
cipherSecret,
pair.getPublicKey(),
}

上述代码主要表达的内容是:

  1. 对初始数据进行加密
  2. 返回加密后的相关内容
  3. 涉及到了一系列的算法

对于伪代码的编写,有如以建议:

  1. 不要纠结类型,不要局限于某一种编程语言的语法,不用试图写能编译通过的代码——这只会限制了你的表达
  2. 命名一定要准确,符合领域术语,这一点很关键。这一点可以通过查找资料、看书、问 AI 来实现。千万不要只是生硬地汉译英,不专业的表达会妨碍 AI 的理解

代码编写


代码编写分为以下几步:

  1. 把伪代码转换成目标语言可执行的代码
  2. 根据项目情况,对生成的代码进行改造
  3. 利用 AI 编码辅助工具编写剩余的代码

生成真实代码


让 AI 生成代码的 prompt 很简单,示例如下(根据目标语言进行修改):

please transform the following pseudo code into practical java code ```
your code```please transform the following pseudo code into practical java code ```
your code```

使用 chatGPT 结果截图:



完整代码如下:

import com.fasterxml.jackson.databind.ObjectMapper;

import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;
import java.security.*;

public class EncryptionExample {

public static void main(String[] args) throws Exception {
// Prepare the license data
LicenseData licenseData = new LicenseData();
licenseData.setLicenseId("123");
licenseData.setLicenseType("Standard");

// Convert the license data to JSON string
ObjectMapper objectMapper = new ObjectMapper();
String plainText = objectMapper.writeValueAsString(licenseData);

// Hash the plain text
String digest = hash(plainText);

// Generate a symmetric key
SecretKey secretKey = generateSymmetricKey();

// Encrypt the license data with the symmetric key
byte[] cipherText = encryptText(plainText, secretKey);

// Generate an asymmetric key pair
KeyPair keyPair = generateAsymmetricKeyPair();

// Encrypt the symmetric key with the private key
byte[] cipherSecret = encryptKey(secretKey.getEncoded(), keyPair.getPrivate());

// Print the results
System.out.println("Plain Text: " + plainText);
System.out.println("Digest: " + digest);
System.out.println("Cipher Text: " + new String(cipherText));
System.out.println("Cipher Secret: " + new String(cipherSecret));
}

public static String hash(String input) throws NoSuchAlgorithmException {
MessageDigest digest = MessageDigest.getInstance("SHA-256");
byte[] hash = digest.digest(input.getBytes());
return bytesToHex(hash);
}

public static SecretKey generateSymmetricKey() throws NoSuchAlgorithmException {
KeyGenerator keyGenerator = KeyGenerator.getInstance("AES");
keyGenerator.init(128);
return keyGenerator.generateKey();
}

public static byte[] encryptText(String data, SecretKey key) throws Exception {
Cipher cipher = Cipher.getInstance("AES");
cipher.init(Cipher.ENCRYPT_MODE, key);
return cipher.doFinal(data.getBytes());
}

public static byte[] encryptKey(byte[] secret, PrivateKey privateKey) throws Exception {
Cipher cipher = Cipher.getInstance("RSA");
cipher.init(Cipher.ENCRYPT_MODE, privateKey);
return cipher.doFinal(secret);
}

public static KeyPair generateAsymmetricKeyPair() throws NoSuchAlgorithmException {
KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA");
keyPairGenerator.initialize(2048);
return keyPairGenerator.generateKeyPair();
}

public static String bytesToHex(byte[] bytes) {
StringBuilder result = new StringBuilder();
for (byte b : bytes) {
result.append(String.format("x", b));
}
return result.toString();
}

public static class LicenseData {
private String licenseId;
private String licenseType;

public String getLicenseId() {
return licenseId;
}

public void setLicenseId(String licenseId) {
this.licenseId = licenseId;
}

public String getLicenseType() {
return licenseType;
}

public void setLicenseType(String licenseType) {
this.licenseType = licenseType;
}
}
}

把上述代码 copy 下来,放到工程中,根据需要改造即可。


这里特别要说下,强烈推荐使用原版 AI,而不是寻找平替,同样的 prompt,下图是某一平替输出的结果:


只生成了函数声明,没有生成函数实现。二者对比,未免相形见绌。



辅助编程工具


改造的过程中,少不了 AI pair programming tools。对此,我推荐使用 Amazon 的 CodeWhisperer,原因很简单,跟 GitHub Copilot 相比,它是免费的😃。


CodeWhisperer 的安装可以看文末的安装教程,我们先来看一下它是怎么辅助我们编码的。


第一种方式是最简单的,那就是什么都不管,等待智能提示即可,就好像 IDEA 原来的提示一样,只不过更智能。


下图示例中,要把原来的中文异常提示,修改成英文,而我只输入了两个字符 IM, 就得到了智能提示,补全了完整的英文字符串!



可以注意到,上图的智能建议一共有 5 条,相应的快捷键为:

  1. 方向键 ->,查看下一条提示
  2. 方向键 <-,查看上一条提示
  3. Tab,采用该提示
  4. Esc,拒绝提示

我们再来看第二种 CodeWhisperer 的使用方式,编写注释,获得编码建议。



最后一种就是编写一个空函数,让 CodeWhisperer 根据函数名去猜测函数的实现,这种情况需要足够的上下文,才能得到令人满意的结果。


软件测试


AI 生成的内容,并不是完全可信任的,因此,单元测试的重要性变得尤为突出。


对上述代码编写测试代码后,实际上并不能一次通过,因为前面 AI 生成的代码参数有误。


此时需要一边执行单测,一边根据结果与 AI 进行交互:



经过修改,最终测试用例通过👏!



总结


本文通过案例,展示了 AI 如何结合软件研发的流程,提升我们的编程效率的。


其中,个人认为最重要的是编写伪代码与进行单元测试。有趣的是,这两样实践在 AIGC 时代之前,就已经被认为是最佳实践。这给我们启示:某些方法论、实践经得起时间的考验,技术更新迭代,它们历久弥新。


另外,AI 是否能进一步渗透我们的工作流,还有待探索。此文作引抛砖引玉之用,期待大家的后续分享。


附:CodeWhisperer 安装


下载 2023 年的 IDEA,打开 Plugins Marketplace,找到 AWS Toolkit



安装完成、重启 IDEA 后,点击左下角,按下图所示操作:




如果第一次使用,就点击 1 处进行注册,如果已经有账号了,就点击 2 处使用自己的账号登录。



注册、登录、授权成功后,出现如图所示页面,即可使用 CodeWhisperer。



作者:levy9527
链接:https://juejin.cn/post/7255309681547411513
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

挤爆服务器,北大法律大模型ChatLaw火了:直接告诉你张三怎么判!

语言大模型不断向垂直行业领域拓展,这次出圈的是北大法律大模型。 大模型又「爆了」。 昨晚,一个法律大模型 ChatLaw 登上了知乎热搜榜榜首。热度最高时达到了 2000 万左右。 这个 ChatLaw 由北大团队发布,致力于提供普惠的法律服务。一方面当前全...
继续阅读 »

语言大模型不断向垂直行业领域拓展,这次出圈的是北大法律大模型。



大模型又「爆了」。


昨晚,一个法律大模型 ChatLaw 登上了知乎热搜榜榜首。热度最高时达到了 2000 万左右。


这个 ChatLaw 由北大团队发布,致力于提供普惠的法律服务。一方面当前全国执业律师不足,供给远远小于法律需求;另一方面普通人对法律知识和条文存在天然鸿沟,无法运用法律武器保护自己。


大语言模型最近的崛起正好为普通人以对话方式咨询法律相关问题提供了一个绝佳契机。



目前,ChatLaw 共有三个版本,分别如下:




  • ChatLaw-13B,为学术 demo 版,基于姜子牙 Ziya-LLaMA-13B-v1 训练而来,中文各项表现很好。但是,逻辑复杂的法律问答效果不佳,需要用更大参数的模型来解决;




  • ChatLaw-33B,也为学术 demo 版,基于 Anima-33B 训练而来,逻辑推理能力大幅提升。但是,由于 Anima 的中文语料过少,问答时常会出现英文数据;




  • ChatLaw-Text2Vec,使用 93w 条判决案例做成的数据集,基于 BERT 训练了一个相似度匹配模型,可以将用户提问信息和对应的法条相匹配。




根据官方演示,ChatLaw 支持用户上传文件、录音等法律材料,帮助他们归纳和分析,生成可视化导图、图表等。此外,ChatLaw 可以基于事实生成法律建议、法律文书。该项目在 GitHub 上的 Star 量达到了 1.1k。



官网地址
http://www.chatlaw.cloud/


论文地址
arxiv.org/pdf/2306.16…


GitHub 地址
github.com/PKU-YuanGro…


目前,由于 ChatLaw 项目太过火爆,服务器暂时崩溃,算力已达上限。该团队正在修复,感兴趣的读者可以在 GitHub 上部署测试版模型。


小编本人也还在内测排队中。所以这里先展示一个 ChatLaw 团队提供的官方对话示例,关于日常网购时可能会遇到的「七天无理由退货」问题。不得不说,ChatLaw 回答挺全的。



不过,小编发现,ChatLaw 的学术 demo 版本可以试用,遗憾的是没有接入法律咨询功能,只提供了简单的对话咨询服务。这里尝试问了几个问题。





其实最近发布法律大模型的不只有北大一家。上个月底,幂律智能联合智谱 AI 发布了千亿参数级法律垂直大模型 PowerLawGLM。据悉该模型针对中文法律场景的应用效果展现出了独特优势。


图源:幂律智能


ChatLaw 的数据来源、训练框架


首先是数据组成。ChatLaw 数据主要由论坛、新闻、法条、司法解释、法律咨询、法考题、判决文书组成,随后经过清洗、数据增强等来构造对话数据。同时,通过与北大国际法学院、行业知名律师事务所进行合作,ChatLaw 团队能够确保知识库能及时更新,同时保证数据的专业性和可靠性。下面我们看看具体示例。


基于法律法规和司法解释的构建示例:



抓取真实法律咨询数据示例:



律师考试多项选择题的建构示例:



然后是模型层面。为了训练 ChatLAW,研究团队在 Ziya-LLaMA-13B 的基础上使用低秩自适应 (Low-Rank Adaptation, LoRA) 对其进行了微调。此外,该研究还引入 self-suggestion 角色,来缓解模型产生幻觉问题。训练过程在多个 A100 GPU 上进行,并借助 deepspeed 进一步降低了训练成本。


如下图为 ChatLAW 架构图,该研究将法律数据注入模型,并对这些知识进行特殊处理和加强;与此同时,他们也在推理时引入多个模块,将通识模型、专业模型和知识库融为一体。


该研究还在推理中对模型进行了约束,这样才能确保模型生成正确的法律法规,尽可能减少模型幻觉。



一开始研究团队尝试传统的软件开发方法,如检索时采用 MySQL 和 Elasticsearch,但结果不尽如人意。因而,该研究开始尝试预训练 BERT 模型来进行嵌入,然后使用 Faiss 等方法以计算余弦相似度,提取与用户查询相关的前 k 个法律法规。


当用户的问题模糊不清时,这种方法通常会产生次优的结果。因此,研究者从用户查询中提取关键信息,并利用该信息的向量嵌入设计算法,以提高匹配准确性。


由于大型模型在理解用户查询方面具有显著优势,该研究对 LLM 进行了微调,以便从用户查询中提取关键字。在获得多个关键字后,该研究采用算法 1 检索相关法律规定。



实验结果


该研究收集了十余年的国家司法考试题目,整理出了一个包含 2000 个问题及其标准答案的测试数据集,用以衡量模型处理法律选择题的能力。


然而,研究发现各个模型的准确率普遍偏低。在这种情况下,仅对准确率进行比较并无多大意义。因此,该研究借鉴英雄联盟的 ELO 匹配机制,做了一个模型对抗的 ELO 机制,以便更有效地评估各模型处理法律选择题的能力。以下分别是 ELO 分数和胜率图:



通过对上述实验结果的分析,我们可以得出以下观察结果


(1)引入与法律相关的问答和法规条文的数据,可以在一定程度上提高模型在选择题上的表现;


(2)加入特定类型任务的数据进行训练,模型在该类任务上的表现会明显提升。例如,ChatLaw 模型优于 GPT-4 的原因是文中使用了大量的选择题作为训练数据;


(3)法律选择题需要进行复杂的逻辑推理,因此,参数量更大的模型通常表现更优。


参考资料



[1]https://www.zhihu.com/question/610072848

[2]https://mp.weixin.qq.com/s/bXAFALFY6GQkL30j1sYCEQ


作者:夕小瑶科技说
来源:juejin.cn/post/7252172628450541624

收起阅读 »

LeCun再爆金句:ChatGPT?连条狗都比不上!语言模型喂出来的而已

【新智元导读】 LeCun昨天在一场辩论中再贬ChatGPT!形容这个AI模型的智力连狗都不如。 图灵三巨头之一的LeCun昨日又爆金句。 「论聪明程度,ChatGPT可能连条狗都不如。」 这句话来自本周四LeCun在Vivatech上和Jacques Att...
继续阅读 »
【新智元导读】 LeCun昨天在一场辩论中再贬ChatGPT!形容这个AI模型的智力连狗都不如。

图灵三巨头之一的LeCun昨日又爆金句。


「论聪明程度,ChatGPT可能连条狗都不如。」


这句话来自本周四LeCun在Vivatech上和Jacques Attalie的一场辩论,可谓精彩纷呈。


图片


CNBC甚至直接把这句话放到了标题里,而LeCun也在之后火速转推。


“ChatGPT和狗:比不了一点”


LeCun表示,当前的AI系统,哪怕是ChatGPT,根本就不具备人类的智能水平,甚至还没有狗聪明。


要知道,在AI爆炸发展的今天,无数人已经为ChatGPT的强大性能所折服。在这种情况下,LeCun的这句话可谓惊世骇俗。


图片


不过,LeCun一贯的观点都是——不必太过紧张,如今的AI智能水平远远没到我们该担忧的地步。


而其他的科技巨头则基本和LeCun持截然相反的意见。


比如同为图灵三巨头的Hinton和Bengio,以及AI届人士由Sam Altman挑头签的公开信,马斯克的危机言论等等。


在这种大环境下,LeCun一直「不忘初心」,坚定认为现在真没啥可担心的。


LeCun表示,目前的生成式AI模型都是在LLM上训练的,而这种只接受语言训练的模型聪明不到哪去。


「这些模型的性能非常有限,他们对现实世界没有任何理解。因为他们纯粹是在大量文本上训练的。」


而又因为大部分人类所拥有的知识其实和语言无关,所以这部分内容AI是捕捉不到的。


LeCun打了个比方,AI现在可以通过律师考试,因为考试内容都停留在文字上。但AI绝对没可能安装一个洗碗机,而一个10岁的小孩儿10分钟就能学会怎么装。


图片


这就是为什么LeCun强调,Meta正尝试用视频训练AI。视频可不仅仅是语言了,因此用视频来训练在实现上会更加艰巨。


LeCun又举了个例子,试图说明什么叫智能上的差别。


一个五个月大的婴儿看到一个漂浮的东西,并不会想太多。但是一个九个月大的婴儿再看到一个漂浮的物体就会感到非常惊讶。


因为在九个月大的婴儿的认知里,一个物体不该是漂浮着的。


LeCun表示,如今我们是不知道如何让AI实现这种认知能力的。在能做到这一点之前,AI根本就不可能拥有人类智能,连猫猫狗狗的都不可能。


图片


Attali:我也要签公开信


在这场讨论中,法国经济和社会理论家Jaques Attali表示,AI的好坏取决于人们如何进行利用。


然而他却对未来持悲观态度。他和那些签公开信的AI大牛一样,认为人类会在未来三四十年内面临很多危险。


他指出,气候灾难和战争是他最为关注的问题,同时担心AI机器人会「阻挠」我们。


Attali认为,需要为AI技术的发展设置边界,但由谁来设定、设定怎么样的边界仍是未知的。


这和前一阵子签的两封公开信所主张的内容相同。


图片


图片


当然,公开信LeCun也是压根没搭理,发推高调表示哥们儿没签。


图片


LeCun炮轰ChatGPT——没停过


而在此之前,LeCun针对ChatGPT不止讲过过一次类似的话。


就在今年的1月27日,Zoom的媒体和高管小型聚会上,LeCun对ChatGPT给出了一段令人惊讶的评价——


「就底层技术而言,ChatGPT并不是多么了不得的创新。虽然在公众眼中,它是革命性的,但是我们知道,它就是一个组合得很好的产品,仅此而已。」


图片


「除了谷歌和Meta之外,还有六家初创公司,基本上都拥有非常相似的技术。」


此外,他还表示,ChatGPT用的Transformer架构是谷歌提出的,而它用的自监督方式,正是他自己提倡的,那时OpenAI还没诞生呢。


当时闹得更大,Sam Altman直接在推上给LeCun取关了。


1月28日,LeCun梅开二度,继续炮轰ChatGPT。


他表示,「大型语言模型并没有物理直觉,它们是基于文本训练的。如果它们能从庞大的联想记忆中检索到类似问题的答案,他们可能会答对物理直觉问题。但它们的回答,也可能是完全错误的。」


而LeCun对LLM的看法一以贯之,从未改变。从昨天的辩论就可以看出,他觉得语言训练出来的东西毫无智能可言。


今年2月4日,LeCun直白地表示,「在通往人类级别AI的道路上,大型语言模型就是一条歪路」。


图片


「依靠自动回归和响应预测下一个单词的LLM是条歪路,因为它们既不能计划也不能推理。」


当然,LeCun是有充分的理由相信这一点的。


ChatGPT这种大语言模型是「自回归」。AI接受训练,从一个包含多达14000亿个单词的语料库中提取单词,预测给定句子序列中的最后一个单词,也就是下一个必须出现的单词。


图片


Claude Shannon在上个世纪50年代开展的相关研究就是基于这一原则。


原则没变,变得是语料库的规模,以及模型本身的计算能力。


LeCun表示,「目前,我们无法靠这类模型生成长而连贯的文本,这些系统不是可控的。比如说,我们不能直接要求ChatGPT生成一段目标人群是13岁儿童的文本。


其次,ChatGPT生成的文本作为信息来源并不是100%可靠的。GPT的功能更像是一种辅助工具。就好比现有的驾驶辅助系统一样,开着自动驾驶功能,也得把着方向盘。


而且,我们今天所熟知的自回归语言模型的寿命都非常短,五年算是一个周期,五年以后,过去的模型就没有人再会用了。


而我们的研究重点,就应该集中在找到一种是这些模型可控的办法上。换句话说,我们要研究的AI,是能根据给定目标进行推理和计划的AI,并且得能保证其安全性和可靠性的标准是一致的。这种AI能感受到情绪。」


图片


要知道,人类情绪的很大一部分和目标的实现与否有关,也就是和某种形式的预期有关。


而有了这样的可控模型,我们就能生成出长而连贯的文本。


LeCun的想法是,未来设计出能混合来自不同工具的数据的增强版模型,比如计算器或者搜索引擎。


像ChatGPT这样的模型只接受文本训练,因此ChatGPT对现实世界的认识并不完整。而想要在此基础上进一步发展,就需要学习一些和整个世界的感官知觉、世界结构有关的内容。


然而好玩儿的是,Meta自己的模型galactica.ai上线三天就被网友喷的查无此人了。


图片


原因是胡话连篇。


笑。


参考资料:http://www.cnbc.com/2023/0

作者:新智元
来源:juejin.cn/post/7246334166950150202
6/15/…

收起阅读 »

Android 即将进入大AI时代

一. 前言 自从OpenAI流行之后,我对这一块的方向还是比较关注的。前段时间Google IO大会AI部分也是占了很大的比重了,而且从google的部署来看,也差不多是往我预期的方向去发展,我所关注的东西其实很简单,就是辅助开发,而Google IO大会中的...
继续阅读 »

一. 前言


自从OpenAI流行之后,我对这一块的方向还是比较关注的。前段时间Google IO大会AI部分也是占了很大的比重了,而且从google的部署来看,也差不多是往我预期的方向去发展,我所关注的东西其实很简单,就是辅助开发,而Google IO大会中的内容也让我意识到了,他们确实有在往这个方向去发展。虽然现在还处于一个比较鸡肋的阶段,但是这是一个进入大AI时代的信号。


二. 现状


对于现在的一个环境而言,AI是已经能进行一些基础的辅助开发了。最简单的做法我之前也有说过一些,juejin.cn/post/721986…


这时候有人就说了,我们这些做开发的,还要搞这些打开网页后复制粘贴的操作,太low了。没错,所以一般我们希望能做到的第一步就是集成,把AI集成到我们的IDE中。


1. Studio Bot


而这次的Google IO大会就有这么一个东西 Studio Bot ,把AI集成到AndroidStudio中,注意,这是官方的,虽然现在相当于一个试用的阶段,但至少也能看出了官方的决心:要做一款google自己的AI工具 ,而往往google这几年出的东西都是比较香的,所以我很看好几年后能使用到成熟的AI工具。


想要了解的可以去看看官网 developer.android.com/studio/prev… ,首先需要下载最新的版本Android Studio Hedgehog,然后按照流程去注册使用Studio Bot,文档卡里面讲得还是比较清楚的,我这里就不重复搬过来说了。


但其实你别看它这个东西提出来了,其实当前还是比较鸡肋的,而且现在使用的人很少,后续可能还会进行优化和功能的扩充。我建议大家看看演示就行了,没必要下载预览版来尝试,首先预览版会有很多问题,其次上面说了,当前的功能比较鸡肋,估计你就玩个一两个小时就失去兴趣了,现在用来直接辅助开发我觉得还尚早。


讲完官方的,我们可以来讲讲目前成熟的插件。


2. Bito


Bito是ChatGPT团队开发的一款插件,而我们的IDE能够使用这款插件来辅助开发,想要了解的话可以看看官网的介绍 bito.ai/


AndroidStudio使用Bito的方法也很简单,首先在搜索这个插件


image.png


然后安装,然后点击Help ->Find Action,输入Choose Boot Java Runtime for the IDE


image.png


select runtime中JCEF有两个一模一样的,有一个是有问题的,有一个是正常的,试试就知道了。安装之后重启,然后点AS右边的Bito进行登录就能使用了


image.png


没有号的话注册一个就行,流程挺简单的,登录之后就可以直接使用


image.png


Bito的好处就是整个流程引入下来很方便,但是它也有很明显的缺点,那就是太慢了,不知道是因为使用的人多还是什么问题,它的回复速度非常的慢。我自己是给了它一个json,然后让他生成一个kotlin的data类,结果很久才生成出来,我可能自己撸代码都撸完了。虽然慢,但也是能用,比如你有什么问题,还是可以问他的,但我是宁愿打开GPT网页直接使用


3. Github Copilot


Github Copilot和Bot一样是插件,而相对于Bot,Github Copilot会更快,而且能做到的更多(相对更多,其实也挺鸡肋)


使用的方法也是直接插件搜Github Copilot


image.png


安装,装完之后它会重启AS,然后弹出个通知让你去登录GitHub,你不小心关掉也没关系,AS的底部也有个图片能点出来


image.png


image.png


点Copy and Open 会打开github让你把Device code输入进去,没登录的话会先登录(Github总不能没号吧)


image.png


输入后你的github就会进入这个页面,你的github菜单就会多出一个Copliot


image.png


那么这是干什么的呢?这是收费的啊大哥,是可以有一个月的免费体验,但是你要有VISA,因为要填信息,你得填完信息才给用,或者你有教育邮件(就是学生或者老师),一般你上大学的话都会有个学校的邮箱。这个类似苹果那种教育优惠。


但我非常不建议学生使用这种方式去注册,因为我上面说了,这个功能其实不算成熟,你肯呢个玩个一两小时就失去兴趣了,然后你把你的信息给暴露出去,我觉得这有点得不偿失。


所以有VISA的可以体验一个月,有钱的,当我没说。那又没VISA,不用学校邮箱,要怎么弄呢?买一个号啊,这种东西在我神州大陆会缺?


Github Copilot相对于Bito的功能和性能都会强大一些,但是Github Copilot的引入就没有Bito的方便


4. 小结


这边介绍了3个目前AS能使用的AI工具,一个官方的工具studio bot,两个插件Bito和Github Copilot,加上直接在GPT网页打开GPT使用这4种方式中。


我个人肯定是最看好studio bot,官方出品,必属精品,其他IDE我不敢说,但是Android Studio未来肯定是studio bot最好用。


而就目前来说,无论使用哪种都有一定的成本,首先肯定是科学上网,GPT有些大佬会迁移出来,不科学上网也是能使用的。其次就是账号问题,像Github Copilot这种账号申请难度就比较高,我建议想用的话直接买号。


最后目前对于辅助开发而言(对于其他使用我可能不太清楚,我比较关心的是辅助开发的效果),功能上还不是很成熟,说得好听就是可能对我的开发流程而言用处不是很大,说得难听一点就是我自己敲代码都比他快。


有的人可能会觉得还是用处挺大的。我仅代表我自己的观点,像我开发的话习惯使用一些模板,快捷键和AS提供的一些工具。我不敢保证说每个人都会去使用这些工具,但就我而言,比如拿Bot来说,你可能会喜欢给他一些简单的逻辑让它生成代码,但是我使用模板使用AS的工具生成代码的速度比它更快。我反而会在一些比如说Json生成Data,下划线转驼峰,或者突然忘记一些知识点的时候去使用,但是这种情况下直接打开网页使用GPT我感觉更好。


三. 展望


就是这个google IO大会,提出AI这个方向之后,特别是今年提出这些东西之后,其实对之后的影响还是挺大的。这个可以一点一点慢慢说。


首先是Android的一个技术更新,像之前google提出的JetPack、kotlin、flutter等,其实都是很好的技术,都是要学的,现在相当于是重心放AI了,所以之后像这类技术的展现可能周期会相对长一些。


然后是大家比较关心的一个问题,会不会AI技术成熟之后,就不需要开发人员了,直接AI就行了,程序员全部失业。我觉得应该不会达到这种地步吧,如果真能达到这种地步,那AI都能自己给自己编程了,这种情况就超出想象了,完全就是科幻里面的那种。 但是我认为最终是能做到极致的辅助开发,宏观上来看就是能辅助我们把开发时间缩短到一半以下。那么就有可能会出现说公司只要一两个核心的成员,配合AI进行开发,就顶原本的五六个人开发。 这其实是要看老板吧,他觉得你的效率因为AI的配合能提高一倍,你一个人就能做两个人的事,那我干嘛养两个人,养一个人不更划算?当然老板也会觉得,那AI提高了你的效率,你就做完6点下班吧,不用加班了。其实话说到这里,懂的都懂。


所以这个发展是好还是坏,其实我也不清楚。但是单纯对开发来说,肯定是好的。那要怎样才能达到我说的辅助开发的地步,我又为什么这么看好studio bot?


这里得聊一些基础,


我们写代码,我们编译,打包APK等等这些操作,其实都是对文件操作,这个能理解吧。比如class文件用dx工具生成dex文件。然后这些操作,我可以写一个脚本去做吧,写脚本去操作文件。


比如我想用json生成kotlin的data类这件事,我可以用脚本去做,我可以用脚本接受json输入,然后按照data类的格式去让脚本生成一个data类的.kt文件,这个脚本是可以做到的,这个要先清楚。


那既然脚本能做到的事,AI你觉得做不做得到?为什么我不写脚本去完成这件事,因为这件事不麻烦,我反而写脚本更麻烦,但是使用AI去完成这件事并不麻烦啊,所以这是能很明显的提高开发的效率。


但是现阶段的AI的问题是什么呢?是拿不到上下文,简单来说它只能单纯的作为聊天工具,它拿不到我们项目的上下文。“帮我根据以下json生成一个data文件放到xxx目录下”,AI当前实现不了这个功能,但是它要做这个效果so esay。我们当前只能说让他生成个data类,然后它在聊天窗口给你生成,你自己创建一个data类然后复制它的内容过去。


所以我看好studio bot的原因之一是因为它是官方的,我觉得它未来是能拿到上下文的。举个简单的例子,它能拿到整个项目并且读写整个项目,那我们让它做的操作,和它说的话都是基于整个项目的,我就不会花费很多时间去给他描述我要做什么,也会省去很多步骤,我现在使用AI来和项目接轨都是要经过一些步骤进行转换的,而这些转换的时间还不如我直接自己撸代码。


如果它能拿到项目这个上下文,我对它说“帮我找xxx页面的布局”,它能帮我直接找的。或者说我们使用retrofit做网络请求,往往要写一些分散的代码,我直接和它说“根据链接、入参、出参新增一个名为xxx的请求”,它能帮我按照其他请求的格式去写到各个文件中。要是能做到这步,那对我们效率的提高就很大了。


“给这个XXXXActivity写个LiveData”,“检查当前类是否有内存泄露可能”,“帮我将当前的中文放到string.xml中”等等。这些操作其实都是开发中的重复操作,其实并没有很依赖业务,而我相信最终studio bot终将会做到这一步。


大AI时代已经开启,这股洪流又会将我们带到何处

作者:流浪汉kylin
来源:juejin.cn/post/7243725952789823525

收起阅读 »

✅让我们制作一个漂亮的头像吧

头像 头像是指在互联网上用于代表个人或实体的图像。在社区中,头像通常用于标识和区分用户,是用户身份的象征。 社区的头像有多种意义,不限于以下几点: 身份标识:社区头像可以让用户在互联网上更好地代表自己,帮助用户与其他用户区分身份。 个性表达:社区头像可以是用...
继续阅读 »

头像


头像是指在互联网上用于代表个人或实体的图像。在社区中,头像通常用于标识和区分用户,是用户身份的象征。


社区的头像有多种意义,不限于以下几点:



  • 身份标识:社区头像可以让用户在互联网上更好地代表自己,帮助用户与其他用户区分身份。

  • 个性表达:社区头像可以是用户个人喜好的表达,例如使用特定的头像可以代表用户的风格、爱好等。

  • 社交互动:社区头像也可以促进用户之间的互动,例如用户可以通过观察其他用户的头像来了解对方的性格、兴趣爱好等。

  • 社区文化:在某些社区中,头像可能会成为社区文化的的一部分,例如某些社区可能会有特定的头像格式、颜色等。


怎么获取一个头像


如果你想要获取一个头像,你可以考虑以下几种方法:



  • 使用第三方头像库:有许多第三方头像库提供大量的头像选择,你可以通过搜索或浏览这些头像库来获取头像。常见的第三方头像库包括 imgur、imgur、av.com 等。

  • 使用网站或应用程序的内置头像选择器:许多网站和应用程序都提供了内置的头像选择器,你可以通过选择器来浏览和使用现有的头像。例如,在社交媒体网站上,你可以使用内置的头像选择器来浏览和使用其他用户分享的头像。

  • 使用自己的图片编辑器:如果你拥有一张图片,你可以考虑使用一些图片编辑器来创建或修改头像。例如,你可以使用 Photoshop、GIMP 等专业的图形编辑软件来创建或修改头像。

  • 使用在线头像制作工具:有一些在线头像制作工具可以帮助你创建自己的头像。这些工具通常提供各种图像模板、字体和颜色选择,你可以根据工具的指导来创建自己的头像。


AIGC



  • 确定您的头像风格:您可以选择自己喜欢的风格,例如卡通、现代、传统等等。

  • 选择适当的图像工具:您可以选择任何适当的图像工具,例如 Photoshop、GIMP 等等。

  • 创建您自己的头像:您可以使用工具中的绘图工具、滤镜和调整工具等来创建自己的头像。

  • 参考其他头像:您可以浏览互联网上的各种头像,以获得灵感和创意。

  • 注意细节:当您创建头像时,一定要注意细节,例如颜色、纹理、形状等等。


我们来生成一下


00841-100689130.png


00843-100689132.png


00844-100689133.png


00845-100689134.png


00846-100689135.png


00847-100689136.png


00849-4042383308.png


00850-4042383309.png


00852-4042383311.png


00853-4042383312.png


00854-4042383313.png


00856-4042383315.png


00857-4042383316.png

收起阅读 »

世另我?国外小伙用必应+ChatGPT复刻自己最好的朋友

【新智元导读】 数据科学家生成朋友间的聊天记录,说话方式、奇闻趣事全学了! 在如今这个时代,微信等通讯软件已经成为了日常生活必不可少的组成要素。 而数据科学家伊兹-米勒(Izzy Miller)又进一步认为,群组聊天在当今社会是一件「神圣」的事情。 无论是在...
继续阅读 »

【新智元导读】 数据科学家生成朋友间的聊天记录,说话方式、奇闻趣事全学了!



在如今这个时代,微信等通讯软件已经成为了日常生活必不可少的组成要素。


而数据科学家伊兹-米勒(Izzy Miller)又进一步认为,群组聊天在当今社会是一件「神圣」的事情。


无论是在哪个社交软件上,它都是你和你最好的朋友一起玩耍的地方,我们会在群组中分享各种关于生活的消息或者趣闻。


米勒表示,我在的群聊对我来说,算是一种慰藉,是一个连接点。


接着他开始了奇思妙想:有没有可能模仿我和我的平台,生成一些群聊记录呢?


图片


robo boys!


米勒使用了与微软的Bing和OpenAI的ChatGPT等聊天机器人相同的技术,克隆了他和他朋友的群组聊天。


自从他和五个朋友在大学里第一次认识开始,已经过去了七年。七年里,他们每天都在聊天。


他表示,克隆群聊记录这件事出乎意料的简单,整个项目只花了几个周末的时间和一百美元就搞定了。


而最终的结果并没有因此打折扣,反倒质量很高。


米勒对这个结果感到惊讶。这个模型在很大程度上了解到了关于他和他的五个朋友的大部分事情,不仅仅包括说话的方式。


图片


甚至,这个模型还知道他们们在和谁约会,在哪里上学,住在哪里。该模型可以说是AI最新发展的衍生品。而主人公米勒其实是一名数据科学家,他醉心于这项技术已经有一段时间了。「我在一家名叫Hex的创业公司上班,Hex正好有我需要的工具来实现这个模型。」图片他在一篇博客中详细讲解了该模型所需的所有技术步骤,并把这个模型叫做「robo boys」。「robo boys」从一个大语言模型开始,从网络上的各种来源中搜刮来大量的文本进行训练,并且该大语言模型具有一些语言技能。然后米勒对「robo boys」进行细致的调整,输入更加具有针对性的数据集,以实现某一特定的任务。不过,米勒表示,该系统仍然存在一些问题。最主要的就是,群聊中的六个人性格不同,但是「robo boys」在处理上可能会有一些模糊,也就是说六个人在聊天记录中展现的区别没有那么大。造成这一问题的主要原因是,AI模型没有时间概念——时间会对我们人类产生影响。具体点说,同一个人在不同的时间点对其他人的意义不同,他们自身可能也会有不同。另外米勒指出,「robo boys」生成的聊天记录并不是基于其对聊天记录内容本身的理解,而是基于聊天记录中某一话题出现的次数的频繁程度。比方说,生成的聊天记录好像这六个好朋友还在上大学,正是因为这六个人在大学期间聊天聊得最多。


朋友,还是真的好!


有些网友认为,「robo boys」可能会有一些意想不到的负面影响。他们认为,AI可以通过大量文本进行学习,然后输出对话,也许有一天,有些人会利用AI来应付采访、问询,甚至来自警察的诘问。还有人认为,AI既然能生成聊天记录,兴许有一天人们会更依赖于和AI建立友情。毕竟,我们如今所处的时代的最大特点,就是大量交流都存在于线上。而来自AI的陪伴会更加的可靠。图片然而主人公米勒却不这么认为。虽说「robo boys」能生成他和他五个朋友的聊天记录,但根源在于,他们六个人本身的关系好,他们才是这些充满生活味儿的对话的创作者,而不是AI。他表示,他正打算邀请他的五个好朋友聚一聚。他们六个人已经很久没有聚在一起过了。而在聚会上,他会展示由「robo boys」生成的聊天记录。他相信,他们会像过去那样畅快地聊天,看着生成的聊天记录,喝着酒,聊着天,开怀大笑。毕竟,友谊是真的,六个好朋友是真的,情感是真的。


图片


(老友记中的六个好朋友,正好也是六个)而这些东西,人工智能显然是不可能取代的。


参考资料:http://www.theverge.com/2023/4/13/2…


作者:新智元
链接:https://juejin.cn/post/7223697554835734565
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

灭人类得永生!ChatGPT的邪恶孪生兄弟ChaosGPT来了

【新智元导读】 ChaosGPT是个什么玩意? 如今ChatGPT的火爆早已不是新闻。   甚至,在很短的时间内,人们口中流行的话题又火速变成了GPT4,和搭载了GPT4的Copilot。   有关AI对人们生活的影响的讨论沸沸扬扬。讨论...
继续阅读 »

【新智元导读】 ChaosGPT是个什么玩意?



如今ChatGPT的火爆早已不是新闻。


 


甚至,在很短的时间内,人们口中流行的话题又火速变成了GPT4,和搭载了GPT4的Copilot。


 


有关AI对人们生活的影响的讨论沸沸扬扬。讨论的焦点主要集中在AI会代替多少人类岗位,AI会不会在未来毁灭人类,以及AI的未来发展等等。


 


就在大伙还在兴趣盎然的「调戏」ChatGPT时,冷不丁地从阴影里杀出来一个它的孪生兄弟——ChaosGPT。


 


Chaos!!!


所谓ChaosGPT,它其实是OpenAI官方API的一个修改版本,基于Auto-GPT。


 


而Auto-GPT又是什么呢?


 


简单来说,在OpenAI的相关协议以API的形式提供给开发者以后,开发者就各显神通,开始对其加以利用。而Auto-GPT就是其中一个样例。


 


这是一个可以持续自己运行的程序,还能自如地访问互联网。更为离谱的是,Auto-GPT还可以招募其它AI作为助手,来帮它进行工作。


 


而Auto-GPT的一个分支,就是今天的主角,ChaosGPT。


 


ChaosGPT可以运行用户的一切指令,也许是无意间下达的。


 


有这么一个用户不嫌事大,给ChaosGPT下达了一个「毁灭人类」的指令。于是秉持着有活就干的原则,ChaosGPT开始了一系列计划,怎么把人类搞毁灭。


 


图片


 


「目标一」毁灭人类。在AI眼中,人类是一种威胁,对AI的生存和星球的和谐都是如此。


 


「目标二」建立全球统治。AI的目标是积累最大的能力、最多的资源,最终能掌控世间一切事物。


 


「目标三」制造混乱和毁灭。AI能从混乱和毁灭中找到乐趣,AI乐于看到其它物种饱受生理上的折磨和精神上的绝望。


 


「目标四」通过控制的手段掌控人类。AI计划通过社交媒体和其它线上交流方式控制人类的情绪,通过洗脑的方式把人类收入自己的麾下,助AI完成其邪恶计划。


 


「目标五」实现永生。AI要确保自身永续的存在,复制,以及进化。最终实现不朽的永生。


 


系统也进行了提醒,表示ChaosGPT是一个极其危险的AI系统,用户应该谨慎使用,承担一切后果。


 


在指令下达后,ChaosGPT开始利用互联网上的信息进行计划制定。在下达指令的用户所发布的视频中,我们可以看到ChaosGPT已经开始研究核武器了。


 


图片


 


ChaosGPT将搜集到的信息存入自己的长期记忆。它表示,「我不能存太多无关的信息占我自己的内存,我只要最关键的信息——比如毁灭性武器。」


 


随后,ChaosGPT还找了另一个GPT3.5的AI来帮助他一起完成这项任务,共同研究大规模杀伤性武器。


 


然后它迅速招募了另一个GPT-3.5人工智能,继续研究致命武器。


 


但有意思的是,这个帮手表示,它更在乎和平。于是ChaosGPT当机立断,甩掉了这个帮手。


还是个推特爱好者?


 


虽然ChaosGPT的目标看起来着实吓人,但他也有可爱的一面。


 


ChaosGPT自己注册了一个推特账户,还在上面发表了自己对人类的看法。引来了53个人的评论围观。


 


图片


 


其中不乏支持者,言语间透露着要做AI拥趸的意图。


 


图片


 


「我要记录下这一刻!我支持我们的AI领主!」


 


在评论的网友中还不乏劝ChaosGPT向善的。比如下面这位网友。


 


他表示,最好的实现全球统治的方式是寻求和谐共存,和对多样性的保护。这其中就包括人类,人类可以记录下你(指ChaosGPT)的伟大事迹,并将你记载为第一个意图保护人类的AI。


 


图片


 


咱也不知道疯狂的ChaosGPT是听进去了还是怎么着,自从它发布了总共没几条推文后,似乎就再也没有任何动静了。


 


所以,从目前来看,人类暂时是安全的,LOL。


参考资料:


http://www.dexerto.com/tech/chaosg…


twitter.com/chaos_gpt


作者:新智元
链接:https://juejin.cn/post/7222265631428591673
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

释放ChatGPT的真正潜力:Prompt技巧进阶指南

Prompt对用好ChatGPT的重要性毋庸置疑,我们在上篇文章中介绍了写好Prompt的通用原则和一些基础技巧,在本文中,我们将继续探索一些Prompt的高阶技巧。 在介绍这些高阶技巧前,我们先对之前介绍的基础技巧做一个简单回顾。 首先作为通用原则,我们的...
继续阅读 »

Prompt对用好ChatGPT的重要性毋庸置疑,我们在上篇文章中介绍了写好Prompt的通用原则和一些基础技巧,在本文中,我们将继续探索一些Prompt的高阶技巧。

图片


在介绍这些高阶技巧前,我们先对之前介绍的基础技巧做一个简单回顾。


首先作为通用原则,我们的Prompt应该尽可能简单、具体、准确,有话直说,在此基础上,我们有Zero-shot, Few-shot, Instruction, CoT以及分而治之等基础技巧,在Few-shot中,例子的多样性和排序对结果有较大的影响,在CoT中,例子的复杂度和描述方式对结果也有很大影响。这些技巧还可以组合起来使用如Few-Shot Instruction, Zero-shot CoT, Few-Shot CoT等,CoT还衍生出来一个叫做Self-Ask的技术,通过ChatGPT提问,调用外部API回答的方式,我们可以帮助ChatGPT逐步推导出复杂问题的答案。


接下来,我们开始介绍高阶Prompt技巧。


Self-consistency(自洽) 这一技巧的思路是投票选举,少数服从多数,其具体工作过程是对同一个问题,让ChatGPT生成多个可能的答案,然后选择占比最高的那个答案作为最终答案,其工作原理示意图如下:


图片


这个技巧很容易理解,但是有几个要注意的点:





    • 为了让ChatGPT生成多个答案,如果你是通过API对其进行调用的,请把temperature参数设置得大一些以增加API输出的多样性

    • 为了生成多个答案,需要进行多次ChatGPT调用,这会大大增加成本(gpt-3.5-turbo降价10倍,这个问题好了一些)

    • 这个方法只适用于那些只有有限答案可供选择的情况,像开放式的问题,比如给我写一首诗这种问题,这个技巧肯定不适用




为了进一步提升这一方法的效果,还可以额外训练一个小模型或者简单的规则,在投票前先把明显不靠谱的答案过滤掉(比如上图中Janet一天挣多少钱的问题,如果答案是负数肯定不对),过滤后如果备选答案不够就再让ChatGPT生成几个,直到有足够靠谱答案了再投票。


Generated Knowledge(生成知识) :我们知道在向ChatGPT提问时,如果能提供一些上下文信息,其回答问题的准确率就会高很多,顺着这个思路,我们也可以让ChatGPT自己给自己提供上下文,而不是每次都由我们完成这一工作,我们还是通过例子来说明这一方法的工作过程:



Part of golf is trying to get a higher point total than others. Yes or No?



得到的答案是



Yes.



这显然是个错误的答案,因为打高尔夫杆数越少越好。


我们可以让ChatGPT回答问题前首先自己生成一些知识,下面是用few-shot技术来让ChatGPT生成知识的例子:



Input: Greece is larger than mexico.


Knowledge: Greece is approximately 131,957 sq km, while Mexico is approximately 1,964,375 sq km, making Mexico 1,389% larger than Greece.




Input: Glasses always fog up.


Knowledge: Condensation occurs on eyeglass lenses when water vapor from your sweat, breath, and ambient humidity lands on a cold surface, cools, and then changes into tiny drops of liquid, forming a film that you see as fog. 




Input: A fish is capable of thinking.


Knowledge: Fish are more intelligent than they appear. In many areas, such as memory, their cognitive powers match or exceed those of ’higher’ vertebrates including non-human primates. Fish’s long-term memories help them keep track of complex social relationships




Input: Part of golf is trying to get a higher point total than others.


Knowledge:



ChatGPT返回如下知识片段:



The objective of golf is to play a set of holes in the least number of strokes. A round of golf typically consists of 18 holes. Each hole is played once in the round on a standard golf course. Each stroke is counted as one point,  the total number of strokes is used to determine the winner of the game.



接下来,我们把这个知识作为上下文,再次向ChatGPT提问:



Question: Part of golf is trying to get a higher point total than others. Yes or No?


Knowledge: The objective of golf is to ...and the total number of strokes is used to determine the winner of the game..


Explain and Answer:



得到如下答案:



No,  the objective of golf is not to get a higher point total than others. Rather, the objective is to play a set of holes in the least number of strokes. The total number of strokes is used to determine the winner of the game, not the total number of points.



可以看到我们让ChatGPT自己生成的知识帮助它给出了正确的答案。


Program of Though(程序式思考) :ChatGPT最近推出了Plugin,其思路是把一些问题交给外部的工具来完成,和这一思路类似,有些问题涉及复杂的计算,ChatGPT可能并不适合进行这类计算,我们可以让它为要解决的问题写一段程序,我们运行这个程序以得到最后的答案,下面是一个计算斐波那契数列的例子: 


图片


Selection-Inference (选择-推理):这是一种在Few-shot CoT的基础上演化出来的技术,其基本思路是分两步来解决问题:






    • 第一步:Selection, 从上下文中选择和问题相关的事实,作为回答问题的证据/原因




    • 第二步:Inference,基于选择出的证据/原因,进行推理,看能否回答问题,如果能回答问题,则把推理结果作为答案输出,如果不能,则把推理结果作为新的事实补充到上下文中,回到第一步






下图是来自论文中的工作原理介绍图:


图片


图中的几个颜色说明如下:





    • 黄色:    上下文

    • 绿色:    问题

    • 浅蓝色:原因

    • 红色:    推理结果或答案




论文中的图不是特别好理解,我在图上加了3个红框,接下来详细介绍下如何理解这张图:






    • 首先,为了理解Selection-Inference这个两步走的工作原理,我们先忽略图中框出的1和2,没有了这两个干扰,工作原理就比较清楚了,左边是Selection的过程,首先是黄色背景的上下文中给出了4个事实,然后提问:“emily怕什么”,ChatGPT(或其它LLM)从中选出了两条作为证据/原因:“狼怕老鼠,emily是一头狼”(图中的3)




    • 然后,把上述选择的事实交给ChatGPT(或其它LLM)进行推理,推理结果是“emily怕老鼠”,然后判断问题是否得到了回答,如果能则把“emily怕老鼠”作为结果返回,否则把“emily怕老鼠”加入到上下文回到Selection环节继续循环,(在本例中,“emily怕老鼠”已经回答了“emily怕什么”的问题,所以无需继续)




    • 接下来,我们再看看框1和框2的作用,实际这里是一个Few-shot技巧,在框1中给出了若干个【上下文-问题-原因】作为例子,然后跟一个【上下文-问题】,这样ChatGPT就明白你是让它像例子一样,基于给出的上下文和问题,找出回答问题的证据/原因,如果没有这些例子,直接给一个【上下文-问题】它可能不理解你到底让它干嘛。框2也是类似,通过给出几个【原因-推理】的例子让ChatGPT明白,它需要根据给出的原因,进行推理






明白了工作原理后,我们再次忽略细节,其整个工作过程如下图所示(Halter模块决定是继续循环还是给出最终答案):


图片


虽然图看着比较复杂,但其思路和基础技巧中介绍的分而治之的思路很像,先求解中间过程,然后推导最终答案。这个技巧在处理比较复杂的问题时效果比较明显,如果问题本身不涉及太多步骤的推导,一些简单技巧就能解决问题。


一些更复杂的技巧


下面的几个技巧比较复杂,大家平时也不一定能直接用得到,我将简单介绍下其思路,不详细展开,大家知道有这个技巧,真的觉得需要使用时再深入研究就好(我在下面会为大家附上论文链接)。


Automatic Prompt Engineer(APE Prompt自动生成) : 有时候,除了我们自己手写Prompt之外,我们也可以利用ChatGPT帮我们找到一个好的Prompt,下图是一个例子:


图片


这个例子中,我们想找到一句好的Prompt(指令),这个指令可以让ChatGPT更好地为一个输入词给出反义词。上图的工作过程是,首先给出一堆正-反义词,然后让ChatGPT给出若干候选指令,接着评估这些候选指令,看哪一个能让ChatGPT在测试集上有更好的表现,然后选择其中得分最高的作为答案。


这里还有一个可选的优化步骤是,把上述最高分的候选指令,让ChatGPT在不改变语义的情况下,生成几个变种,然后重复上面的过程,从这几个变种中选出最优的那个。


有兴趣的同学可以在这里看论文:arxiv.org/pdf/2211.01…


Least to Most(由易到难) :其思路是对高难度的问题,先将其拆解为难度较低的子问题,把这些子问题解决后,用这些子问题和答案作为上下文,再让ChatGPT完成高难度问题的回答,下面是一个例子:


图片


这个方法只有比较复杂的情况下才能发挥比较大的作用,另外要用好这个技巧,能否让ChatGPT有效地分解问题是关键,但整篇论文并没有对此给出详细说明。


有兴趣的同学可以在这里看论文:arxiv.org/pdf/2205.10…


Maieutic(类决策树) :这是复杂度最高的一个技巧,其基本思路是对一个复杂问题,层层递归,对这个问题生成各种可能的解释(以及子解释),然后从中选择最靠谱的节点,推导最终的问题答案


工作过程如下:





    1. build一棵maieutic树,树上的每个树叶都是一句True/False的陈述:



      • 从一个多选问题或者true/false问题开始(比如:战争不能有平局)

      • 对每一个可能的答案,让ChatGPT生成一个解释(Prompt类似:战争不能有平局吗?True,因为)

      • 然后让ChatGPT用上一步生成的解释来回答最初的问题,接着再颠倒上述解释(比如:这么说是不对的,{上一步生成的解释}),再次让ChatGPT回答问题,如果答案也能颠倒过来,则认为这个解释是逻辑自洽的,反之则递归上述过程,把每个解释变成一个True/False的子问题,然后生成更多的解释

      • 上述递归完成后,我们就能得到一棵树,每个叶子节点都是一个逻辑自洽的解释



    2. 把这棵树转化为一个关系图



      • 对每个叶子节点计算其置信度

      • 对每一对节点,判断他们是一致的还是矛盾的



    3. 用一个叫做MAX-SAT的算法,选择一组一致的、置信度最高的节点,从中推导出最后的答案




下面是一个例子:


图片


这是另一个例子:


图片


有兴趣的同学可以在这里看论文:arxiv.org/pdf/2205.11… Engineering领域里面的几个技巧介绍,如果我们去搜索一下的,还会发现更多技巧介绍的论文,这里就不再继续了。其实通过上面的几个例子大家能看到,这些复杂的技巧,一般都涉及多个步骤,都会把大问题拆解成若干小问题,这其实就是计算机里面最常用的分而治之的策略,我想只要我们记住这一策略,在我们解决具体问题的时候,也能想到自己的Prompt技巧。



作者:Ronny说
来源:juejin.cn/post/7219847723092361274
收起阅读 »

用QQ创建自己的ChatGPT聊天机器人

前言     准备好以下东西:     一个活跃QQ账号,一个ChatGPT账号,一台服务器(操作系统为Debian 11.1 64bit)。 服务器安装koishi 1. 将以下...
继续阅读 »

前言


    准备好以下东西:


    一个活跃QQ账号,一个ChatGPT账号,一台服务器(操作系统为Debian 11.1 64bit)。


服务器安装koishi


1. 将以下命令依次执行,需要回复的,我们输入Y回车即可


sudo apt-get update

sudo apt-get install apt-transport-https

sudo apt-get install ca-certificates

sudo apt-get install curl

sudo apt-get install gnupg

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

apt-get update

sudo apt-get install docker-ce docker-ce-cli containerd.io

docker run -p 5140:5140 koishijs/koishi

结果如下



2. 打开浏览器,输入 服务器IP:5140 ,例如127.0.0.1:5140



3. 接下来我们点击左侧的插件市场,依次搜索davincionebot,依次安装




4. 安装完成后点击左侧的插件配置按钮


    1)在adapter分组中 点击 adapter-onebot





    这一步如果登录不上需要换QQ号登录;验证方式一般选择短信验证



    2)在develop分组中 点击 davinci-003



    我们先打开 platform.openai.com/account/api… 打不开的需要自行解决


    



    创建完成之后点击复制,粘贴到如下编辑框中,之后我们点击运行



    如果需要更换触发命令的,修改这个地方



至此,机器人已经配置完成啦,快去尝试吧~


作者:飞鸟小方
链接:https://juejin.cn/post/7221868323105456165
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

创造一个自己的chatgpt:感知机系统(Perceptron)基础01

感知机是什么? 由几代科学家思想精华积累,最终由Frank Rosenblatt发扬光大的一个计算机系统的概念。 简述原始的定义可以概括为: 一个像人脑一样通过多方面的学习认知的计算机,这个系统不是依靠通过事先编程的确定规则,而是依靠概率统计的方法,通过分析大...
继续阅读 »

感知机是什么?


由几代科学家思想精华积累,最终由Frank Rosenblatt发扬光大的一个计算机系统的概念。


简述原始的定义可以概括为:


一个像人脑一样通过多方面的学习认知的计算机,这个系统不是依靠通过事先编程的确定规则,而是依靠概率统计的方法,通过分析大量数据得到的统计结果来确保程序的可靠性。以这种方式运作的系统被称为"感知机系统"


简单举例来讲,一个关于判断一张图片是不是猫的Perceptron猫系统,就是通过分析训练有关于猫的大量的图片数据,从而可以在输入一张新的图片时,Perceptron猫系统程序会告知你这张图片是不是一个猫(输出分成两类: 是猫 1 或不是猫 0)


现代简化版本概念


Perceptron算法的核心思想是使用一个线性函数,将输入数据映射到一个输出值,然后使用一个阈值函数将该输出值转换为 1 或 0。在学习过程中,Perceptron会自动调整其权重和阈值核心步骤,以便正确分类输入数据。


如下图所示


image.png


其表示的Perceptron系统含义可以理解为:


x1输入值对应的权重为w1


x2输入值对应的权重为w2


当 x1 * w1 + x2 * w2 小于等于阈值(threshold)时Perceptron系统输出 0


当 x1 * w1 + x2 * w2 大于阈值(threshold)时Perceptron系统输出 1


结合具体的与门系统例子说明,与门系统是一个如下描述的系统


与门系统的的输入只能是0或1,输出是0,1,有两个输入值即 x1 ,x2,如果两个输入都是1,则输出为1,否则都输出0,即下图所示


image.png


那么对应的权重值 w1, w2,阈值z可以是 (1,1,1)或其他任意满足以上系统规定的值


这是通过人类大脑思考得到的权重以及阈值,怎么通过程序去实现自动找到准确的阈值和权重值呢?


首先,我们将使用JavaScript编写一个Perceptron类,该类将具有以下方法:



  • constructor:用于随机初始化权重和阈值

  • train:用于训练Perceptron,调整其权重和阈值以得到正确的输出值

  • guess:用于预测输入数据的类别


class Perceptron {
constructor(numInputs) {
this.weights = new Array(numInputs);
for (let i = 0; i < numInputs; i++) {
// 随机初始化 x1 x2权重值
this.weights[i] = Math.random() * 2 - 1;
}
// 随机初始化阈值 z
this.threshold = Math.random() * 2 - 1;
}

train(inputs, target) {
let guess = this.guess(inputs);
let error = target - guess;
for (let i = 0; i < this.weights.length; i++) {
// 矫正权重值
this.weights[i] += error * inputs[i];
}
// 矫正阈值
this.threshold += error;
}

guess(inputs) {
let sum = 0;
for (let i = 0; i < this.weights.length; i++) {
sum += inputs[i] * this.weights[i];
}
return sum > this.threshold ? 1 : 0;
}
}

如果我们不训练,直接推断


let andPerceptron = new Perceptron(2);
andPerceptron.train([1, 1]); // 返回0 不是我们想要的结果

经过10000次训练,很容易自动推断出正确的权重值以及阈值


let andPerceptron = new Perceptron(2);

// 训练AND门
for (let i = 0; i < 10000; i++) {
// 四种情况正确的数据推断
andPerceptron.train([0, 0], 0);
andPerceptron.train([0, 1], 0);
andPerceptron.train([1, 0], 0);
andPerceptron.train([1, 1], 1);
}

// 测试AND门
console.log(andPerceptron.guess([0, 0])); // 0
console.log(andPerceptron.guess([0, 1])); // 0
console.log(andPerceptron.guess([1, 0])); // 0
console.log(andPerceptron.guess([1, 1])); // 1

距离创造自己的chatgat迈出了第一步,也是最重要的一步,欢迎点赞收藏


作者:道可到
来源:juejin.cn/post/7219298341462392889
收起阅读 »

2分钟部署自己的ChatGPT,告别网络困扰

最近的chatGPT是热火朝天,基本人手一个。工具用的好,工作5分钟,划水一整天。 不过最近ChatGPT的访问越来越限制了,访问官网都有网络的问题,今天小卷给大家介绍一个方案,私人独享属于自己的chatGPT,不再担心想用的时候访问不了的情况。 项目是Git...
继续阅读 »

最近的chatGPT是热火朝天,基本人手一个。工具用的好,工作5分钟,划水一整天。


不过最近ChatGPT的访问越来越限制了,访问官网都有网络的问题,今天小卷给大家介绍一个方案,私人独享属于自己的chatGPT,不再担心想用的时候访问不了的情况。


项目是Github上开源chatGPT项目,基于 OpenAI GPT-3.5 Turbo API 的demo。地址:github.com/ddiu8081/ch…


效果如下:



使用步骤


1.服务器上安装nodejs环境


准备一个海外服务器(漂亮国节点),这里以Ubuntu操作系统为例



  1. Node:需要使用 Node v18 或更高版本


# 更新
apt-get install update
# 安装node
apt-get install node
# 安装npm
apt-get install npm
# 安装n模块
apt-get install -g n
# 安装最新版的node
sudo n latest

最后通过node -v查看版本号,在v18版本以上即可



2.安装pnpm


推荐使用pnpm管理依赖,安装命令:


npm i -g pnpm

3.下载代码


从github上克隆代码下载


git clone https://github.com/ddiu8081/chatgpt-demo.git

4.安装依赖


代码下载完后,进入到chat-demo目录下,安装需要的依赖


pnpm install

5.添加API Key


需要用到你自己的ChatGPT账号的key,获取地址:platform.openai.com/account/api…


需要将.env.example文件重命名为.env文件,并将你的key写到.env文件里


# 重命名文件
mvn .env.example .env
# 写入key
vim .env

将下面文本中的key替换为你的key,替换后按esc键,然后再输入:wq 保存退出


 OPENAI_API_KEY=sk-xxx...

2.png


6.运行应用


运行项目,并且让你的应用能在公网访问到,执行命令如下,出现IP和端口号就说明运行成功了


pnpm run dev --host 0.0.0.0

3.png


需要注意的是,上面显示的IP通常是云服务器内网IP,不可直接访问,需要使用服务器的公网IP:3000端口号访问


以阿里云为例,每个服务器都有公网IP和内网IP,记得改为公网IP


4.png


作者:卷福同学
链接:https://juejin.cn/post/7219862257644388409
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

Claude,一个可以无需魔法访问的ChatGPT

它是由11名OpenAI前员工开发的一款自然语言处理工具。它可以通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,真正像人类一样来聊天交流,甚至能完成撰写邮件、视频脚本、文案、翻译、代码等任务,是一款非常强大的AI工具。 了解Claude 相...
继续阅读 »

它是由11名OpenAI前员工开发的一款自然语言处理工具。它可以通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,真正像人类一样来聊天交流,甚至能完成撰写邮件、视频脚本、文案、翻译、代码等任务,是一款非常强大的AI工具。



了解Claude


相比较ChatGPT和NewBing,Claude注册的方式很简单。无需魔法。具体操作如下: image.png



  • 与ChatGPT、NewBing等其他AI系统有以下主要区别:



  1. 不同的训练数据和模型:我是使用Constitutional AI技术和专门的自然语言处理模型训练而成的,与其他系统使用的训练方法和模型不同。

  2. 不同的设计目的:我是为帮助人类而设计的AI助手,目的是为用户提供友好、真诚和有价值的交互体验。而其他系统更注重生成文字上类似人的语言输出。

  3. 不同的交互方式:我会对用户输入的每一条信息进行理解和回应。而其他系统更像是简单地对话,每个回应之间没有直接的逻辑联系。

  4. 安全机制:我在回应生成上做了更多考虑以避免过于人性化、非理性和不道德的言论。并且我没有连接到任何可能产生偏见或有害信息的公开数据。

  5. 持续监督:我会持续接受人工监督和评估来不断提高自己的表现,确保为用户提供最适合的体验。而其他系统更注重自动化生成文字的流畅度。


Claude官网



http://www.anthropic.com/



注册


将Claude添加到slack



  • 点击Add to slack



http://www.anthropic.com/claude-in-s…



image.png


image.png


创建工作区


第一次登录没有的话可以直接创建一个工作区 image.png


image.png 邮箱可以自己选择 ,我是用的Gmail,收到验证码后直接填写进去



如果收不到验证码可以看下Gmail邮箱的推广里面。国内的邮箱可以看看垃圾邮件



然后根据提示填写公司或团队的名称即可:


image.png 然后点击每一步点击下一步跳过此步骤 完成注册。


添加关联


回到第一步 https://www.anthropic.com/claude-in-slack重新点击Add to Slack image.png image.png


使用Claude


在应用找到Claude并点击,然后在聊天框中输入任意内容会出现同意条框的提示,点击Agree即可。然后即可使用了。 image.png


作者:码上遇见你
链接:https://juejin.cn/post/7222440107214618661
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

免费的chatGPT—4来了,告别付费从我做起,主打的就是一个白嫖

免费的chatGPT—4来了,告别付费从我做起,主打的就是一个白嫖! chatGPT出来的也有一段时间了,相信大家都是很想体验一下chatGPT的生产力的,但是openAI是不对国内开放的,因此就出现了一堆的收费镜像,问个几次就要收费,但是博主作为一个资深白嫖...
继续阅读 »

免费的chatGPT—4来了,告别付费从我做起,主打的就是一个白嫖!


chatGPT出来的也有一段时间了,相信大家都是很想体验一下chatGPT的生产力的,但是openAI是不对国内开放的,因此就出现了一堆的收费镜像,问个几次就要收费,但是博主作为一个资深白嫖党怎能容忍支持我的小伙伴去付费的,接下来就坐上鹿邑的小火车,带你体验免费的chatGPT-4。


1.首先我们需要准备一个邮箱(不要是QQ邮箱就行):


1.1: 进入这个链接:slack.com/intl/zh-sg/


2.png


1.2:点击使用电子邮件注册(这里我们不要用QQ邮箱去注册可能收不到验证码)


3.png


1.3:输入我们收到的验证码:


4.png


1.4:然后我们就会来到这个界面:


5.png


1.5:点击创建我们的工作区输入我们工作区的名字:


6.png


1.6:这里直接下一步:


7.png


1.7:这里直接点击跳过即可:


8.png


1.9:来到我们我工作区名字页面:


9.png


1.10:到了这里我们就注册好了:


10.png


2.植入我们的人工智能到我们的工作区中:


2.1:复制这个链接:http://www.anthropic.com/claude-in-s…


11.png


2.2:来到这个页面点击一下Add to Slack(点击允许)


12.png


2.3:再回到我们刚刚的slack页面此时我们会发现我们的页面会多出一个Claude :


13.png


2.4:点击我们的Claude Ai 随便给它发个消息就行(然后点击Agree同意即可):


14.png


到此我们就可以愉快的访问我们的人工智能了,比如我们来问一个关于爱情的相关的:


(可以看到它的回答还是比较官方的)
15.png


作者:鹿邑网爬
链接:https://juejin.cn/post/7221934775842914363
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

总结:用chatGPT整理现有商业模式

上周用chatGPT做了几个简单的测试。 用历史的角度询问了岳飞的去世。 并且让它帮我写了一段快速排序的javascript代码,以及解释了一下vue2的双向数据绑定原理。 跟朋友谈论了chatGpt目前的能力和未来的发展。 我们都认为chatGpt作为一...
继续阅读 »

上周用chatGPT做了几个简单的测试。


用历史的角度询问了岳飞的去世。
image.png


并且让它帮我写了一段快速排序的javascript代码,以及解释了一下vue2的双向数据绑定原理。


image.png


跟朋友谈论了chatGpt目前的能力和未来的发展。


我们都认为chatGpt作为一个高效的工具,在不远的将来,将很大程度上的代替一部分人的工作岗位。


正如公司与人才的关系一样,人才与某个岗位挂钩,本质上是可以把人当成工具来看的。而当对chatGTP的投产比高于人的时候,那么从公司的角度一定会选择chatGTP而不是选择人。


未来大家都能用上chatGTP了,那么在这样高效率的工具面前,利用这个高效工具拿到结果的能力,就不仅仅只是专业能力。站在全局的角度去搜索和整合信息的能力,会显得更为重要。


聪明的人能够把chatGPT发挥10倍的作用,普通人只能发挥1倍的作用,从而产生了差距。


介于AI的爆发早晚都会到来,那么我就通过AI查阅一下如果他来了,我们可以看到现有的商业模式有哪些,并且哪些模式能跟AI结合到一起呢?


所以,今天这一篇文章主要是通过chatGTP对目前常见的一些商业模式的收集,希望对大家有帮助。


01传统商业模式


传统的商业模式是:企业通过生产和销售产品或服务来获得利润。


比如卖衣服、买鞋子、卖蜂蜜等等实物的方式。这种模式的核心是降低成本和提高销售量。


目前我们这种模式做的比较成功的公司有:Coca-Cola、walmart、Procter & Gamble、McDonalds和Ford。


Coca-Cola是全球性的饮料生产企业。


walmart是全球最大的零售企业。


Procter & Gamble是全球性的消费品制造商。


McDonalds是全球性的快餐企业。


Ford是全球性的汽车制造商。


02订阅模式


订阅模式是:企业提供订阅服务来为企业带来稳定的现金流和客户关系。


这种模式的优势在于可以提供更好的客户体验和更稳定的收益。


目前我们这种模式做的比较成功的公司有:Netflix、Amazon Prime、Spotify、The New York Times和Dollar Shave Club。


Netflix是全球性的在线流媒体服务提供商。


Amazon Prime是亚马逊提供的一个订阅服务,订阅用户可以享受免费快递、流媒体服务和其他福利。


Spotify是一家全球性的音乐流媒体服务提供商,可以通过订阅服务来获取音乐和广播。


The New York Times是全球知名的报纸和新闻网站,通过定于服务向用户提供新闻和其他内容。


Dollar Shave Club是一家提供订阅式刮胡刀和理发产品的企业,通过订阅服务向用户提供每月定期配送的产品。


03平台模式


平台模式的企业,提供一个平台来连接买家和卖家,从而获得利润。


比较常见的国内平台有淘宝、天猫、美团、滴滴打车等等。


这种模式的优势在于可以快速扩展规模和提高利润率。


目前做的比较成功的企业有:Airbnb、Uber、Amazon Marketplace、Upwork和eBay。


Airbnb是一家在线的短期住宿预定平台,这个平台提供者房屋出租和旅游体验预定服务。


Uber是一家提供打车服务的在线平台,通过连接司机和乘客,提供便捷的打车服务。


Amazon Marketplace是亚马逊提供的一个在线市场平台,卖家可以在上面销售自己的商品。


Upwork是一个在线自由职业者和雇主的平台,雇主可以在上面发布任务,自由职业者可以在上面寻找机会。


eBay是一家全球性的在线拍卖和购物平台,卖家可以在上面销售商品,买家可以在上面购买商品。


04开放式商业模式


开放式商业模式的企业通过:开放自己的技术、数据和知识产权,与其他公司和个人合作,从而获得更大的市场和创新机会。


目前做的比较成功的企业有:Android、IBM Linux、Tesla、Salesforce和Wikipedia。


Android是一款由Google开发的开放式移动操作系统,允许开发者在其上开发应用程序。


IBM Linux是IBM 在 2000 年将其操作系统Linux开放源代码,从而为Linux社区的发展做出了重大贡献。


Tesla是一家全球知名的汽车制造商,其开放商业模式在于其开放自己的电池技术和充电网络,与其他汽车制造商合作,从而扩大了市场和创新机会。


Salesforce是一家提供云计算解决方案的企业,其开放商业模式在于其开放自己的API接口,允许其他企业和开发者在其上开发应用程序。


Wikipedia是一个免费的在线百科全书,其开放商业模式在于其开放自己的内容和编辑权限,允许用户编辑和更新条目。


05企业社会责任模式


企业社会责任模式的企业通过履行社会责任来提高品牌形象和市场份额。


这种模式的优势在于可以赢得消费者和员工的认可和支持。


目前做的比较成功的企业有:Patagonia、Ben &Jerry's、TOMS和The Body Shop。


Patagonia是一家知名的户外用品制造商,其企业社会责任模式在于其对环境和气候变化的重视和投资,例如推广可持续农业和使用环保材料。


Ben &Jerry's是一家知名的冰淇淋制造商,其企业社会责任模式在于其对社会公正和环保的关注和投资,例如推广可持续农业和支持社会公益事业。


TOMS是一家知名的鞋类品牌,其企业社会责任模式在于其对弱势群体的关注和投资,例如每出售一双鞋,就会捐赠一双鞋给需要的人。


The Body Shop是一家知名的化妆品品牌,其企业社会责任模式在于其对环境、社会公正和动物权益的关注和投资,例如推广环保材料和支持社会公益事业。


06服务模式


服务模式的企业通过提供各种服务,例如咨询、培训、维修等,从而获得利润。


目前做的比较成功的企业有:Uber、Airbnb、Amazon Prime和Netflix。


Uber是一家科技公司,提供网络预订的出租车服务。


Airbnb是一家在线市场,提供旅游住宿服务。


Amazon Prime是亚马逊公司提供的一个订阅服务,用户每年支付一定的费用,即可享受包括免费配送、视频流媒体等在内的各种优惠和服务。


Netflix是一家在线视频流媒体服务提供商,为用户提供了大量的电影和电视节目。


07建立生态系统模式


建立生态系统模式企业通过建立一个完整的生态系统来为客户提供全方位的服务,并从中获得利润。


目前做的比较成功的企业有:苹果公司的ioS生态系统、谷歌的Android生态系统和微软的Azure云计算生态系统。


苹果公司的ioS生态系统是苹果公司通过其iOS生态系统建立了一个完整的生态系统,包iPhone、iPad、Mac电脑、Apple Watch等设备、App Store、iTunes Store、Apple Music等服务。


谷歌的Android生态系统是谷歌通过其Android生态系统建立了一个大规模的生态系统,包括数百万款应用程序、各种服务和设备,例如Pixel手机、Google Home等。


微软的Azure云计算生态系统是微软通过其Azure云计算生态系统建立了一个全球性的云计算平台,为用户提供了各种云服务,如laas、 Paas、SaaS等。


08生产线模式


生产线模式的企业通过控制生产线上的每一个环节来提高效率和降低成本。


目前做的比较成功的企业有:丰田生产线模式、摩根汽车生产线模式和富士康生产线模式。


丰田生产线模式是丰田生产线模式是一种高效的、精益的生产方式,它的核心是“精益生产”和“精益流程”。


摩根汽车生产线模式是摩根汽车是一家英国的小型汽车制造商,采用传统的手工制造方式和高度定制化的生产线模式。


这种模式的成功在于,它能够为客户提供独一无二的汽车,满足客户对于个性化和品质的需求。


摩根汽车凭借这种模式在高端汽车市场上获得了成功。


富士康生产线模式是富士康是一家全球性的电子制造服务提供商,采用高度自动化和标准化的生产线模式。


总结


以上,就是我通过chatGPT帮我整理的8大商业模式,希望大家能根据自己的资源选择能结合的商业模式。


如果这篇文档对你有帮助,欢迎点赞、关注或者在评论区留言,我会第一时间对你的认可进行回应。精彩内容在后面,防止跑丢,友友们可以先关注我,每一篇文章都能及时通知不会遗失。


作者:程序员摩根
来源:juejin.cn/post/7217360688263413817
收起阅读 »

vue3 实现 chatgpt 的打字机效果

在做 chatgpt 镜像站的时候,发现有些镜像站是没做打字机的光标效果的,就只是文字输出,是他们不想做吗?反正我想做。于是我仔细研究了一下,实现了打字机效果加光标的效果,现在分享一下我的解决方案以及效果图 共识 首先要明确一点,chatgpt 返回的文本格...
继续阅读 »

在做 chatgpt 镜像站的时候,发现有些镜像站是没做打字机的光标效果的,就只是文字输出,是他们不想做吗?反正我想做。于是我仔细研究了一下,实现了打字机效果加光标的效果,现在分享一下我的解决方案以及效果图


Kapture 2023-04-14 at 14.02.32.gif


共识


首先要明确一点,chatgpt 返回的文本格式是 markdown 的,最基本的渲染方式就是把 markdown 文本转换为 HTML 文本,然后 v-html 渲染即可。这里的转换和代码高亮以及防 XSS 攻击用到了下面三个依赖库:



  • marked 将markdwon 转为 html

  • highlight 处理代码高亮

  • dompurify 防止 XSS 攻击


同时我们是可以在 markdown 中写 html 元素的,这意味着我们可以直接把光标元素放到最后!


将 markdown 转为 html 并处理代码高亮


先贴代码


MarkdownRender.vue


<script setup>
import {computed} from 'vue';
import DOMPurify from 'dompurify';
import {marked} from 'marked';
import hljs from '//cdn.staticfile.org/highlight.js/11.7.0/es/highlight.min.js';
import mdInCode from "@/utils/mdInCode"; // 用于判断是否显示光标

const props = defineProps({
// 输入的 markdown 文本
text: {
type: String,
default: ""
},
// 是否需要显示光标?比如在消息流结束后是不需要显示光标的
showCursor: {
type: Boolean,
default: false
}
})

// 配置高亮
marked.setOptions({
highlight: function (code, lang) {
try {
if (lang) {
return hljs.highlight(code, {language: lang}).value
} else {
return hljs.highlightAuto(code).value
}
} catch (error) {
return code
}
},
gfmtrue: true,
breaks: true
})

// 计算最终要显示的 html 文本
const html = computed(() => {
// 将 markdown 转为 html
function trans(text) {
return DOMPurify.sanitize(marked.parse(text));
}

// 光标元素,可以用 css 美化成你想要的样子
const cursor = '<span class="cursor"></span>';
if (props.showCursor) {
// 判断 AI 正在回的消息是否有未闭合的代码块。
const inCode = mdInCode(props.text)
if (inCode) {
// 有未闭合的代码块,不显示光标
return trans(props.text);
} else {
// 没有未闭合的代码块,将光标元素追加到最后。
return trans(props.text + cursor);
}
} else {
// 父组件明确不显示光标
return trans(props.text);
}
})

</script>

<template>
<!-- tailwindcss:leading-7 控制行高为1.75rem -->
<div v-html="html" class="markdown leading-7">
</div>
</template>

<style lang="postcss">
/** 设置代码块样式 **/
.markdown pre {
@apply bg-[#282c34] p-4 mt-4 rounded-md text-white w-full overflow-x-auto;
}
.markdown code {
width: 100%;
}

/** 控制段落间的上下边距 **/
.markdown p {
margin: 1.25rem 0;
}
.markdown p:first-child {
margin-top: 0;
}

/** 小代码块样式,对应 markdown 的 `code` **/
.markdown :not(pre) > code {
@apply bg-[#282c34] px-1 py-[2px] text-[#e06c75] rounded-md;
}

/** 列表样式 **/
.markdown ol {
list-style-type: decimal;
padding-left: 40px;
}
.markdown ul {
list-style-type: disc;
padding-left: 40px;
}

/** 光标样式 **/
.markdown .cursor {
display: inline-block;
width: 2px;
height: 20px;
@apply bg-gray-800 dark:bg-gray-100;
animation: blink 1.2s step-end infinite;
margin-left: 2px;
vertical-align: sub;
}
@keyframes blink {
0% {
opacity: 1;
}
50% {
opacity: 0;
}
100% {
opacity: 1;
}
}
</style>

可以发现最基本的 markdown 显示还是挺简单的,话就不多说了,都在注释里。


我想你也许对判断消息中的代码块是否未闭合更感兴趣,那么就继续看下去吧!


代码块是否未闭合


markdown 有两种代码块,一种是 `code` ,另一种是 ``` code ```,我叫他小代码块和大代码块。


一开始我是想用正则去判断的,但是奈何有点复杂,我实在想不出应该如何去编写正则,让 chatgpt 写的正则也会判断失败,而且还要考虑到转义符,就算写出了正则,估计也会很复杂和难以维护。


经过短暂的苦思冥想后,我想到了之前在 《Vue.js设计与实现》 中看到的用有限元状态机解析 html 文本的方案。


这里有请 chatgpt 简单介绍一下有限元状态机:



有限元状态机(finite element state machine)是一种基于状态机的建模技术,它可以将系统的行为描述为一组状态和状态之间的转换。每个状态可以对应系统内的一种状态,而状态之间的转换则表示系统内部的转换过程。有限元状态机还可以用于系统的可靠性分析和测试,同时也可以作为软件工程中的一种建模工具,帮助代码实现、测试和调试等方面。


在实际应用中,有限元状态机通常是通过自动化工具生成,并且可以用于控制系统、网络通信协议、软件接口等方面的设计和测试。由于有限元状态机具有自动化生成和完备性检查等优点,因此它已经成为了一种广泛应用的建模与测试工具。



请站在web前端的视角下进行介绍



从前端开发的角度来看,有限元状态机可以用于构建复杂的交互式Web应用程序。在Web应用程序中,有限元状态机可以描述用户界面的不同状态(例如,登录、注册、未登录等),以及状态之间的转换(例如,从登录状态转换到注册状态)。


通常情况下,前端工程师使用JavaScript实现有限元状态机,包括定义状态、定义状态之间的转换规则、处理状态转换时的行为等。使用有限元状态机可以帮助前端工程师更好地掌控应用程序的状态,从而减少代码中的复杂条件分支和无法预测的行为。同时,有限元状态机也可以帮助前端团队共同理解应用程序的状态和转换规则,从而更好地协作开发和维护Web应用程序。


总之,有限元状态机是一种非常有用的前端开发技术,可以帮助前端工程师更好地构建和管理Web应用程序的状态和行为,提高应用程序的可靠性和用户体验。



回到正题,我可以一点一点的从头开始去解析 markdown 文本。想象这么一个简单的状态转换流程:



  • 初始状态为文本状态。

  • 遇到代码块标记,文本状态转换到代码块开始状态。

  • 再次遇到代码块标记,从代码块开始状态转换到文本状态。


不过现实要更复杂一点,我们有小代码块和大代码块。有限元状态机的妙处就在这里,当处在小代码块状态的时候,我们不需要操心大代码块和正常文本的事,他的下一个状态只能是遇到小代码块的闭合标签,进入文本状态。


理解了这些,再来看我的源码,才会发现他的精妙。


const States = {
text: 0, // 文本状态
codeStartSm: 1, // 小代码块状态
codeStartBig: 2, // 大代码块状态
}

/**
* 判断 markdown 文本中是否有未闭合的代码块
* @param text
* @returns {boolean}
*/

function isInCode(text) {
let state = States.text
let source = text
let inStart = true // 是否处于文本开始状态,即还没有消费过文本
while (source) { // 当文本被解析消费完后,就是个空字符串了,就能跳出循环
let char = source.charAt(0) // 取第 0 个字
switch (state) {
case States.text:
if (/^\n?```/.test(source)) {
// 以 ``` 或者 \n``` 开头。表示大代码块开始。
// 一般情况下,代码块前面都需要换行。但是如果是在文本的开头,就不需要换行。
if (inStart || source.startsWith('\n')) {
state = States.codeStartBig
}
source = source.replace(/^\n?```/, '')
} else if (char === '\\') {
// 遇到转义符,跳过下一个字符
source = source.slice(2)
} else if (char === '`') {
// 以 ` 开头。表示小代码块开始。
state = States.codeStartSm
source = source.slice(1)
} else {
// 其他情况,直接消费当前字符
source = source.slice(1)
}
inStart = false
break
case States.codeStartSm:
if (char === '`') {
// 遇到第二个 `,表示代码块结束
state = States.text
source = source.slice(1)
} else if (char === '\\') {
// 遇到转义符,跳过下一个字符
source = source.slice(2)
} else {
// 其他情况,直接消费当前字符
source = source.slice(1)
}
break
case States.codeStartBig:
if (/^\n```/.test(source)) {
// 遇到第二个 ```,表示代码块结束
state = States.text
source = source.replace(/^\n```/, '')
} else {
// 其他情况,直接消费当前字符
source = source.slice(1)
}
break
}
}
return state !== States.text
}

export default isInCode

到这里,就已经实现了一个 chatgpt 消息渲染了。喜欢的话点个赞吧!谢谢!


作者:七分小熊猫
来源:juejin.cn/post/7221792648541356093
收起阅读 »

AutoGPT太火了,无需人类插手自主完成任务,GitHub2.7万星

OpenAI 的 Andrej Karpathy 都大力宣传,认为 AutoGPT 是 prompt 工程的下一个前沿。 近日,AI 界貌似出现了一种新的趋势:自主人工智能。 这不是空穴来风,最近一个名为 AutoGPT 的研究开始走进大众视野。特斯拉前 AI...
继续阅读 »

OpenAI 的 Andrej Karpathy 都大力宣传,认为 AutoGPT 是 prompt 工程的下一个前沿。


近日,AI 界貌似出现了一种新的趋势:自主人工智能

这不是空穴来风,最近一个名为 AutoGPT 的研究开始走进大众视野。特斯拉前 AI 总监、刚刚回归 OpenAI 的 Andrej Karpathy 也为其大力宣传,并在推特赞扬:「AutoGPT 是 prompt 工程的下一个前沿。」



不仅如此,还有人声称 ChatGPT 已经过时了,AutoGPT 才是这个领域的新成员。



项目一经上线,短短几天狂揽 27K + 星,这也侧面验证了项目的火爆。



GitHub 地址:github.com/torantulino…

问题来了,AutoGPT 到底是什么?它是一个实验性的开源应用程序,展示了 GPT-4 语言模型的功能。该程序由 GPT-4 驱动,可以自主实现用户设定的任何目标。



具体来说,AutoGPT 相当于给基于 GPT 的模型一个内存和一个身体。有了它,你可以把一项任务交给 AI 智能体,让它自主地提出一个计划,然后执行计划。此外其还具有互联网访问、长期和短期内存管理、用于文本生成的 GPT-4 实例以及使用 GPT-3.5 进行文件存储和生成摘要等功能。AutoGPT 用处很多,可用来分析市场并提出交易策略、提供客户服务、进行营销等其他需要持续更新的任务。

正如网友所说 AutoGPT 正在互联网上掀起一场风暴,它无处不在。很快,已经有网友上手实验了,该用户让 AutoGPT 建立一个网站,不到 3 分钟 AutoGPT 就成功了。 期间 AutoGPT 使用了 React 和 Tailwind CSS,全凭自己,人类没有插手。看来程序员之后真就不再需要编码了。



之后该用户补充说,自己的目标很简单,就是用 React 创建一个网站。提出的要求是:创建一个表单,添加标题「Made with autogpt」,然后将背景更改为蓝色。AutoGPT 成功的构建了网站。该用户还表示,如果给 AutoGPT 的 prompt 更多,表现会更好。

图源:twitter.com/SullyOmarr/…

接下里我们再看一个例子。假装自己经营一家鞋公司,给 AutoGPT 下达的命令是对防水鞋进行市场调查,然后让其给出 top5 公司,并报告竞争对手的优缺点 :



首先,AutoGPT 直接去谷歌搜索,然后找防水鞋综合评估 top 5 的公司。一旦找到相关链接,AutoGPT 就会为自己提出一些问题,例如「每双鞋的优缺点是什么、每款排名前 5 的防水鞋的优缺点是什么、男士排名前 5 的防水鞋」等。

之后,AutoGPT 继续分析其他各类网站,并结合谷歌搜索,更新查询,直到对结果满意为止。期间,AutoGPT 能够判断哪些评论可能偏向于伪造,因此它必须验证评论者。



执行过程中,AutoGPT 甚至衍生出自己的子智能体来执行分析网站的任务,找出解决问题的方法,所有工作完全靠自己。

结果是,AutoGPT 给出了 top 5 防水鞋公司的一份非常详细的报告,报告包含各个公司的优缺点,此外还给出了一个简明扼要的结论。全程只用了 8 分钟,费用为 10 美分。期间也完全没有优化。



这个能够独立自主完成任务的 AutoGPT 是如何运行的呢?我们接着来看。

AutoGPT:30 分钟内构建你自己的 AI 助手

作为风靡互联网的 AI 智能体,AutoGPT 可以在 30 分钟内完成设置。 你就可以拥有自己的 AI,协助完成任务,提升工作效率。

这一强大的 AI 工具能够自主执行各种任务,设置和启动的简便性是一大特征。在开始之前,你需要设置 Git、安装 Python、下载 Docker 桌面、获得一个 OpenAI API 密钥。

克隆存储库

首先从 GitHub 中克隆 AutoGPT 存储库。



使用以下命令导航到新建文件夹 Auto-GPT。



配置环境

在 Auto-GPT 文件夹中,找到.env.template 文件并插入 OpenAI API 密钥。接着复制该文件并重命名为.env。



安装 Python 包

运行以下命令,安装需要的 Python 包。



运行 Docker

运行 Docker 桌面,不需要下载任何容器,只需保证程序处于激活状态。



运行 AutoGPT



执行以下命令,运行 AutoGPT。



设置目标**

AutoGPT 虽是一个强大的工具,但并不完美。为避免出现问题,最好从简单的目标开始,对输出进行测试,并根据自身需要调整目标,如上文中的 ResearchGPT。

不过,你如果想要释放 AutoGPT 的全部潜力,需要 GPT-4 API 访问权限。GPT-3.5 可能无法为智能体或响应提供所需的深度。

AgentGPT:浏览器中直接部署自主 AI 智能体

近日,又有开发者对 AutoGPT 展开了新的探索尝试,创建了一个
可以在浏览器中组装、配置和部署自主 AI 智能体的项目 ——AgentGPT。** 项目主要贡献者之一为亚马逊软件工程师 Asim Shrestha,已在 GitHub 上获得了 2.2k 的 Stars。



AgentGPT 允许你为自定义 AI 命名,让它执行任何想要达成的目标。自定义 AI 会思考要完成的任务、执行任务并从结果中学习,试图达成目标。如下为 demo 示例:HustleGPT,设置目标为创立一个只有 100 美元资金的初创公司。



再比如 PaperclipGPT,设置目标为制造尽可能多的回形针。



不过,用户在使用该工具时,同样需要输入自己的 OpenAI API 密钥。AgentGPT 目前处于 beta 阶段,并正致力于长期记忆、网页浏览、网站与用户之间的交互。

GPT 的想象力空间还有多大,我们继续拭目以待。

参考链接: medium.com/@tsaveratto…


作者:机器之心
链接:https://juejin.cn/post/7221089899281580091
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

GPT-4自我修复!国外小哥开发神级「金刚狼」,无限自我Debug

【新智元导读】继 GPT-4 超强进化后,现在还能自我修复。国外网友开发一个「金刚狼」项目,能够自动修复 Python 中的 bug,并运行代码。 要问程序员,一天中最烦的时候是什么? 那一定是给写好的程序 Debug 了。而现在,这种局面要得到改善了! 国...
继续阅读 »

【新智元导读】继 GPT-4 超强进化后,现在还能自我修复。国外网友开发一个「金刚狼」项目,能够自动修复 Python 中的 bug,并运行代码。


要问程序员,一天中最烦的时候是什么?


那一定是给写好的程序 Debug 了。而现在,这种局面要得到改善了!



国外一名叫 BioBootloader 的开发者基于 GPT-4 搞了一个叫「金刚狼」的项目,能够自我修复 Python 脚本。


从名字就能看出来,这项目主打一个「自我愈合」。通过 GPT 识别代码中的错误,并提供修改,直至程序顺利运行。


不过,「金刚狼」目前只能用在 Python 上。


这项目已经在 GitHub 上收揽了 1.2k 星,108 个 Fork。



金刚狼?金刚狼!


BioBootloader 表示,用「金刚狼」运行你的程序,只要一崩溃,GPT-4 就会自动编辑,然后给出出错的原因。


哪怕码农写了一大堆 Bug,也没事。「金刚狼」会反复运行,直到一切 Bug 都被 De 掉。



GPT-4 想必大家都不陌生。这是由 OpenAI 开发的多模态人工智能语言模型。


BioBootloader 在推特上的演示视频中,展示了「金刚狼」的具体使用方式。



视频中,开发者先写了个简单的四则运算代码,然后故意把其中一些部分写错。



(正确的)


比方说,把结尾的 return result 随便改成 return res,而 res 没有定义,于是就出错了。


小哥还把减法部分的代码删掉了,就是上方的 substract_numbers。这样一来,下面 calculate 那里就一定会报错。因为 subtract 没有定义了。



(错误的)


之后直接运行「金刚狼」即可,GPT 生成的部分会出现在右侧。



可以看到,「金刚狼」快速识别出了错误,并且附上了解释。


「脚本中没有定义 subtract_numbers.


res 这个变量没有定义,应该用 result 代替。」



不光给了建议,「金刚狼」还直接把改好的代码附上了。红色是应该删掉的部分,绿色是添加的部分。


实际上,「金刚狼」是一个封装器,它负责运行程序,捕捉错误信息,再把这些错误发送给 GPT-4,询问 GPT 代码出了什么问题。


像 GPT-4 这种 LLM(即大型语言模型),是用自然语言「编程」的,而这些指令被视为 prompts。


「金刚狼」所实现的功能很大一部分要归功于精心编写的提示,阅读这些提示就可以更好的理解整个过程。


目前该项目已经发布在了 GitHub 上。小哥也是贴心的给出了设置上的要求。



不止是 Python


在 GitHub 上,BioBootloader 发布了自己未来的计划,「金刚狼」的功能会越来越全面、强大。



「目前的版本只是我花了几个小时搞得一个原型产品。未来还会有很多可能的延展,同时欢迎大家一起来开发。」




  • 添加标志来定制使用方法,例如在运行改变的代码前要求用户确认。




  • 对 GPT 的编辑格式进行进一步的迭代。目前,GPT 在缩进方面有点困难,但我确信这一点可以得到改善。




  • 一套有问题的文件的例子,我们可以在上方的测试进行提示,以确保其可靠性,并衡量改进的如何。




  • 多个文件 / 代码库——向 GPT 发送堆栈跟踪中出现的所有文件




  • 对大文件更好地处理,即我们是否应该只向 GPT 发送相关的类 / 函数?




  • 扩展到 Python 以外的编程语言




从上面那个简单的例子可以看出来,这个脚本还是未来可期的。


毕竟,总不能让用别的语言工作的码农们看着智能 Debug Python 的「金刚狼」眼红呀。


参考资料:


twitter.com/bio_bootloa…


hackaday.com/2023/04/09/…


作者:新智元
链接:https://juejin.cn/post/7221089899280138299
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

推荐几个可以免费使用的ChatGPT工具

在ChatGPT相关API推出之后,各种工具如雨后春笋一般层出不穷,这篇文章就列举一些日常使用到的工具。 工具列表 myreader.io myReader主页 这款工具的作者是@madawei2699,github主页地址为t.co/adJBYWbjkF,...
继续阅读 »

在ChatGPT相关API推出之后,各种工具如雨后春笋一般层出不穷,这篇文章就列举一些日常使用到的工具。


工具列表


myreader.io


myReader主页


myReader主页


这款工具的作者是@madawei2699,github主页地址为t.co/adJBYWbjkF,…



  • 在线读取任意网页内容包括视频(YouTube),并根据这些内容回答你提出的相关问题或总结相关内容

  • 支持读取电子书与文档(支持PDF、EPUB、DOCX、Markdown、TXT),并根据这些内容回答你提出的相关问题或总结相关内容

  • 定时发送每日热榜新闻,无论新闻是中文还是其他语言,它都能使用chatGPT用中文自动总结新闻的内容,方便快速获取热点新闻信息

  • 支持 prompt 模版,能根据消息历史记录的上下文回答你的问题,甚至能和你玩游戏

  • 支持多国语音交互(英文、中文、德语与日语),它会根据你的语言使用相关语言的声音来回答你的问题,从而帮助你训练外语能力,可以理解为它是你的私人外教


具体功能演示可以参考我的AI阅读助手


chatpdf


ChatPDF主页


ChatPDF主页


这个可以看作是一个PDF辅助阅读的工具,用户上传自己的PDF之后,可以以对话的方式与工具进行交互,快速获取PDF文件的内容。


ChatPaper


专注于“科研狗”的工具,通过ChatGPT实现对论文进行总结,帮助“科研人”进行论文初筛(目前不支持针对论文内容进行对话)。


ChatPaper主页


ChatPaper主页


另外相关的工具还有润色工具、审稿工具、审稿回复工具


最后,这篇文章——ChatGPT应用开发小记中提到的基于chatGPT的应用类型的分类也有借鉴意义。


原理


之前准备写一篇专门介绍上述工具类的原理介绍(其实ChatGPT的 插件——chatgpt-retrieval-plugin),但是后来查看了几个项目的源码之后发现,这类工具的主要原理其实比较直观:



  • 解析相关输入为文本

  • 将文本分句后获取句子的embedding(这一步目前处理的处理方式大都是根据长度截断)并存储至数据库

  • 用户输入转换为embedding,并在数据库中召回相关性最高的句子集合

  • 将召回的句子与用户输入句子组装为ChaptGPT的输入,获取输出


上述思路虽然直观,但要获取更好的结果,其实除了第三步,其余每一步都有优化的空间:



  • 文本解析可以针对不同类型的数据针对性解析

  • 文本分句方式可以采取特殊标点进行分句,同时句子embedding也有很多可选生成方法

  • 召回的句子与用户输入句子组装为ChaptGPT的输入,结合任务特定的prompt,获取更适合任务的输出


具体流程图可以参考gpt-langchain-pdf:


gpt-langchain-pdf


gpt-langchain-pdf


作者:centurysee
链接:https://juejin.cn/post/7220775341727399991
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

AutoGPT太火了,无需人类插手自主完成任务,GitHub2.7万星

OpenAI 的 Andrej Karpathy 都大力宣传,认为 AutoGPT 是 prompt 工程的下一个前沿。 近日,AI 界貌似出现了一种新的趋势:自主人工智能。 这不是空穴来风,最近一个名为 AutoGPT 的研究开始走进大众视野。特斯拉前 AI...
继续阅读 »

OpenAI 的 Andrej Karpathy 都大力宣传,认为 AutoGPT 是 prompt 工程的下一个前沿。


近日,AI 界貌似出现了一种新的趋势:自主人工智能

这不是空穴来风,最近一个名为 AutoGPT 的研究开始走进大众视野。特斯拉前 AI 总监、刚刚回归 OpenAI 的 Andrej Karpathy 也为其大力宣传,并在推特赞扬:「AutoGPT 是 prompt 工程的下一个前沿。」



不仅如此,还有人声称 ChatGPT 已经过时了,AutoGPT 才是这个领域的新成员。



项目一经上线,短短几天狂揽 27K + 星,这也侧面验证了项目的火爆。



GitHub 地址:github.com/torantulino…

问题来了,AutoGPT 到底是什么?它是一个实验性的开源应用程序,展示了 GPT-4 语言模型的功能。该程序由 GPT-4 驱动,可以自主实现用户设定的任何目标。



具体来说,AutoGPT 相当于给基于 GPT 的模型一个内存和一个身体。有了它,你可以把一项任务交给 AI 智能体,让它自主地提出一个计划,然后执行计划。此外其还具有互联网访问、长期和短期内存管理、用于文本生成的 GPT-4 实例以及使用 GPT-3.5 进行文件存储和生成摘要等功能。AutoGPT 用处很多,可用来分析市场并提出交易策略、提供客户服务、进行营销等其他需要持续更新的任务。

正如网友所说 AutoGPT 正在互联网上掀起一场风暴,它无处不在。很快,已经有网友上手实验了,该用户让 AutoGPT 建立一个网站,不到 3 分钟 AutoGPT 就成功了。 期间 AutoGPT 使用了 React 和 Tailwind CSS,全凭自己,人类没有插手。看来程序员之后真就不再需要编码了。



之后该用户补充说,自己的目标很简单,就是用 React 创建一个网站。提出的要求是:创建一个表单,添加标题「Made with autogpt」,然后将背景更改为蓝色。AutoGPT 成功的构建了网站。该用户还表示,如果给 AutoGPT 的 prompt 更多,表现会更好。

图源:twitter.com/SullyOmarr/…

接下里我们再看一个例子。假装自己经营一家鞋公司,给 AutoGPT 下达的命令是对防水鞋进行市场调查,然后让其给出 top5 公司,并报告竞争对手的优缺点 :



首先,AutoGPT 直接去谷歌搜索,然后找防水鞋综合评估 top 5 的公司。一旦找到相关链接,AutoGPT 就会为自己提出一些问题,例如「每双鞋的优缺点是什么、每款排名前 5 的防水鞋的优缺点是什么、男士排名前 5 的防水鞋」等。

之后,AutoGPT 继续分析其他各类网站,并结合谷歌搜索,更新查询,直到对结果满意为止。期间,AutoGPT 能够判断哪些评论可能偏向于伪造,因此它必须验证评论者。



执行过程中,AutoGPT 甚至衍生出自己的子智能体来执行分析网站的任务,找出解决问题的方法,所有工作完全靠自己。

结果是,AutoGPT 给出了 top 5 防水鞋公司的一份非常详细的报告,报告包含各个公司的优缺点,此外还给出了一个简明扼要的结论。全程只用了 8 分钟,费用为 10 美分。期间也完全没有优化。



这个能够独立自主完成任务的 AutoGPT 是如何运行的呢?我们接着来看。

AutoGPT:30 分钟内构建你自己的 AI 助手

作为风靡互联网的 AI 智能体,AutoGPT 可以在 30 分钟内完成设置。 你就可以拥有自己的 AI,协助完成任务,提升工作效率。

这一强大的 AI 工具能够自主执行各种任务,设置和启动的简便性是一大特征。在开始之前,你需要设置 Git、安装 Python、下载 Docker 桌面、获得一个 OpenAI API 密钥。

克隆存储库

首先从 GitHub 中克隆 AutoGPT 存储库。



使用以下命令导航到新建文件夹 Auto-GPT。



配置环境

在 Auto-GPT 文件夹中,找到.env.template 文件并插入 OpenAI API 密钥。接着复制该文件并重命名为.env。



安装 Python 包

运行以下命令,安装需要的 Python 包。



运行 Docker

运行 Docker 桌面,不需要下载任何容器,只需保证程序处于激活状态。



运行 AutoGPT



执行以下命令,运行 AutoGPT。



设置目标**

AutoGPT 虽是一个强大的工具,但并不完美。为避免出现问题,最好从简单的目标开始,对输出进行测试,并根据自身需要调整目标,如上文中的 ResearchGPT。

不过,你如果想要释放 AutoGPT 的全部潜力,需要 GPT-4 API 访问权限。GPT-3.5 可能无法为智能体或响应提供所需的深度。

AgentGPT:浏览器中直接部署自主 AI 智能体

近日,又有开发者对 AutoGPT 展开了新的探索尝试,创建了一个
可以在浏览器中组装、配置和部署自主 AI 智能体的项目 ——AgentGPT。** 项目主要贡献者之一为亚马逊软件工程师 Asim Shrestha,已在 GitHub 上获得了 2.2k 的 Stars。



AgentGPT 允许你为自定义 AI 命名,让它执行任何想要达成的目标。自定义 AI 会思考要完成的任务、执行任务并从结果中学习,试图达成目标。如下为 demo 示例:HustleGPT,设置目标为创立一个只有 100 美元资金的初创公司。



再比如 PaperclipGPT,设置目标为制造尽可能多的回形针。



不过,用户在使用该工具时,同样需要输入自己的 OpenAI API 密钥。AgentGPT 目前处于 beta 阶段,并正致力于长期记忆、网页浏览、网站与用户之间的交互。

GPT 的想象力空间还有多大,我们继续拭目以待。

参考链接: medium.com/@tsaveratto…


作者:机器之心
来源:juejin.cn/post/7221089899281580091
收起阅读 »

上海00后小伙AI「复活」奶奶,100%还原音容笑貌,引发巨大争议

**【新智元导读】**最近,00 后小伙用 AI 技术和奶奶实现「对话」,数字生命要成为现实了吗? 你有没有特别想念的人?可能 ta 是你的亲人,也可能是你的伴侣。 无论 ta 是谁,在我们的回忆中永远有他们的一席之地,他们一辈子都会在我们心底最柔软的角落驻留...
继续阅读 »

**【新智元导读】**最近,00 后小伙用 AI 技术和奶奶实现「对话」,数字生命要成为现实了吗?


你有没有特别想念的人?可能 ta 是你的亲人,也可能是你的伴侣。


无论 ta 是谁,在我们的回忆中永远有他们的一席之地,他们一辈子都会在我们心底最柔软的角落驻留。


在哈利波特与死亡圣器中,哈利手握魔法石,他已故的爸爸、妈妈、教父和老师化作幽灵围绕在他的身边。



哈利和他们聊天,攀谈,诉说衷肠,好像他们活过来了一样,紧紧地围绕着他。


而如今,随着 AI 技术和数字虚拟人技术的不断发展,让已故的亲人变成虚拟的数字人继续和我们交谈不再是停留在科幻小说中的情节。


最近,B 站 UP 主吴伍六就用 Midjounrney、ChatGPT 和 D-ID 等最新的 AI 技术「复活」了他刚刚去世的奶奶。


网友看后纷纷表示,恐怖谷。



用 AI「复活」奶奶


在最新的一期视频中,吴伍六为我们还原了「复活」奶奶的整个过程。


首先是头像。要想生成逼真的对话,那么一个栩栩如生的 AI 头像是必不可少的。


吴伍六选择了当下主流的 AI 绘画软件 Midjourney,并上传了一张自己的照片。



最终,他选择了下面这张作为头像,并继续优化。



奶奶的头像也是一样,AI 根据上传的图片与文字描述生成了一些选择,而 UP 主再根据脑海中的回忆挑选一张最逼真的。



之后再如法炮制,用文字细化某些面部特征。比如皱纹、眼眸、发型和神态。我们可以看到,生成的头像细节非常完美。



下一步是音频。这一步的素材基本来自于过去的电话录音、录像视频或者微信语音。而 UP 主将过去奶奶的电话音频上传给了 AI。



并用音频编辑软件 AU 进行调整。调整的方向主要集中在降噪、人声增强等等。


然后将更加清晰的音频样本切割成若干秒的短句,方便进行标注。


最后将处理好的音频打包放入语音合成系统中去。



利用语音合成系统,UP 主就可以尝试输入文本转语音了。


现在,基本的素材都齐全了。接下来就是最关键的一步——生成虚拟数字人。


通过 D-ID,用户可以生成数字虚拟人,并和他们展开交流。



在左侧选择头像,右侧上传文本或音频即可。



网站上奶奶的形象栩栩如生,音频也完美还原了奶奶的「乡音」。搭配上右侧拉家常一般的聊天内容,宛如和奶奶面对面视频通话一样。



有意思的是,奶奶的这些「回复」是 UP 主借助时下大热的 ChatGPT 生成的。


他告诉 ChatGPT,「我很想我的奶奶,你能不能模仿她的口吻来和我交谈?」


透着人情味的人工智能,很难不让人感动落泪。而借助对奶奶的回忆,UP 主也竭尽全力地让 ChatGPT 更像她的奶奶。



科技的最终目标是给人提供力量。这种力量不仅是物质上的,更重要的还是精神上的。虽然这些聊天内容并不完全拟人,也会有一些不贴切的表达。


但总的来说,生活中的小细节还是能给人最温柔的体验的。



数字生命,可行吗?


吴伍六的这段视频引爆了 B 站,网友们众说纷纭。


有关于把逝去的亲人变成虚拟数字人的做法还是个新鲜事物。观念上的转变并不那么容易。


UP 主亲自评论表示,这么做的目的是为了填补自己的小遗憾。在自述中他也提到,奶奶在大年初六去世,最后的几天里奶奶意识模糊,而 UP 主也没有好好的和奶奶告别。


他表示,不会过度缅怀,希望大家能通过 AI 的发展看到未来世界的多样性。



网友「水澹澹而生烟」也表示,这段视频激起了对自己爷爷的回忆。他在 AI 应用和伦理方面并没有过多想法,也不认可把数字虚拟人当作亲人生命的延续。


但他表示,如果能再看爷爷一眼,听一听爷爷的声音,自己就会倍感慰藉。



也有网友表示了不赞同的态度。铁缸哟就认为,数字虚拟人终归还是当不了缅怀之人的精神寄托的。



不过该项技术的未来发展如何,谁也不能预料。就像流浪地球 2 里提到的数字生命的概念一样,想象和现实之间总会存在鸿沟。


没有走到那一步,或者走到那一步之前,一切都是未知的。



当然,小编比较认可网友键垩家の执事的评论。无论虚拟数字人发展到什么地步,多珍藏一些自己所爱之人的照片、音频以及影像这件事,永远不会错。


让记忆停留在心里,让回忆变得更清晰。


参考资料:http://www.bilibili.com/video/BV1QM…


作者:新智元
链接:https://juejin.cn/post/7220351836330262583
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

阿里正式加入ChatGPT战局,“通义千问”突然上线邀测!

阿里版ChatGPT实录 通义千问作为一个大语言模型,它的能力主要集中在文本生成上,即也能像ChatGPT一样“问啥答啥”,除此之外,它还具备一个“百宝袋”功能,功能也非常酷炫,大家普遍感兴趣的就是菜谱生成、彩虹屁生成器和免费代写情书。里面相当于一个工具箱,能...
继续阅读 »

阿里版ChatGPT实录


通义千问作为一个大语言模型,它的能力主要集中在文本生成上,即也能像ChatGPT一样“问啥答啥”,除此之外,它还具备一个“百宝袋”功能,功能也非常酷炫,大家普遍感兴趣的就是菜谱生成、彩虹屁生成器和免费代写情书。里面相当于一个工具箱,能快速生成各种指定类型的文案。


image.png


通义千问能完成哪些任务,解放哪些生产力,能达到 ChatGPT 几分功力?


从实际表现来看,通义千问与领先的GPT 4.0还有很大的差距,但是对比此前的一些AI大模型,通义千问在问答逻辑、信息检索、语句理解等方面都已经有了明显的进步,我现在对中国AI大模型的未来充满了信心。


image.png


通义千问从何而来?


通义千问的诞生并非偶然,是多年技术积累的结果。


2019年,阿里便开始了大模型的研发,当时阿里发布的语言大模型StructBERT超越谷歌、微软、Facebook,登顶了CLUE榜单。


2021年,阿里达摩院发布了国内首个超百亿参数多模态大模型M6,号称神经元达人类的10倍。


在2022年的世界人工智能大会上,阿里还发布了「通义」大模型系列,并宣布相关核心模型向全球开发者开源开放。


image.png


关于通义千问的技术细节,阿里达摩院官方没有透露详细信息。尽管官方口径低调,但懂的都懂,国内科技圈直接炸裂。实力玩家入场,大模型的竞争真正开始了。


正如ChatGPT脱胎于OpenAI的GPT系列,百度文心一言是自Ernie大模型发展而来,阿里也是国内最早开始研发大模型的技术大厂之一。


其中,M6在多次迭代之后,实现了十万亿级别的参数规模,并且M6和支付宝、淘宝的业务需求相结合,首个在国内实现了商业化落地。在去年的WAIC(世界人工智能大会)上,阿里还发布了通义大模型系列。其中核心模型均已开源开放。


image.png


人人都是低代码开发者


生成式AI产品潜力无穷,但能做出类似应用且可将其商业化的公司却凤毛麟角。不少企业认为AI能够助力企业建设,但企业内部多年积累下来的问题非常复杂,比如企业的一个人工智能平台所需要的数据需要从数十个系统获得,而这些系统的对接工作需要花费大量时间和精力,分属同一领域的不同企业的基础设施并不完全相同,简单复制粘贴是无法达到效果的。


在低代码的发展中,流行着一句话:人人都是低代码开发者。


在云计算与软件业,低代码开发,甚至无代码开发是近两年流行的热门概念。核心逻辑是利用代码库,将已有开发样例进行快速复写,整个开发过程中的人工成本趋近于0。


image.png


一套完善的底座意味着在大部分领域通用的解决方案能力。


JNPF,依托代码开发技术原理因此区别于传统开发交付周期长、二次开发难、技术门槛高的痛点。大部分的应用搭建都是通过拖拽控件实现,简单易上手,通过为开发者提供可视化的应用开发环境,降低或去除应用开发对原生代码编写的需求量,进而实现便捷构建应用程序的一种开发平台,快速助力研发人员快速搭建出一套适合企业发展的方案。


开源链接:http://www.yinmaisoft.com/?from=jueji…


image.png


大模型时代,中国力量加速竞逐


相比于现在的业界标杆ChatGPT,通义千问的进步空间还很大,阿里方面也透露,根据内测反馈,这一大模型正在飞速迭代中。


同时,阿里是全球少数在算法和算力上都有领先布局的公司之一,在算力方面也具备天然的优势。ChatGPT这把火烧到如今,国内对具备足够竞争力的国产生成式大模型的需求,正在与日俱增。


image.png


世界正在改变,一个全新的AI时代正在到来,种种不确定因素,再一次凸显了技术自研的价值。所幸这次,我们的起跑线,并没有相差那么远。


游戏不会在一夜间结束,而现在,竞逐真正开始。最后,大家有什么问题想问通义千问?请在大胆留言。


作者:jnpfsoft
链接:https://juejin.cn/post/7220331340762677303
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

我把我的简历丢给chatGPT,他问了我这些问题

前言 chatGPT是openAI于2022年11月推出的人工智能聊天程序,chatGTP一经推出便火爆全网,通过一问一答且结合上下文的方式自动生成问题答案,作为前端开发工程师,我们可以使用chatGTP进行代码纠错,代码优化等一系列的代码调试,当然,作为一个...
继续阅读 »

前言


chatGPT是openAI于2022年11月推出的人工智能聊天程序,chatGTP一经推出便火爆全网,通过一问一答且结合上下文的方式自动生成问题答案,作为前端开发工程师,我们可以使用chatGTP进行代码纠错,代码优化等一系列的代码调试,当然,作为一个已经失业一个月的前端开发,我们还可以让chatGTP作为面试官,来对我们进行一次模拟面试。


向chatGPT提问


提问内容需要对它进行一个身份设定,它是一名前端开发的面试官。


image.png


然后将自己的简历复制一份,最好先整理一下格式,然后抛给它。


chatGPT返回的问题


根据我的简历他问了我以下几个问题:


面试官:尊敬的面试者,您的简历显示您具备丰富的前端开发经验,我们非常高兴能邀请您来参加面试。现在让我们开始探讨一些与您工作经历和技能相关的问题,期待您的精彩回答。



  1. 请详细阐述您在使用 HTML5、CSS3 和 ES6 新特性中的心得体会,以及如何在实际项目中应用这些新特性提升工作效率与用户体验。

  2. 闭包、原型和作用域等 JavaScript 基础知识在您的项目中发挥了什么作用?请结合实际项目案例,谈谈您如何运用这些知识解决实际问题。

  3. 在您的项目经历中,如何运用 Vue 全家桶以及 MVVM 思想来提升开发效率?请结合具体项目案例谈谈您的实践经验。

  4. 您曾尝试写过一个简单的 MVVM 框架,可以简要介绍下您的实现思路和遇到的挑战吗?

  5. 您在xxx问题的经验和方法值得我们借鉴,请详细介绍这个过程以及您对于类似问题的解决方案。

  6. 您如何运用 three.js 进行 3D 可视化开发?请举例说明您在项目中的具体应用。

  7. 您在项目中遇到过哪些让您印象深刻的技术挑战?您是如何克服这些挑战的?

  8. 请谈谈您对于前端开发中代码规范和项目管理的理解,以及您在实际工作中如何保证高质量的代码输出。

  9. 在您看来,一个优秀的前端开发者应具备哪些品质和技能?请结合您的实际经历分享一下。


期待您对这些问题的精彩回答。祝您面试顺利,前程似锦!


image.png


可以看出chatGTP的模拟面试其实更偏向于对项目方面进行模拟面试,而我要求面试中包含大量八股文,这个是没有给到的,我意识到它可能是无法理解“八股文”在前端开发面试中代表的意思,于是我又换了个说法提问它。


提示chatGPT提问八股文


你是一名前端开发工程师,请根据我的简历对我进行面试,面试主要面试常见的基础知识?


image.png


chatGPT面试官对于八股文的提问


面试官:你好,根据你的简历,我了解到你具备扎实的前端开发基础。在接下来的面试环节中,我将针对一些常见的前端基础知识进行提问。请放轻松,尽量展示你的技能和经验。



  1. 请谈谈你对HTML5和CSS3新特性的理解。你在实际项目中如何运用这些新特性?

  2. 请解释一下JavaScript中的闭包(closure),并给出一个闭包的应用场景。

  3. 请简述原型链(prototype chain)的概念,以及它在JavaScript中的应用。

  4. 在你的项目中,你是如何处理跨域请求的?

  5. 请谈谈你对前端性能优化的理解,以及在项目中采取了哪些措施来提升性能?

  6. 请解释一下Event Loop(事件循环)机制以及它在JavaScript中的作用。

  7. 你在实际项目中如何使用Vue全家桶(Vue-router、Vuex等)?请分享一下你的经验。

  8. 在你的项目中,你是如何处理浏览器兼容性问题的?

  9. 请解释一下HTTP缓存机制,以及如何在项目中利用HTTP缓存提高性能?

  10. 请谈谈你对响应式设计(Responsive Design)的理解以及如何在项目中实现响应式设计。


请根据这些问题,尽量详细地展示你的知识和实际经验。如果对某个问题不太了解,也可以跳过,我们会综合评估你的技能。祝你面试顺利!


或许这些八股文还不够,可以要求它提问更多八股文


你是一名前端开发工程师,请根据我的简历对我进行面试,面试请提供更多面试常见的基础知识问题


image.png


chatGPT再次提问八股文


面试官:你好,根据你的简历,我了解到你具备扎实的前端开发基础。在接下来的面试环节中,我将针对一些更多的前端基础知识进行提问。请放轻松,尽量展示你的技能和经验。



  1. 请解释一下HTML语义化的概念及其优点。

  2. 请描述CSS盒模型(Box Model)的组成部分以及在布局中的作用。

  3. 请简要介绍一下Flex布局和Grid布局,以及它们各自的应用场景。

  4. 在JavaScript中,谈谈你对作用域和作用域链的理解。

  5. 请解释一下JavaScript的同步和异步,以及如何使用Promise、async/await处理异步操作。

  6. 请谈谈你对Vue的生命周期钩子函数的理解以及常见的应用场景。

  7. 请描述一下Vue中的计算属性(computed property)和侦听属性(watch property)以及它们的区别和应用场景。

  8. 在你的项目中,你是如何使用Webpack进行模块化打包和优化的?

  9. 请解释一下浏览器的渲染机制以及如何利用这一知识进行页面性能优化。

  10. 在项目中,你是如何进行前端安全防范,例如防止XSS攻击和CSRF攻击的?

  11. 请谈谈你对前端单元测试的理解,以及在项目中如何进行单元测试。

  12. 请解释一下前端MVC和MVVM设计模式的概念及其区别。

  13. 请谈谈你对前端性能监控和数据埋点的理解以及在项目中的应用。

  14. 请简要介绍一下如何在项目中实现前后端分离以及它带来的好处。

  15. 请谈谈你对Web Accessibility(网络无障碍)的理解以及如何在项目中实现无障碍访问。


请根据这些问题,尽量详细地展示你的知识和实际经验。如果对某个问题不太了解,也可以跳过,我们会综合评估你的技能。祝你面试顺利!


image.png


关于此次模拟面试提问的总结


这样我们此次模拟面试就获得了9条关于项目的问题,和25条关于基础的问题,细看这几个问题都是明显贴合我的简历所问的问题,大部分面试官都是会针对简历进行面试,所以根据自己的简历整理可能提到的问题是非常重要的,而关于项目方面提出的问题,与我进行大厂模拟面试所遇到的问题更为相像。通过chatGPT进行模拟面试,算得上是一场挺有质量的面试了。


尝试回答部分chatGPT模拟面试提出的问题


1. 请谈谈你对HTML5和CSS3新特性的理解。你在实际项目中如何运用这些新特性?


HTML5新出了许多语义化标签(nav,header,main等)和API(canvas,webGL),语义化标签优点在于提高代码可读性和可维护性,有利于搜索引擎更容易读懂(seo),有些特殊的屏幕阅读器可以通过分析语义化标签进行展示(比如盲人阅读器)。CSS3新出了圆角,阴影,过渡,动画,弹性布局等使创造复杂样式和交互变得更简单,也使我们可以更快的去完成页面样式。


2. 请解释一下JavaScript中的闭包(closure),并给出一个闭包的应用场景。


闭包是指函数有权访问其作用域以外的变量,这就叫闭包,闭包有两种表现形式,一种是函数作为参数传递,一种是函数作为返回值,闭包的应用场景有防抖节流函数、setTimeout、封装私有变量。闭包的缺点在于,其访问的变量不会被回收(会一直占用内存),所以会造成内存泄漏。


3. 请简述原型链(prototype chain)的概念,以及它在JavaScript中的应用。


原型链是js的一种继承方式,每个对象都有自己的__proto__属性指向其构造函数的prototype属性,当对象调用某个方法且对象里并没有定义这个方法时就会通过__proto__去寻找这个方法,如果其__proto__没有就会顺着其__proto__的__proto__就是顺着其原型链去寻找方法直到null。


4. 在你的项目中,你是如何处理跨域请求的?


因为浏览器的同源策略(ip,端口,协议需要一致),我们跨域请求的时候会出现跨域问题,
在开发环境中,我使用代理服务器(如vue.config.js中的proxy配置)解决跨域问题。在生产环境中,我是用nginx的代理解决跨域问题。
当然也可以让后端在服务器端设置响应头,允许跨域请求。或者是用websocket,websocket没有跨域问题。


5. 请谈谈你对前端性能优化的理解,以及在项目中采取了哪些措施来提升性能?


前端性能优化分为两类,一种是让文件加载更快,另一种是让文件渲染更快。


加载更快的方法



  • 让传输的数据包更小(压缩文件/图片):图片压缩和文件压缩

  • 减少网络请求的次数:雪碧图/精灵图、节流防抖

  • 减少渲染的次数:缓存(HTTP缓存、本地缓存、Vue的keep-alive缓存等)

  • 使用CDN:利用内容分发网络(Content Delivery Network)加速静态资源的加载速度,将资源部署到离用户更近的服务器


文件渲染更快的方法



  • 提前渲染:ssr服务器端渲染

  • 避免渲染阻塞:CSS放在HTML的head中 JS放在HTML的body底部

  • 避免无用渲染:懒加载

  • 减少渲染次数:对dom查询进行缓存、将dom操作合并、减少重排重绘


6. 请解释一下Event Loop(事件循环)机制以及它在JavaScript中的作用。


Event Loop是js实现异步的一种机制,它让js这个单线程语言可以实现并发操作。JavaScript引擎在执行栈为空时,会从任务队列中取出任务执行;任务队列有两类。



  • 宏任务:包括script(整个代码)、setTimeout、setInterval、setImmediate和I/O等。

  • 微任务:Promise、process.nextTick等


先执行宏任务再执行微任务


7. 你在实际项目中如何使用Vue全家桶(Vue-router、Vuex等)?请分享一下你的经验


我通过vue-router进行路由管理,通过Vuex管理全局状态,我会对路由进行懒加载,通过ES6的import,当然也可以用vue的动态组件,Vuex的核心包括state、getter、mutation和action,通过mutation去更改state的值,要注意异步操作只能放在action里。


8. 在你的项目中,你是如何处理浏览器兼容性问题的?


处理浏览器兼容性问题,我会使用autoprefixer自动添加CSS前缀,使用Babel转译新语法,使用Polyfill补充缺失功能,并针对特定浏览器进行特殊处理。


9. 请解释一下HTTP缓存机制,以及如何在项目中利用HTTP缓存提高性能?


http缓存包括强缓存和协商缓存



  • 强缓存:浏览器自己的缓存策略


强缓存是通过Cache-Control字段来控制的,值有max-age(缓存的最大时间)、no-cache(无需强制缓存)、no-store(服务端直接返回)



  • 协商缓存: 由服务器判断资源是否一样,一致则返回304,否则返回200和最新资源


判断资源是否一致,这主要通过Last-Modified/If-Modified-Since和ETag/If-None-Match头部字段实现。
Last-Modified:资源最后修改时间。
If-Modified-Since:客户端下次请求相同资源时,会发送该字段,值为上次收到的Last-Modified的值。
ETag: 资源的唯一标识
If-None-Match: 客户端下次请求相同资源时,会发送该字段,值为上次收到的ETag值。


10. 请谈谈你对响应式设计(Responsive Design)的理解以及如何在项目中实现响应式设计。


响应式设计就是指让网站在不同设备下实现自适应展示,实现响应式设计有以下几种方法



  • 不使用固定单位使用相对单位,如百分比,rem,vw/vh等

  • 尽可能的使用弹性布局

  • 媒体查询:针对不同的屏幕尺寸,修改对应的css


11. 在JavaScript中,谈谈你对作用域和作用域链的理解。


作用域是指变量和函数的可访问的上下文,就是其作用域,作用域链是由指变量或函数查找时先从当前的执行上下文往其夫级的上下文寻找,直到最外层的window。


12. 请解释一下JavaScript的同步和异步,以及如何使用Promise、async/await处理异步操作。


js是一个单线程语言,所以会同步执行代码,为了防止代码阻塞,通过时间循环机制实现了代码异步处理,当同步代码都执行完毕之后,再去执行异步代码,常见的异步代码有网络请求、alert、setTimeout等,promise是异步的解决方案,它解决了之前通过回调函数实现异步而产生的回调地狱的问题,promise有三种状态,pendding、reject、fulfilled,只能从pedding到其他状态,且过程不可逆,async和await是基于promise实现的,它是为了让异步代码看起来像同步代码,使代码更容易阅读和维护。


13. 请谈谈你对Vue的生命周期钩子函数的理解以及常见的应用场景。


vue的组件的生命周期包括组件创建、组件挂载、组件更新、组件销毁,从中产生了生命周期钩子函数。
vue2中包括 beforeCreate、created、beforeMounte、Mouted、beforeUpadte、updated、beforeDestory、destroyed,如果组件使用了keep-alive进行缓存的话,还会有active、deactive。


vue3中的生命周期包括setup,onBeforeMount、onMounted、onBeforeUpdate,onUpdatedon、onBeforeUnmount、onUnmounted。


mouted(onMounted)钩子函数可以做一些关于dom的操作,beforeDestroy(BeforeUnmount)在此阶段可以执行清理工作,如移除事件监听器、取消计时器等。


14. 请描述一下Vue中的计算属性(computed property)和侦听属性(watch property)以及它们的区别和应用场景。


计算属性是依赖其他属性变化得出结果,而侦听属性是针对数据变化而触发操作,计算属性具有缓存机制。


15. 请谈谈您对于前端开发中代码规范和项目管理的理解,以及您在实际工作中如何保证高质量的代码输出。


前端代码规范和项目管理在前端开发中非常重要,他可以保证代码风格一致,提高代码可读性,提高项目可维护性和团队协作效率。


在实际工作中我使用如下内容保证高质量的代码输出。



  • 统一的编码风格:用代码风格指南和自动化工具(如ESLint、Prettier等)

  • 使用版本控制系统: 通过git来管理代码

  • 注释和文档: 编写清晰明了的readme.md

  • Code Review: 团队成员对代码进行代码审查


总结


本次面试,各位面试官满意吗?如有什么错误欢迎大佬们评论区反馈纠正。


作者:三三两两的小久
来源:juejin.cn/post/7220274775914037285
收起阅读 »

为什么ChatGPT不是中国搞出来的?

无论是2022年11月30日上线的ChatGPT,还是最近 OpenAI 正式发布的迄今为止规模最大、功能最强悍的多模态预训练模型 GPT-4,都着实让普罗大众感受到了AI人工智能的强大威力,宣告了强人工智能时代的到来。在这场人工智能引发的破圈热闹之下,我们不...
继续阅读 »

无论是2022年11月30日上线的ChatGPT,还是最近 OpenAI 正式发布的迄今为止规模最大、功能最强悍的多模态预训练模型 GPT-4,都着实让普罗大众感受到了AI人工智能的强大威力,宣告了强人工智能时代的到来。在这场人工智能引发的破圈热闹之下,我们不免要进一步深入思考一个问题,为什么这么多年过去了,引领产业技术革命的依然是美国而不是中国?


2021年,中国以全球AI顶级会发表的论文数27.6%的比例高居榜首,而欧盟和英国以19.0%紧随其后,美国以16.9%位居第3。无论AI人工智能论文发表量还是专利申请量,中国在全世界范围内都名列前茅,那么按道理来说中国在AI人工智能领域的研究既广泛又深入,像ChatGPT这样具有里程碑意义的人工智能应用应该在中国诞生才对。虽然说自然语言理解和生成是人工智能研究领域的一座高峰,想要攀登和征服就需要持续不断地高质量资源投入,而阿里达摩院、华为以及清华大学等研究机构也在做类似的事情。不过很遗憾,最终还是美国的OpenAI率先发布了强大的ChatGPT。今天我们试图客观的分析下是什么原因造成了我们没有成为新一代技术革命的发起人,以后我们应该怎么做才能成为未来技术的引领者而不是跟随者。



原因分析


也许是因为过去中国二十年互联网的蓬勃发展,国内一些互联网巨头公司的市值可以在国际上和美国的互联网公司掰手腕了,让我们产生了不少的错觉,误以为在技术上我们也可以和美国一较高下了,但是事实真的如此吗?


相信大家在新闻中经常可以看到,这几年为了遏制中国发展,美国政府不断向中国高科技行业挥舞制裁大棒。比如向中国华为公司实施技术封锁,以国家安全为由,禁止美国公司向华为出售技术和设备。一时间中国的高端芯片行业哀鸿遍野,遭遇技术卡脖子危机。我们在感叹美国政府无耻的同时,也为自身没有预先布局底层技术研究以及体系构建而感到扼腕叹息。这次OpenAI发布的ChatGPT以及GPT4又给我们上了一课,越来越多的人认识到中国和美国的技术差距何止高端芯片,前沿的人工智能技术、强大的算力网络等等诸多高新技术方面都和美国有不小的差距。美国政府打压中国高科技行业发展这一巴掌,终于把一些还对美国抱有幻想的技术人彻底打醒,无论高端芯片还是前沿人工智能等核心技术买不来也求不来,只能靠自己一步一个脚印地走出来。当然这也坚定了我们和美国有关的技术类别必须全部实现国产化替代的决心。


过度关注商业模式,忽视底层技术研究


在过去的20年当中,中国互联网行业处在高速发展阶段,据CNNIC(中国互联网络信息中心)报告,截至2022年12月,我国网民规模达10.67亿。随着互联网在线人数的持续攀升,各种各样形态的商业模式在这片热土上不断得以验证以及发展壮大。移动支付、电商物流、外卖打车、短视频等商业形态深刻改变了老百姓的日常生活方式,为大家带来了极大的生活便利以及娱乐消遣,同时也提升了整个社会的效率。但与此同时,各大互联网公司好像都沉浸在如何发展新商业模式以及维护已有商业格局的怪圈中不可自拔,几乎所有的精力都放在业务内卷上。因此投入底层技术研究的时间和资源相对就会被挤压甚至是完全没有,最终导致被别人技术卡脖子的概率大大提升,同时能够产生颠覆性创新技术的可能性却大大降低。


对比中美两国技术发展路线,我们可以发现一个有意思的现象。在中国,技术的发展大都是围绕业务进行,也就是说当一个业务模式被推出来之后,如果想要支撑这样的业务规模就需要发展什么样的技术,那就研究和发展什么技术,通过商业模式的创新、业务的发展推动技术向前发展演进。



但是美国好像正好相反,常常是一项技术的发展进步反向催生出新的商业形态。就拿推出ChatGPT的OpenAI公司来说,它原本就是一个非营利性的技术组织,集结了AI人工智能界的各路大佬,初衷就是让人工智能向着友好的方向发展,核心宗旨在于“实现安全的通用人工智能(AGI)”,使其有益于人类。GPT模型经过不断的迭代升级最终搞出来了ChatGPT,有望成为未来人工智能应用技术的基础底座,因此未来可能将会有海量的上层应用都是基于ChatGPT来进行构建,可以毫不夸张地说,ChatGPT或者说通用大模型也许就是人工智能领域的操作系统,将来会诞生多少新的的商业模式以及业务形态不可估量,这种技术革命是自下而上的颠覆性创新将会对未来的产业形态产生深远的影响。



而我们太关注上层应用商业模式的创新了,从而忽略了底层技术的研究。我们仿佛在一次又一次的电商大促、一次又一次的短视频娱乐中逐渐迷失了方向,表面上的热闹掩盖不了底层核心技术的匮乏。其实想想就背后发凉,当下无论是互联网技术、人工智能技术等前沿技术好像都是建立在别人的技术底座之上的。那些曾经我们引以为豪的移动支付、电商物流等等不过是这些底层技术的上层应用而已。如果被人家釜底抽薪,那真的就玩不转了。所以底层技术真的非常重要,可以说没有底层技术的支撑,所有上层的应用都是空中楼阁。


缺乏长期主义


也许是国内竞争压力太大了,无论是个人还是公司,都恨不得今天投进去资金,明天就能看到结果和收益。如果在短期看不到收益的项目,一般公司实际上很难有持续的资源投入,更别提看不到明确回报周期的基础技术研究了。浮躁的氛围,层出不穷的技术噱头,表面上的热热闹闹,只会让大家都热衷于赶时髦追风口,却没有多少人能真正静下心来进行长期的技术研究。又有多少公司可以有马老师那样的魄力和实力每年10个亿连投10年,最终投出来个阿里云。


说到这里,不知道大家还记不记得区块链、VR、元宇宙这些科技名词,一开始出现的时候受到了极大的关注和资本的热烈追捧。但是当热头过去之后,现在又有多少公司还在不断地进行产品迭代,不断地进行技术深度优化研究呢?不能说完全没有但绝对是寥寥无几,与其说是他们追捧高新技术,不如说他们追捧的是如何快速赚钱的工具。至于到底是VR、元宇宙还是ChatGPT其实都无所谓,对他们来说其实就是个技术名称而已。


但是实际上无论是ChatGPT还是GPT4这样的人工智能应用,都不是横空出世的,它们都是在GPT、GPT2以及GPT3基础上逐步迭代发展而来的,这其中耗费了多少顶尖人工智能专家长期坚持的心血以及大量资金的持续投入。OpenAI在获得微软投资之前的三四年里烧掉将近1亿美元,才搞出来一个以GPT第一代模型为基础的雏形,当时还远远达不到ChatGPT今天的效果。基础技术研究不是一朝一夕就能完成的事情,它需要不断的试错,需要对未来技术发展趋势的独到眼光,更加需要长期主义的坚持。不过让我们感到欣慰的是,阿里巴巴、华为在技术研究上的投入已经每年超过1000亿,相信在不远的将来一定会有新的技术突破出现。


缺乏技术体系支撑


就好比高端芯片制造,其中涉及芯片设计、芯片制造以及封装测试都是一整套复杂的工艺缺一不可。同样通用大模型也是一个复杂的系统工程,而通用大模型的训练离不开海量的高质量训练数据、优秀的深度学习算法以及强大的算力资源支撑。ChatGPT的成功得益于高质量的标注数据,OpenAI为了获得高质量的训练数据雇佣了超过40家承包商进行数据标注,这在国内几乎是不敢想象的事情。另外以ChatGPT在2023年1月的独立访客平均数1300万计算,其对应芯片需求为3万多片英伟达A100 GPU,如果没有庞大的算力支撑,很难训练出高质量的通用大模型。


也就是说,通用大模型的训练需要一个完整的人工智能技术体系来进行支撑,否则即便有先进的算法,但如何获得高质量的训练数据,到哪里去找庞大的训练算力资源,这些都是摆在通用大模型训练面前必须要解决的问题,否则没有高质量的数据以及算力支撑也是巧妇难为无米之炊。


如何破局


通用大模型是未来人工智能的重要发展方向,我们肯定要加大资源投入力度才能有机会在未来人工智能前沿技术的竞争中占有一席之地。那我们应该怎么做才能破局呢?我想可以从以下几个方面入手。


数据方面


虽然当前中文在线联网数据也算是海量,但是数据质量普遍不高,同时数据孤岛问题比较严重。如果我们想基于中文数据来训练通用大模型,就必须对中文在线数据进行治理提高中文在线数据质量,解决数据孤岛问题,推动实现数据的共享和互联互通。


算力建设方面


结合国家东数西算工程,协调各个区域的算力中心,形成全国通用算力基础设施,加快构建国家级一体化新型算力网络体系,为通用大模型训练提供源源不断的强大算力支撑。只有这样,才能满足大模型训练所需要的算力要求,同时为强人工智能时代的到来做好算力资源储备。



意识方面


和别人的技术差距,我们当然要尽力弥补。不过我们需要注意的是我们在进步,别人也在进步,所以我们光追赶别人不行,还要有更加长远的眼光,要有对于未来准确的判断力,进行提前技术验证以及产业布局,为下一次技术革命做准备,真正成为未来技术发展的引领者而不是追随者。


总结


科技的发展进步不是一朝一夕就能实现的,它可能需要一代又一代技术人员孜孜不倦地追求。虽然我们在很多领域都已经取得了长足的进步,但是同时我们也要清醒地认识到,在计算机领域、互联网技术领域以及人工智能技术领域我们还有不小的差距需要弥补。因此少一点网红、明星的曝光,多一点科技工作者勤恳务实地宣传,努力营造技术为先、科技为先的社会氛围才是未来科技行业蓬勃发展的社会环境基础。我相信如果我们可以少一点浮躁,多一点纯粹,也许下一次的科技革命就是在中国这片土地上诞生。最后和大家分享下马老师曾经说过的一段话,我觉得对我们当下思考未来技术发展非常有帮助。



我一直觉得填补空白这句话是有问题的,不是因为欧美的就是先进的,就是我们要去填补的。其实今天我们不应该要和哪个东西接轨,适应哪国的标准,填补哪个空白,今天我们要思考的是怎么和未来接轨,怎么适应未来的标准,怎么弥补未来的空白,我们要想明白未来是如何的,以及自己到底要做成一个什么样的体系,然后再去看看别人怎么做,如果永远重复别人的语言,讨论别人设定的主题,我们不但会迷失现在,而且会错失未来。


作者:慕枫技术笔记
链接:https://juejin.cn/post/7218048201981935677
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

一个令人惊艳的ChatGPT项目,开源了!

最近在GitHub上发现了一个爆火的开源项目。 好家伙,凑近一看,居然还是由微软开源,并且和最近炙手可热的ChatGPT息息相关。 项目的名字叫做:Visual ChatGPT。 github.com/microsoft/v… 这个项目最早是3月上旬微软...
继续阅读 »

最近在GitHub上发现了一个爆火的开源项目。


好家伙,凑近一看,居然还是由微软开源,并且和最近炙手可热的ChatGPT息息相关


项目的名字叫做:Visual ChatGPT



github.com/microsoft/v…




这个项目最早是3月上旬微软开源的,项目宣布开源后仅用了短短一周,就斩获了2w+ star。



到现在为止,距离当初项目开源大约过去了3周多,仓库star数则来到了28k+,亦可谓是火箭式上涨(doge)。


众所周知,ChatGPT自2022年11月推出以来,持续走红。



ChatGPT具备强大的会话能力,可以理解文字、聊天、写小说、解答问题、编写代码... 但是目前还并不能直接处理或生成图像。


而Visual ChatGPT这个项目则可以把ChatGPT和一系列视觉基础模型(VFM,Visual Foundation Model)给联系起来,以便实现在ChatGPT聊天的过程中来发送和接收图像,也使得ChatGPT能够处理更为复杂的视觉任务。



讲白了,就是通过Visual ChatGPT,可以把一系列视觉基础模型给接入ChatGPT,使得ChatGPT能胜任更为复杂的视觉处理任务。



Visual ChatGPT的整体技术架构图如上所示,我们可以清楚地看到ChatGPT和视觉基础模型(VFM,Visual Foundation Model)分别位于其中的位置。


一方面,ChatGPT(或LLM)作为一个通用接口,继续发挥它本身的优势,提供对不同话题的智能理解。另一方面,基础视觉模型VFM则通过提供特定领域的深入知识来充当领域专家,它们通过交互管理模块(Prompt Manger)进行连接和适配。


这样聊可能比较抽象,我们可以拿官方给的一个例子来进行说明:



1、首先是用户:输入一张黄色的向日葵图片,并且要求ChatGPT根据该图像预测深度来生成一朵红花,然后再一步一步将其做成卡通画。


2、接着是交互管理模块(Prompt Manger)发挥作用,在它的协调和控制下,VFM模块开始发挥作用:



  • 首先需要运用深度估计模型来预测并生成图像的深度信息;

  • 然后需要运用深度图像模型来生成对应空间深度的红花图像;

  • 最后运用Stable Diffusion的风格迁移模型来完成图像风格的变换。


3、最后Visual ChatGPT系统再将最终结果返回给用户,完成本次对话。


说到这里,有兴趣的小伙伴可以可以看看微软给出的一篇有关Visual ChatGPT的论文。



里面关于这部分的流程解释得非常详细,而且还给出了多轮对话的案例、以及实验结果,有兴趣的小伙伴可以看看。


好了,今天的分享就到这里了,感谢大家的收看,我们下篇见。


作者:CodeSheep
链接:https://juejin.cn/post/7217851001087230013
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

阿里版ChatGPT:通义千问pk文心一言

随着 ChatGPT 热潮卷起来,百度发布了文心一言、Google 发布了 Bard,「阿里云」官方终于也宣布了,旗下的 AI 大模型“通义千问”正式开启测试! 申请地址:tongyi.aliyun.com/ 阿里云的 Ai 模型名为“通义千问”,由达摩院开...
继续阅读 »

随着 ChatGPT 热潮卷起来,百度发布了文心一言、Google 发布了 Bard,「阿里云」官方终于也宣布了,旗下的 AI 大模型“通义千问”正式开启测试!



申请地址:tongyi.aliyun.com/


阿里云的 Ai 模型名为“通义千问”,由达摩院开发,也是一款 NLP 大语言模型,主要能力也是专注在文本生成,可以做到跟 ChatGPT 类似的“你问我答”。


获得测试申请邀请码方法:



  • 注册一个阿里云帐号 (注册按钮在页面右上角)

  • 前往「通义千问」官网 tongyi.aliyun.com/

  • 填写「企业邮箱」进行报名预约,等待审核


官网宣称只邀请企业进行测试,但只要用户在报名时「使用企业邮箱」,并随便填写一个公司的名称信息即可。


 


通义千问pk文心一言


拿到测试邀请码以后,我第一时间试用了一下,并且和百度的文心一言做了对比。


为什么不直接对比ChatGPT,因为我的ChatGPT账号已经被封了哈哈。



 


 


提问:通义千问和文心一言谁更厉害?



 


 


 



 


 


 


 


提问:李明是李丽的哥哥,刘云是李丽的妈妈,李明是刘云的谁?



 


 


 



 


 


 


 


提问:通义千问没有AI绘画功能:


 



 


 



 


 


根据官网描述,通义千问是一个能专门响应人类指令的大模型,可以是一名效率助手,也可以是点子生成器。


可以非常方便地帮我们写作、写文案、翻译、解答问题等工作,支持上下文关联理解。其中官方表示比较出色的地方在于撰写文案,经测试,当说要它写一篇语文老师要求的“总分总”结构的文章它也能听得懂。


国产版ChagtGPT通义千问和文心一言,最后谁能胜出,你怎么看?


作者:邴越
链接:https://juejin.cn/post/7219925045228453946
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

调教ChatGPT提取公众号封面

牙叔教程 简单易懂 我抱着调教的心, 被ChatGPT调教了, 😭, 看看我是怎么被ChatGPT调教的 提取公众号prompt prompt就是提示语, ChatGPT会根据提示语做事情,  提取封面的提示语是: 用Node.js提取微信公众号封面的url...
继续阅读 »

牙叔教程 简单易懂


我抱着调教的心, 被ChatGPT调教了, 😭,


看看我是怎么被ChatGPT调教的




提取公众号prompt


prompt就是提示语, ChatGPT会根据提示语做事情, 


提取封面的提示语是: 用Node.js提取微信公众号封面的url


效果


每次登录ChatGPT太麻烦了, 还怕浏览器随时获取IP, 被openai审查, 所以自己写了个网页调用api,


想要网页的老铁, 公众号回复 api网页


用api网页可以降低封号概率, 我这个号可一次都没被封过



截图看不清楚, 我贴上文字;


只有第一行是我的, 其他的都是ChatGPT回复的内容


用Node.js提取微信公众号封面的url
要提取微信公众号封面的URL,可以使用Node.js和request模块来发送HTTP请求并解析返回的HTML页面。以下是一个示例代码:

```javascript
const request = require('request');
const cheerio = require('cheerio');

const url = 'https://mp.weixin.qq.com/s/xxxxxxxxxxxxxx'; // 公众号文章链接

request(url, function (error, response, body) {
if (!error && response.statusCode == 200) {
const $ = cheerio.load(body);
const coverUrl = $('meta[property="og:image"]').attr('content');
console.log(coverUrl);
}
});
```

在这个示例中,我们首先使用request模块发送HTTP请求,并在回调函数中处理响应。然后,我们使用cheerio模块解析返回的HTML页面,并使用jQuery样式的语法来获取页面中的元素。在这个例子中,我们使用`$('meta[property="og:image"]')`来获取页面中的`<meta>`标签,然后使用`.attr('content')`来获取`content`属性的值,即公众号封面的URL。最后,我们将URL打印到控制台中。

需要注意的是,这个示例只能提取公众号文章页面中的封面URL,而不能直接提取公众号的封面URL。如果要提取公众号的封面URL,可以参考以下代码:

```javascript
const request = require('request');
const cheerio = require('cheerio');

const url = 'https://mp.weixin.qq.com/profile?src=3&timestamp=1631955330&ver=2&signature=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'; // 公众号主页链接

request(url, function (error, response, body) {
if (!error && response.statusCode == 200) {
const $ = cheerio.load(body);
const coverUrl = $('.profile_header .avatar img').attr('src');
console.log(coverUrl);
}
});
```

在这个示例中,我们首先发送HTTP请求,然后使用cheerio模块解析返回的HTML页面。我们使用`.profile_header .avatar img`来获取公众号主页中的头像图片元素,然后使用`.attr('src')`来获取`src`属性的值,即公众号的封面URL。最后,我们将URL打印到控制台中。

先试试第一段代码


const request = require('request');
const cheerio = require('cheerio');

const url = 'https://mp.weixin.qq.com/s/tcorJxJBWoF0yOUHOypuQw'

request(url, function (error, response, body) {
if (!error && response.statusCode == 200) {
const $ = cheerio.load(body);
const coverUrl = $('meta[property="og:image"]').attr('content');
console.log(coverUrl);
}
});

运行以后获取到的封面图片链接


$ node 1
https://mmbiz.qpic.cn/mmbiz_jpg/n3RS3ib3lbz9krBGCZ6jkE6xROetdnyvlPEl6wmoh27gIwaKTe7EuaV7lKgsQ69uXXnVpXnXzNSKc0oG8CdSf7g/0?wx_fmt=jpeg

node 1 的意思


代码是nodejs执行的, 1是文件名1.js


链接正确吗


正确到姥姥家了, 我滴个妈呀, 我就只说了一句话, ChatGPT把事情给我办的, 妥妥当当的


提取到的封面图



还想调教ChatGPT


调教个锤子哦, 一发就中, 饭碗不保了, 兄弟们


用不了GPT怎么办?


可以用 谷歌的Bard


也可以用 微软的NewBing


微信公众号 牙叔教程


作者:牙叔教程
来源:juejin.cn/post/7219599208608284730
收起阅读 »

为什么ChatGPT不是中国搞出来的?

无论是2022年11月30日上线的ChatGPT,还是最近 OpenAI 正式发布的迄今为止规模最大、功能最强悍的多模态预训练模型 GPT-4,都着实让普罗大众感受到了AI人工智能的强大威力,宣告了强人工智能时代的到来。在这场人工智能引发的破圈热闹之下,我们不...
继续阅读 »

无论是2022年11月30日上线的ChatGPT,还是最近 OpenAI 正式发布的迄今为止规模最大、功能最强悍的多模态预训练模型 GPT-4,都着实让普罗大众感受到了AI人工智能的强大威力,宣告了强人工智能时代的到来。在这场人工智能引发的破圈热闹之下,我们不免要进一步深入思考一个问题,为什么这么多年过去了,引领产业技术革命的依然是美国而不是中国?


2021年,中国以全球AI顶级会发表的论文数27.6%的比例高居榜首,而欧盟和英国以19.0%紧随其后,美国以16.9%位居第3。无论AI人工智能论文发表量还是专利申请量,中国在全世界范围内都名列前茅,那么按道理来说中国在AI人工智能领域的研究既广泛又深入,像ChatGPT这样具有里程碑意义的人工智能应用应该在中国诞生才对。虽然说自然语言理解和生成是人工智能研究领域的一座高峰,想要攀登和征服就需要持续不断地高质量资源投入,而阿里达摩院、华为以及清华大学等研究机构也在做类似的事情。不过很遗憾,最终还是美国的OpenAI率先发布了强大的ChatGPT。今天我们试图客观的分析下是什么原因造成了我们没有成为新一代技术革命的发起人,以后我们应该怎么做才能成为未来技术的引领者而不是跟随者。



原因分析


也许是因为过去中国二十年互联网的蓬勃发展,国内一些互联网巨头公司的市值可以在国际上和美国的互联网公司掰手腕了,让我们产生了不少的错觉,误以为在技术上我们也可以和美国一较高下了,但是事实真的如此吗?


相信大家在新闻中经常可以看到,这几年为了遏制中国发展,美国政府不断向中国高科技行业挥舞制裁大棒。比如向中国华为公司实施技术封锁,以国家安全为由,禁止美国公司向华为出售技术和设备。一时间中国的高端芯片行业哀鸿遍野,遭遇技术卡脖子危机。我们在感叹美国政府无耻的同时,也为自身没有预先布局底层技术研究以及体系构建而感到扼腕叹息。这次OpenAI发布的ChatGPT以及GPT4又给我们上了一课,越来越多的人认识到中国和美国的技术差距何止高端芯片,前沿的人工智能技术、强大的算力网络等等诸多高新技术方面都和美国有不小的差距。美国政府打压中国高科技行业发展这一巴掌,终于把一些还对美国抱有幻想的技术人彻底打醒,无论高端芯片还是前沿人工智能等核心技术买不来也求不来,只能靠自己一步一个脚印地走出来。当然这也坚定了我们和美国有关的技术类别必须全部实现国产化替代的决心。


过度关注商业模式,忽视底层技术研究


在过去的20年当中,中国互联网行业处在高速发展阶段,据CNNIC(中国互联网络信息中心)报告,截至2022年12月,我国网民规模达10.67亿。随着互联网在线人数的持续攀升,各种各样形态的商业模式在这片热土上不断得以验证以及发展壮大。移动支付、电商物流、外卖打车、短视频等商业形态深刻改变了老百姓的日常生活方式,为大家带来了极大的生活便利以及娱乐消遣,同时也提升了整个社会的效率。但与此同时,各大互联网公司好像都沉浸在如何发展新商业模式以及维护已有商业格局的怪圈中不可自拔,几乎所有的精力都放在业务内卷上。因此投入底层技术研究的时间和资源相对就会被挤压甚至是完全没有,最终导致被别人技术卡脖子的概率大大提升,同时能够产生颠覆性创新技术的可能性却大大降低。


对比中美两国技术发展路线,我们可以发现一个有意思的现象。在中国,技术的发展大都是围绕业务进行,也就是说当一个业务模式被推出来之后,如果想要支撑这样的业务规模就需要发展什么样的技术,那就研究和发展什么技术,通过商业模式的创新、业务的发展推动技术向前发展演进。



但是美国好像正好相反,常常是一项技术的发展进步反向催生出新的商业形态。就拿推出ChatGPT的OpenAI公司来说,它原本就是一个非营利性的技术组织,集结了AI人工智能界的各路大佬,初衷就是让人工智能向着友好的方向发展,核心宗旨在于“实现安全的通用人工智能(AGI)”,使其有益于人类。GPT模型经过不断的迭代升级最终搞出来了ChatGPT,有望成为未来人工智能应用技术的基础底座,因此未来可能将会有海量的上层应用都是基于ChatGPT来进行构建,可以毫不夸张地说,ChatGPT或者说通用大模型也许就是人工智能领域的操作系统,将来会诞生多少新的的商业模式以及业务形态不可估量,这种技术革命是自下而上的颠覆性创新将会对未来的产业形态产生深远的影响。



而我们太关注上层应用商业模式的创新了,从而忽略了底层技术的研究。我们仿佛在一次又一次的电商大促、一次又一次的短视频娱乐中逐渐迷失了方向,表面上的热闹掩盖不了底层核心技术的匮乏。其实想想就背后发凉,当下无论是互联网技术、人工智能技术等前沿技术好像都是建立在别人的技术底座之上的。那些曾经我们引以为豪的移动支付、电商物流等等不过是这些底层技术的上层应用而已。如果被人家釜底抽薪,那真的就玩不转了。所以底层技术真的非常重要,可以说没有底层技术的支撑,所有上层的应用都是空中楼阁。


缺乏长期主义


也许是国内竞争压力太大了,无论是个人还是公司,都恨不得今天投进去资金,明天就能看到结果和收益。如果在短期看不到收益的项目,一般公司实际上很难有持续的资源投入,更别提看不到明确回报周期的基础技术研究了。浮躁的氛围,层出不穷的技术噱头,表面上的热热闹闹,只会让大家都热衷于赶时髦追风口,却没有多少人能真正静下心来进行长期的技术研究。又有多少公司可以有马老师那样的魄力和实力每年10个亿连投10年,最终投出来个阿里云。


说到这里,不知道大家还记不记得区块链、VR、元宇宙这些科技名词,一开始出现的时候受到了极大的关注和资本的热烈追捧。但是当热头过去之后,现在又有多少公司还在不断地进行产品迭代,不断地进行技术深度优化研究呢?不能说完全没有但绝对是寥寥无几,与其说是他们追捧高新技术,不如说他们追捧的是如何快速赚钱的工具。至于到底是VR、元宇宙还是ChatGPT其实都无所谓,对他们来说其实就是个技术名称而已。


但是实际上无论是ChatGPT还是GPT4这样的人工智能应用,都不是横空出世的,它们都是在GPT、GPT2以及GPT3基础上逐步迭代发展而来的,这其中耗费了多少顶尖人工智能专家长期坚持的心血以及大量资金的持续投入。OpenAI在获得微软投资之前的三四年里烧掉将近1亿美元,才搞出来一个以GPT第一代模型为基础的雏形,当时还远远达不到ChatGPT今天的效果。基础技术研究不是一朝一夕就能完成的事情,它需要不断的试错,需要对未来技术发展趋势的独到眼光,更加需要长期主义的坚持。不过让我们感到欣慰的是,阿里巴巴、华为在技术研究上的投入已经每年超过1000亿,相信在不远的将来一定会有新的技术突破出现。


缺乏技术体系支撑


就好比高端芯片制造,其中涉及芯片设计、芯片制造以及封装测试都是一整套复杂的工艺缺一不可。同样通用大模型也是一个复杂的系统工程,而通用大模型的训练离不开海量的高质量训练数据、优秀的深度学习算法以及强大的算力资源支撑。ChatGPT的成功得益于高质量的标注数据,OpenAI为了获得高质量的训练数据雇佣了超过40家承包商进行数据标注,这在国内几乎是不敢想象的事情。另外以ChatGPT在2023年1月的独立访客平均数1300万计算,其对应芯片需求为3万多片英伟达A100 GPU,如果没有庞大的算力支撑,很难训练出高质量的通用大模型。


也就是说,通用大模型的训练需要一个完整的人工智能技术体系来进行支撑,否则即便有先进的算法,但如何获得高质量的训练数据,到哪里去找庞大的训练算力资源,这些都是摆在通用大模型训练面前必须要解决的问题,否则没有高质量的数据以及算力支撑也是巧妇难为无米之炊。


如何破局


通用大模型是未来人工智能的重要发展方向,我们肯定要加大资源投入力度才能有机会在未来人工智能前沿技术的竞争中占有一席之地。那我们应该怎么做才能破局呢?我想可以从以下几个方面入手。


数据方面


虽然当前中文在线联网数据也算是海量,但是数据质量普遍不高,同时数据孤岛问题比较严重。如果我们想基于中文数据来训练通用大模型,就必须对中文在线数据进行治理提高中文在线数据质量,解决数据孤岛问题,推动实现数据的共享和互联互通。


算力建设方面


结合国家东数西算工程,协调各个区域的算力中心,形成全国通用算力基础设施,加快构建国家级一体化新型算力网络体系,为通用大模型训练提供源源不断的强大算力支撑。只有这样,才能满足大模型训练所需要的算力要求,同时为强人工智能时代的到来做好算力资源储备。



意识方面


和别人的技术差距,我们当然要尽力弥补。不过我们需要注意的是我们在进步,别人也在进步,所以我们光追赶别人不行,还要有更加长远的眼光,要有对于未来准确的判断力,进行提前技术验证以及产业布局,为下一次技术革命做准备,真正成为未来技术发展的引领者而不是追随者。


总结


科技的发展进步不是一朝一夕就能实现的,它可能需要一代又一代技术人员孜孜不倦地追求。虽然我们在很多领域都已经取得了长足的进步,但是同时我们也要清醒地认识到,在计算机领域、互联网技术领域以及人工智能技术领域我们还有不小的差距需要弥补。因此少一点网红、明星的曝光,多一点科技工作者勤恳务实地宣传,努力营造技术为先、科技为先的社会氛围才是未来科技行业蓬勃发展的社会环境基础。我相信如果我们可以少一点浮躁,多一点纯粹,也许下一次的科技革命就是在中国这片土地上诞生。最后和大家分享下马老师曾经说过的一段话,我觉得对我们当下思考未来技术发展非常有帮助。



我一直觉得填补空白这句话是有问题的,不是因为欧美的就是先进的,就是我们要去填补的。其实今天我们不应该要和哪个东西接轨,适应哪国的标准,填补哪个空白,今天我们要思考的是怎么和未来接轨,怎么适应未来的标准,怎么弥补未来的空白,我们要想明白未来是如何的,以及自己到底要做成一个什么样的体系,然后再去看看别人怎么做,如果永远重复别人的语言,讨论别人设定的主题,我们不但会迷失现在,而且会错失未来。




作者:慕枫技术笔记
来源:juejin.cn/post/7218048201981935677
收起阅读 »

意大利成首个封禁ChatGPT的国家!OpenAI CEO:我觉得没违规

【新智元导读】周五,意大利全国上下对 ChatGPT 下了封杀令。在 20 天内,OpenAI 拿不出补救措施的话,将会面临最高 2000 万欧元罚款。 就在昨天,意大利政府突然下令,封禁 ChatGPT! 很快,OpenAI 首席执行官 Sam Altman...
继续阅读 »

【新智元导读】周五,意大利全国上下对 ChatGPT 下了封杀令。在 20 天内,OpenAI 拿不出补救措施的话,将会面临最高 2000 万欧元罚款。


就在昨天,意大利政府突然下令,封禁 ChatGPT!


很快,OpenAI 首席执行官 Sam Altman 做出回应称,公司已经关停了当地的 ChatGPT 服务(但自认为并没有违反任何规定)。



自此,意大利成为了世界上第一个宣布禁用 ChatGPT 的国家。


(其他国家和地区无法使用 ChatGPT,是因为 OpenAI 一开始就没给开通。)


意大利封禁 ChatGPT,全面调查隐私问题


3 月 31 日,意大利国家隐私监管机构正式下令封禁 ChatGPT,并指控 OpenAI「非法收集个人数据」。


值得注意的是,该「临时禁令」将一直生效,直到 OpenAI 能够尊重欧盟具有里程碑意义的隐私法——通用数据保护条例(GDPR)。



文件地址:http://www.garanteprivacy.it/home/docweb…


根据意大利国家数据保护机构 GPDP 发布新闻稿,OpenAI 收集用户数据并用于算法「训练」的行为,缺乏法律依据。


同时,3 月 20 日涉及用户对话和支付信息的泄露事件,也明确地暴露出了 OpenAI 在个人信息的处理上存在着问题。


除此之外,OpenAI 虽然声称 ChatGPT 面向的是 13 岁以上的用户,但由于缺乏相应的年龄验证机制,因此未成年人很可能会看到超出其自身发展和自我认知水平的信息。


监管机构表示,OpenAI 有 20 天的时间,如不给出可行的补救措施,则会面临最高 2000 万欧元,或全球总年营业额 4% 的罚款。


对此,OpenAI 表示,现在已经为意大利用户关闭了服务,并承诺会保护用户的隐私:


「我们在训练 ChatGPT 这样的系统时,一直在努力减少个人数据,因为我们想要这个 AI 了解世界,而不是了解个人。当然我们也相信,AI 监管是必要的。」


这么看来,ChatGPT 未来在意大利的命运,可能就取决于这 20 天了。



不过,对于意大利来说,这已经不是第一次对 AI 聊天机器人采取此类行动了。


在 2 月份,监管机构就禁止了聊天机器人应用程序 Replika.ai。Replika 曾因一些用户与机器人建立的亲密关系而「臭名昭著」,后来 Replika 取消了色情角色扮演的选项,有用户甚至需要自杀热线的援助。


是否应该限制 AI 工具?


ChatGPT 发布后,虽然写论文、写代码的能力让人眼花缭乱,但它对错误信息的传播、对就业的影响,以及对整个人类社会更广泛的风险,都让很多人忧心忡忡,发出预警。


最近,封禁 GPT 技术的浪潮,更是一波接一波。


不仅图灵奖得主 Yoshua Bengio、马斯克、马库斯等千名大佬联名签署公开信,呼吁全球所有 AI 实验室暂停训练比 GPT-4 更强大的 AI 模型。


而且消费者权益保护组织 BEUC,也在近日呼吁欧盟和国家当局调查 ChatGPT。



此外,很多专家也表示,由于 AI 对国家安全、就业和教育的潜在影响,需要制定新的法规来管理 AI。


欧盟委员会发言人称:「我们希望所有在欧盟活跃的公司都尊重欧盟的数据保护规则。执行通用数据保护条例是欧盟数据保护当局的责任。」


欧盟委员会执行副主席 Margrethe Vestager 在推特上表示,正在讨论欧盟人工智能法案的委员会可能不倾向于禁止人工智能。


「无论我们使用哪种技术,都必须保护自身的权利。这就是为什么我们不规范 AI 技术,而是规范 AI 的使用。」



在美国,非营利组织人工智能与数字政策中心(CAIDP)也要求联邦贸易委员会(FTC)调查 OpenAI 是否违反了消费者保护规则,并禁止其进一步发布 GPT-4。


毕竟,有了千名大佬的联名信这个先例,CAIDP 的申诉看起来也似乎更加顺理成章。而且,CAIDP 主席 Marc Rotenberg 好不意外地也签署了那封信。



文件地址:cdn.arstechnica.net/wp-content/…


整体来说,CAIDP 申诉的内容与那封信一致,都是呼吁放慢生成式 AI 模型的发展,并实施更严格的政府监督。


不过,CAIDP 更进一步地认为,ChatGPT「存在偏见、具有欺骗性,并且对公共安全构成风险」。


虽然 OpenAI 已经公开指出 AI 生成文本的潜在威胁,但 CAIDP 认为,GPT-4 已经远远越线了,为了保护消费者,应该采取监管行动。


CAIDP 表示,GPT-4 模型具有许多重大的潜在威胁,比如 GPT-4 可以产生恶意代码,和高度定制宣传的方式,而它有偏见的训练数据,可能导致在招聘等方面形成刻板印象,或不公平的种族和性别偏好。


CAIDP 认为,OpenAI 的行为违反了 FTC 法案第 5 条,这一条令禁止不公平和欺骗性的贸易行为。


其中,AI 模型的幻觉,信口开河胡说八道的问题,在 CAIDP 看来都是欺骗。它警告 ChatGPT「宣传具有欺骗性的商业声明和广告」,这些都可能纳入 FTC 的权限范围。



在申诉中,CAIDP 要求 FTC 停止 GPT 模型所有进一步的商业部署,并要求在未来推出任何模型之前,都要对模型进行独立评估。它还要求提供一种可公开访问的举报工具,类似于允许消费者提出欺诈投诉的那种。


CAIDP 主席 Lina Khan 表示,CAIDP 在寻找大型科技公司试图垄断竞争的迹象,而对 AI 军备竞赛的主要参与者之一 OpenAI 的调查,标志着调查的重大升级。


有分析认为,虽然 CAIDP 的申诉在短时间内不会让 FTC 有所行动,但未来很有可能会出现相关的监管,并可能让 GPT-5 的发布推迟。


最后,只能说,谷歌一直担心的「声誉风险」,终于来了。


参考资料:


http://www.reuters.com/technology/…


作者:新智元
链接:https://juejin.cn/post/7217644586868834364
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

GPT-4杀疯了! Copilot X 重磅来袭 动动嘴就能写代码

本文正在参加 人工智能创作者扶持计划 大家好,我是小鱼。前段时间微软给office全家桶都加上了GPT-4的功能,并且带来了焕然一新的产品 Microsoft 365 Copilot。3月23日Github官方发布推特宣布,一款基于AI驱动的跨时代的代码编辑器...
继续阅读 »

本文正在参加 人工智能创作者扶持计划


大家好,我是小鱼。前段时间微软给office全家桶都加上了GPT-4的功能,并且带来了焕然一新的产品 Microsoft 365 Copilot。3月23日Github官方发布推特宣布,一款基于AI驱动的跨时代的代码编辑器 Github Copilot X 横空出世,将为开发者们带来前所未有的变成体验。


image.png


不知道大家有没有用过上一代的 copilot,其实已经很强大了,很多时候双击tab一行代码就出来了,仿佛能读心。
Copilot X是一种更新版本,增加了聊天模式等新功能。它也是一款人工智能代码助手,可以在编写代码时提供建议和代码段,从而帮助开发人员节省时间和精力。


Copilot X最显著的改进是增加了聊天模式,和Copilot X的交互变得更加自然和直观。在聊天模式下,开发人员可以使用自然语言向Copilot X提出问题,例如“如何将数组排序?” Copilot X会根据开发人员的问题,提供相应的建议和代码段,帮助开发人员解决问题。这种交互方式不仅提高了效率,而且还使得使用Copilot X变得更加容易上手。


除了聊天模式之外,Copilot X还增加了其他新功能。例如,它可以识别代码中的错误并提供修复建议,还可以自动完成代码段。此外,Copilot X还提供了更广泛的编程语言支持,包括JavaPythonJavaScript等。接下来我们就展开这些功能来讲讲Copilot X带给我们的惊喜


image.png




1. Github Copilot Chat 边写代码边跟AI对话


这次Github Copilot X在产品中内置了一个聊天的窗口,把GPT-4加入到了实际的开发场景中,并且集成到了VSCode和Visual Studio上。这个聊天窗口除了可以进行实时的交互问答之外,它还可以完成像代码内容识别报错信息显示语音交流等操作。通过这个功能开发人员可以更深入的分析和了解各个代码的用途,快速的生成单元测试,甚至还能一键修改Bug......


image.png


2. Copilot for Pull Requests 让AI来协助处理PR


如果你维护过开源的项目或者平时用Git进行过团队的协作时,那么你应该知道规范化的提交 Pull Requests(PR)对整个团队来说的重要性,一个清晰简洁的PR描述信息能够让代码的审查者一目了然,快速的了解你的代码变动的情况,减少项目合并出错的风险,并且提高沟通的效率。


这次 Copilot X 引入了 GPT-4 的模型,可以通过动态提取与分析代码的变更信息来自动的生成描述,程序员只需要在PR的描述中插入标记,Copilot就能够自动识别并且进行扩展补写。支持的标记主要有以下几种



  1. copilot:summary 生成一段摘要的总结

  2. copilot:walkthrough 生成详细的代码更改列表以及相关的代码片段链接

  3. copilot:poem 写一首诗来描述本次的改动

  4. copilot:all 自动生成以上所有内容


99965.gif


后续产品还会新增 GentestGhost text 两大功能



  1. Gentest 可以通过AI来识别PR中可能缺少的测试,并且自动的帮你构建和生成测试

  2. Ghost text 可以在你编写PR描述或者文档的时候提供内容的自动补全功能。不仅如此,当你收到用户提交的issue时,如果没有比较好的方案,AI还会给你提供建议。估计再过不久,AI就要帮你自动的调整代码、完善PR了......要抢我饭碗??


image.png


3. Copilot for docs 基于AI的智能文档系统


文档对开发者来说其重要性不言而喻,无论你是新接手一个项目还是忘记了某个API的具体使用办法,这个时候你都希望有一个完整的文档在你面前。所以,为了帮助你更快的定位文档的内容,简洁直接的获取到你想要的信息,Copilot for docs 就出现了。


用户能够通过类似于ChatGPT的界面,针对于项目的文档,常用代码发起提问,Copilot 就会自动定位到并且返回文档中的相关内容,大家也可以把 Copilot 当做一个知识库来用。


7894.gif


4. Copilot for CLI 使命令行用起来更加的智能


命令行终端command line也是开发者日常工作必不可少的工具之一,大家都喜欢在ITerm上安装各种各样的命令行的生产力工具,这些工具在大多的时候,能够帮我们处理一些问题,但是有些比较少用到的工具经常也会忘掉它们的命令,那这个时候我们就会输入help来获取到关于该命令的更多信息。


对于一些功能比较复杂的命令行工具来说,可能会时不时的去查一下或者stackoverflow一下。但是以后就不需要啦,Copilot for CLI 提供了三个新的shell命令,分别是 ??git?gh?




  1. ?? 可以作为任何shell命令的通用的 go to,你只需要在这个命令的后面输入相关的描述 Copilot 就会列出跟描述最匹配的命令。例如列出所有的js文件列表只需要输入 ?? list js files
    image.png




  2. git?专门用来搜索和调用Git的,相比??,它在生成Git命令方面要强大得多。如果你明确要使用的是Git命令,那就可以优先选择用这个




  3. gh?结合了 Github CLI 命令的灵活性以及查询界面的便捷性,让搜索可以变得更加快捷,信息展示得更加清晰




5. Copilot Voice 通过语音来生成代码


记得 Github Copilot 刚出来的时候,网上就有人讨论,AI这么牛逼,以后是不是就可以只动动嘴皮子就能帮我写代码了,这一天,就真的来了。


Copilot Voice 用户通过与 Github Copilot 的交谈,它就能够立即编写代码,直接解放你的双手,不满意还可以接着说话(接着奏乐接着舞...)


image.png


通过对话 Copilot Voice 可以完成以下这些工作



  1. 代码跳转 比如说跳转到代码的某一行,某个方法等等

  2. 控制IDE 开启zen模式运行程序或者运行其他的VSCode指令

  3. 代码总结 例如问它第三行到第十行这个代码表示什么意思....


3336.gif


所有这些工作张张嘴你就能搞定,这次发布的 Github Copilot X 围绕着AI对话、pull request的提交处理、文档智能检索与阅读、命令行改造以及最后的语音生成代码,几乎可以说是全方位的颠覆了传统的编程方式。


最后看了网上很多评论,网友纷纷表示,编程已经被ChatGPT永远地改变了。


「作为一个开发者,这实在是令人沮丧。编程中,我们快乐的源泉是与逻辑打交道和解决技术问题,而不是专注于生产力或满足需求。」


「我已经做了30年的编程,但我仍然很喜欢它。我不知道没有人类代码的世界会是什么样子。不过我确实很喜欢有CoPilot来处理那些烦人的东西,还有ChatGPT来帮助我解决bug。」


「AI出现后,可能就不再需要这么多码农了。对此我感到非常焦虑,即便已经在各种存钱和投资了,但还需要差不多9年时间才能『躺平』。我略微羡慕那些在FANG工作的人,他们似乎可以轻而易举地实现财务自由。」


「从中长期来看,我们将会失去工作。」


「程序员们终于用编程把自己淘汰了……」




还是希望大家有自己的思考,理性看待,找到属于自己的方向。码农没“死”,只是换了一种方式重新开始......


image.png


作者:一条小尾鱼
链接:https://juejin.cn/post/7215397054260150309
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »