作者 | 王瑞平
审校 | 云昭
在ChatGPT到来之前,没有谁能够预见。但是,它最终还是来了,并引起了不小的轰动,甚至有可能颠覆整个行业。
从某种程度上说,ChatGPT可能是历史上增长最快的应用程序,仅在两个多月就拥有了1亿多活跃用户,可见其多么受欢迎!近期,回国的马云还针对ChatGPT发表了看法:“ChatGPT这一类技术已经对教育带来挑战,但是,这一类技术仅是人工智能时代的开始。我们要用人工智能解决问题,而不是被人工智能控制。”
近日,ChatGPT的模型又有所改进动作,在各方面性能都有所提升,尤其是改进了文本框,使其拥有了更好的用户体验。不仅如此,OpenAI还进一步打造成出新的操作系统,这极大降低了程序员的门槛,进一步为他们提供了便利。

来源:Open AI
据了解,此前,ChatGPT的模型仅以对话方式进行交互。这种对话形式使ChatGPT能够回答一系列问题、承认错误、质疑不正确问题并拒绝不恰当请求。
仅ChatGPT推出四个月后,它在文本框方面再次刷新了大家的认知。它证明了技术的未来不是Whiz-Bang接口或元宇宙,而是“在计算机上的文本框中键入命令”。命令行又回来了——现在它变得“聪明”多了,这对于用户是好消息。

