如何拥有自己本地的ChatGPT

ChatGPT因为一直在调用远端API,经常会出现超时或者挂掉的情况,本地跑一个ChatGPT是一个不错的选择(这里有误解,其实还是调用远端的text-chat-davinci-002-20230126,只是不用付钱)。

在Twitter Timeline上看到这个repo, 据说是第一个发现官方模型泄露的

This is an implementation of ChatGPT using the official ChatGPT raw model, text-chat-davinci-002. This model name text-chat-davinci-002-20230126 was briefly leaked while I was inspecting the network requests made by the official ChatGPT

ChatGPT对我们的影响

最近ChatGPT正在以一种很久未见的,爆发式的形式在互联网领域蔓延,让沉寂已久的互联网圈兴奋不已,可能是一个时代的开启,或者是另一个待开发的宝藏。

先说一个简单的数字,在今年2月初,ChatGPT就已经达到了月活1亿用户的互联网应用,是人类有史以来最快突破1亿用户的应用。之前最快的是Tiktok, 用了9个月。

对于我们普通人,很多时候是很难搞清楚人工智能到底是什么,人工智能到底是怎么造出来的,但对于人工智能的落地还都是抱有一些幻想–什么时候能够用上真的人工智能,而不是人工智障。

根据最近几个月对ChatGPT的使用,还有Twitter上, 国内外对ChatGPT的讨论,真的可以说ChatGPT已经风靡全球,这个话题已经变得无处不在。

简单点来说,我有下面几点认知

  1. 人和ChatGPT聊天是相对来说比较自然的
  2. ChatGPT可能正在成为AI领域的一种基础设施的存在
  3. 大量的AI应用正在基于ChatGPT的二次开发基础上上线
  4. 开发AI产品的门槛正在大幅度的降低,甚至于打造个人AI助理,不再是很难的事情
  5. 很多日常的工作,在ChatGPT的帮助下,效率能够大大提高

以后可能会产生一个新的职业,”Prompt Engineer”,通过合适的输入,让AI理解你的需求,生成你想要的输出。输入特定领域的语料,然后就能很容易的训练出这个领域的AI。

  • 程序员会不会被替代

最近看到很多类似的讨论,在事情发展到那一天来,谁都没办法100%的预测未来,这个讨论也持续了很久。现在相对保守的看法是,AI能够辅助高效的完成任务,对于一些比较低级的程序,能够自动完成,以后更多可能是做为一个助手存在,比如Copilot,只是要看这个东西的进化速度会有多快,说不定有一天,就真的能够根据需求生成完整的工程代码。

  • 面对ChatGPT我们能做什么

新事物的出现,我们应该抱着开放的态度,去了解它,去学习它,虽然现在可能在你的实际工作中没有什么帮助,但要知道这种改变正在加速,很可能2023年就是AI的爆发元年,我们都知道Google已经亮起了红色警报,Microsoft很快会把ChatGPT整合进它的很多产品中,在不久的将来,微软的很多产品中应该都能见到ChatGPT的身影。

任何高深的技术,在落地时,在面对普通人时,它一定要是简单,易用,通俗的,而在它落地前,去了解一下它的前世今生,去追踪它的变化,可能对今后是有所裨益的。

  • ChatGPT的答复

把上面的内容输入到ChatGPT, 它给的答复

人工智能不会完全取代程序员,而是与程序员共同工作。人工智能可以帮助程序员提高效率,但仍需要程序员对代码进行评审和维护。程序员在人工智能领域中仍然具有很重要的地位,因为他们需要了解人工智能的原理,设计程序以实现特定功能,并对人工智能的输出进行审核。同时,新的职业”Prompt Engineer”也会受到重视,负责通过合适的输入,使人工智能理解用户的需求,并生成所需的输出。

ChatGPT 可能是当今最强的AI

今天玩了一下ChatGPT, 发现这东西太强了,简单列举一下看到的一些功能

  1. 支持中文
  2. 可以写代码
  3. 可以写架构设计
  4. 可以根据简短的描述,写一篇完整的文档
  5. 可以找到代码中的bug
  6. 可以写诗
  7. 可以把代码转成其他语言实现
  8. 可以教你学习新的语言
  9. 可以解LeetCode
  10. 可以解释正则表达式的意义
  11. 甚至可以重新设计git
  12. 可以写好高大上的Vision, Strategy 文档
  13. 可以写产品设计文档
  14. 功能太多了

举一个例子,输入如下

Regarding the Mobile Testing, it will include Performance Testing, Unit Test, Component Test, as well as Automation Testing, we have Android