具体说说这是怎么回事吧!多年来,大多数用户只能通过在空白屏幕上输入信息与计算机进行交互(命令行用来告诉机器该做什么)。
为改进这种交互方式,公司优化了以往的界面!原来,你需要在命令行输入点什么以及考虑以何种顺序输入才能使计算机运行。现在,你只需要在新的界面上点击大图标,还可以通过图片和图标告诉人们计算机能做什么,这要简单得多。简单的说就是命令行让位于图形用户界面,就像上图所呈现出的那样。
使用过ChatGPT大模型的用户都知道,它能够理解从没见过的需求,并按照要求自动完成任务。由于参数够多,因此能够克服单领域、多模型限制,并实现“智能涌现”。
此外,由于ChatGPT与GPT-4拥有超强的代码生成能力,也迅速让以编码为主导的软件1.0时代进入以数据为驱动编码的软件2.0时代。
对于程序员来讲,他们日常的编码工作已从过去用开源集成到目前用AI组合,每天80%-90%的工作用ChatGPT就都能完成。
具体来讲,程序员从写代码,到做开发、进行架构模块设计、模块设计、测试等软件开发周期过程中的大部分工具都会被ChatGPT重构并重新生成。
众所周知的是,每个行业都有人工智能在为其赋能,这也可以让各个行业的开发者们能够通过LLM/GPT引入插件Prompt,再用自然语言对话。这极大降低了程序员的门槛,扩大了入口,也让ChatGPT成为新一代的操作系统。
在这里,要想更好的拥抱人工智能时代,为开发者提出几点建议:首先要学会表达并善用Prompt,其次英文水平要过硬,最后就是发挥想象力并开始行动吧!(呵呵,班门弄斧了!)
ChatGPT如此火爆的同时也吸引来很多模仿者,最近的两个便是开源大语言模型ChatGLM和Google Bard,现在分别具体说说:
最近,又一款与ChatGPT相似的国产大语言模型ChatGLM进入了我们的视野,很幸运的是它是开源的!
ChatGLM-6B又支持中英双语的对话语言模型,是基于General Language Model(GLM)架构的,具有62亿参数,简直不要太方便!
从技术角度来讲,ChatGLM-6B使用了与ChatGPT相似的技术,针对中文问答和对话进行了优化。经过约1T标识符的中英双语训练,辅以监督微调、反馈自助、人类反馈强化学习等技术的加持,62亿参数的ChatGLM-6B已经能生成相当符合人类偏好的回答。
结合模型量化技术,用户可以在消费级的显卡上进行本地部署(INT4量化级别下最低只需6GB显存)。
ChatGPT比Bard模型拥有更多的参数,使其能够捕捉到语言中更多、更复杂的关系,但这也带来了过度拟合的风险。
客观的来讲,Google Bard与ChatGPT相比可能没那么灵活,但也可能因为新的语言用例使其更加强大。值得强调的是,Bard和ChatGPT模型都是基于Transformer的深度学习神经网络。
那么,问题来了,谁将从ChatGPT中受益?谁又会被抛在脑后?有两种不同的观点。
乐观的观点是:对普通技术工人来讲,ChatGPT将被证明是一种强大的工具,能够提高他们的能力和专业知识,同时推动整体经济发展。
悲观的观点是:企业会简单地用它来替代曾经看起来不需要自动化的工作,以及那些需要具备创造性技能和逻辑推理能力的高薪工作。最后将会导致少数高科技公司和科技精英变得更加富有,这对整体经济增长几乎没有帮助。
总之,ChatGPT与其它最近发布的生成式人工智能模型有望将各种任务自动化。这些任务从前被认为仅属于人类创造力和推理领域。从写作到创建图形,再到总结和分析数据。
在此,说句题外话,从经济学角度来看,属于人工智能的时代已经到来,一场人工智能淘金热已经开始。从应用程序开发者、风投支持的初创公司到世界级大公司都在争先恐后的从ChatGPT等生成式人工智能模型中挖掘新的商业机会。
经济学家表示,随着企业争相寻找ChatGPT技术的使用方法,重新思考如何从新一代人工智能中获得最大利益的机会已经打开。未来,将会有更多“杀手级”应用出现,从而提升日常生产工作效率,更好的造福于人类。
https://techxplore.com/news/2023-03-chatgpt-struggles-wordle-puzzles-lot.htmlhttps://techxplore.com/news/2023-03-watermarking-chatgpt-dall-e-generative-ais.html
https://www.technologyreview.com/2023/03/25/1070275/chatgpt-revolutionize-economy-decide-what-looks-like/
https://m.ithome.com/html/682618.htm
https://openai.com/research/gpts-are-gpts
我想将html转换为纯文本。不过,我不想只删除标签,我想智能地保留尽可能多的格式。为插入换行符标签,检测段落并格式化它们等。输入非常简单,通常是格式良好的html(不是整个文档,只是一堆内容,通常没有anchor或图像)。我可以将几个正则表达式放在一起,让我达到80%,但我认为可能有一些现有的解决方案更智能。 最佳答案 首先,不要尝试为此使用正则表达式。很有可能你会想出一个脆弱/脆弱的解决方案,它会随着HTML的变化而崩溃,或者很难管理和维护。您可以使用Nokogiri快速解析HTML并提取文本:require'nokogiri'h
尝试通过RVM将RubyGems升级到版本1.8.10并出现此错误:$rvmrubygemslatestRemovingoldRubygemsfiles...Installingrubygems-1.8.10forruby-1.9.2-p180...ERROR:Errorrunning'GEM_PATH="/Users/foo/.rvm/gems/ruby-1.9.2-p180:/Users/foo/.rvm/gems/ruby-1.9.2-p180@global:/Users/foo/.rvm/gems/ruby-1.9.2-p180:/Users/foo/.rvm/gems/rub
我在我的Rails项目中使用Pow和powifygem。现在我尝试升级我的ruby版本(从1.9.3到2.0.0,我使用RVM)当我切换ruby版本、安装所有gem依赖项时,我通过运行railss并访问localhost:3000确保该应用程序正常运行以前,我通过使用pow访问http://my_app.dev来浏览我的应用程序。升级后,由于错误Bundler::RubyVersionMismatch:YourRubyversionis1.9.3,butyourGemfilespecified2.0.0,此url不起作用我尝试过的:重新创建pow应用程序重启pow服务器更新战俘
我实际上是在尝试使用RVM在我的OSX10.7.5上更新ruby,并在输入以下命令后:rvminstallruby我得到了以下回复:Searchingforbinaryrubies,thismighttakesometime.Checkingrequirementsforosx.Installingrequirementsforosx.Updatingsystem.......Errorrunning'requirements_osx_brew_update_systemruby-2.0.0-p247',pleaseread/Users/username/.rvm/log/138121
我最近决定从我的系统中卸载RVM。在thispage提出的一些论点说服我:实际上,我的决定是,我根本不想担心Ruby的多个版本。我只想使用1.9.2-p290版本而不用担心其他任何事情。但是,当我在我的Mac上运行ruby--version时,它告诉我我的版本是1.8.7。我四处寻找如何简单地从我的Mac上卸载这个Ruby,但奇怪的是我没有找到任何东西。似乎唯一想卸载Ruby的人运行linux,而使用Mac的每个人都推荐RVM。如何从我的Mac上卸载Ruby1.8.7?我想升级到1.9.2-p290版本,并且我希望我的系统上只有一个版本。 最佳答案
英文版英文链接关注公众号在“亚特兰蒂斯的回声”中踏上一段难忘的冒险之旅,深入未知的海洋深处。足智多谋的考古学家AriaSeaborne偶然发现了一件古代神器,揭示了一张通往失落之城亚特兰蒂斯的隐藏地图。在她神秘的导师内森·兰登教授的指导和勇敢的冒险家亚历克斯·默瑟的帮助下,阿丽亚开始了一段危险的旅程,以揭开这座传说中城市的真相。他们的冒险之旅带领他们穿越险恶的大海、神秘的岛屿和充满陷阱和谜语的致命迷宫。随着Aria潜在的魔法能力的觉醒,她被睿智勇敢的QueenNeria的幻象所指引,她让她为即将到来的挑战做好准备。三人组揭开亚特兰蒂斯令人惊叹的隐藏文明,并了解到邪恶的巫师马拉卡勋爵试图利用其古
我有一个使用SeleniumWebdriver和Nokogiri的Ruby应用程序。我想选择一个类,然后对于那个类对应的每个div,我想根据div的内容执行一个Action。例如,我正在解析以下页面:https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=puppies这是一个搜索结果页面,我正在寻找描述中包含“Adoption”一词的第一个结果。因此机器人应该寻找带有className:"result"的div,对于每个检查它的.descriptiondiv是否包含单词“adoption
我正在我的Rails项目中安装Grape以构建RESTfulAPI。现在一些端点的操作需要身份验证,而另一些则不需要身份验证。例如,我有users端点,看起来像这样:moduleBackendmoduleV1classUsers现在如您所见,除了password/forget之外的所有操作都需要用户登录/验证。创建一个新的端点也没有意义,比如passwords并且只是删除password/forget从逻辑上讲,这个端点应该与用户资源。问题是Grapebefore过滤器没有像except,only这样的选项,我可以在其中说对某些操作应用过滤器。您通常如何干净利落地处理这种情况?
在我做的一些网络开发中,我有多个操作开始,比如对外部API的GET请求,我希望它们同时开始,因为一个不依赖另一个的结果。我希望事情能够在后台运行。我找到了concurrent-rubylibrary这似乎运作良好。通过将其混合到您创建的类中,该类的方法具有在后台线程上运行的异步版本。这导致我编写如下代码,其中FirstAsyncWorker和SecondAsyncWorker是我编写的类,我在其中混合了Concurrent::Async模块,并编写了一个名为“work”的方法来发送HTTP请求:defindexop1_result=FirstAsyncWorker.new.async.
我完全不是程序员,正在学习使用Ruby和Rails框架进行编程。我目前正在使用Ruby1.8.7和Rails3.0.3,但我想知道我是否应该升级到Ruby1.9,因为我真的没有任何升级的“遗留”成本。缺点是什么?我是否会遇到与普通gem的兼容性问题,或者甚至其他我不太了解甚至无法预料的问题? 最佳答案 你应该升级。不要坚持从1.8.7开始。如果您发现不支持1.9.2的gem,请避免使用它们(因为它们很可能不被维护)。如果您对gem是否兼容1.9.2有任何疑问,您可以在以下位置查看:http://www.railsplugins.or