在自己的电脑上使用ChatGPT做一个公网可访问的小应用

时间:2023-02-16 08:51:20

介绍

  • 本文将会简单介绍一下ChatGPT,并使用ChatGPT做一个简单的网页,并教你如何进行内网穿透,将之放到公网上,可以进行访问。

ChatGPT的简单介绍和使用

  • OpenAI训练了顶尖的语言模型,十分擅长理解和生成文本。通过我们提供的API可以使用这些模型来解决任何和语言处理相关的任务。
  • 通过这个快速开始,你能创建一个简单的应用。同时将会学会一些关键概念和技术。
    • Content genenration:内容生成
    • Summarization:总结
    • Classfication,categorization and sentiment analysis:分类,创建类别和语义分析
    • Data extraction:数据提取
    • Translation:翻译

介绍

  • API的核心部分是补全(completions),这部分的接口简单但是强大且灵活。你输入一些文本作为激励(prompt),API将会返回文本补全内容,这个内容主要是理解你的语义之后做出的回答。
  • 下文的prompt是让你为一个冰淇淋店写一个标语,模型生成的是“让每一勺都带着微笑”

在自己的电脑上使用ChatGPT做一个公网可访问的小应用

从一个指令开始

  • 假设你想创建一个宠物名字生成器,但是从头开始想名字很难。
  • 首先,你需要指定一个prompt告诉模型你想要什么,然后用这个prompt作为指令,提交,然后就会生成第一个completion

在自己的电脑上使用ChatGPT做一个公网可访问的小应用

  • 还可以,现在尝试让你的指令更加特别一点。

在自己的电脑上使用ChatGPT做一个公网可访问的小应用

  • 如你所见,给你的激励,增加一个简单的修饰词,就会返回不同的不全结果,设计prompt得过程,实际上就是你“设计”模型的过程。

增加一些样例

  • 如果你想得到更好的结果,必须要学会创造更加准确的命令,但是有的时候光光只有命令不一定够,下面我将使指令更加复杂,给大家展示一下效果。
  • 请给一个是超级英雄的马去三个名字
    • 超级种马
    • 牛逼小马
    • 强大野马

在自己的电脑上使用ChatGPT做一个公网可访问的小应用

  • 结果并不是我们想要的,三个名字很一般,模型对于命令中马的理解太过肤浅了。我们看看能不能通过一些样例,来告诉模型我们到底想要的是什么。给你的激励prompt,能够表达出回答的模式或者细节。在下面的样例中,我们将会给出一些样例。
  • 猫:沙普克劳队长,滑球特工,令人难以置信的猫
  • 狗:拉保护者,神奇的狗,爵士经常吠叫
  • 马:超级种马,强大的母马,华丽的马
    在自己的电脑上使用ChatGPT做一个公网可访问的小应用
  • 很棒,增加了一写样例,输出变得更加贴切(这个翻译是真的奇怪,我是没看懂)

调整参数

  • 你所能控制的并不仅仅是设计一个激励prompt那么简单,你也可以通过调整设置来控制你的结果输出。最常见的一个设置叫温度。

  • 如果你输入同样内容,或者相似内容的激励,就会发现最终的输出结果是近似的,这是因为你默认设置的temperature温度是0,你可以通过设置不同的温度来获得截然不同的输出。这个参数是用来控制随机度的,如果是0,那么输出的结果就是固定的,越高,随机度越高。这个参数的范围是零到一

  • 我设定参数为0.2,两次结果是不同的
    在自己的电脑上使用ChatGPT做一个公网可访问的小应用
    在自己的电脑上使用ChatGPT做一个公网可访问的小应用

  • 记住这跟模型的原理是预测当前文本下一个句子会是什么,temperature控制的是自信程度,如果这个参数越低,最终的结果就越准确,所以就会返回确定的结果。如果参数设置的越高,那么返回的结果就越不同,越具有多样性。

  • 可以看到使用ChatGPT可以进行人工问答,那么下面将会教你搭建对应的网站应用。

创建你自己的应用(python(Flask版本))

  • 既然你已经找到了一个好的激励prompt,你可以开始着手创建你的宠物名生成器。我们已经写了一些代码,你可以直接使用开始运行。通过下述链接huoqugithub连接,进行下载。
  • github链接地址

安装配置环境

  • 下载并解压对应的包,目录如下,然后创建对应的虚拟环境。

在自己的电脑上使用ChatGPT做一个公网可访问的小应用

在自己的电脑上使用ChatGPT做一个公网可访问的小应用

  • 创建对应的环境之后,在控制台,进入到requirements.txt 所在的路径下,如下图。
conda install -r requirements.txt

在自己的电脑上使用ChatGPT做一个公网可访问的小应用

  • 复制.env.example文件,并修改其中API-KEY关键字。
  • 获取对应api的连接,需要自行注册对应账号。连接
  • 如果要帮忙注册账号,请私信我

在自己的电脑上使用ChatGPT做一个公网可访问的小应用

  • 然后在控制台输入指令启动对应服务器,注意你启动的目录,一定要是在app.py 文件所在的目录。
flask run 

在自己的电脑上使用ChatGPT做一个公网可访问的小应用

  • 然后点击对应的地址,就可以在本地进行访问,注意一定不开vpn,在国内也可以进行访问。

在自己的电脑上使用ChatGPT做一个公网可访问的小应用

  • 如果出现了下述异常,说明你启动了VPN,关掉VPN即可。

在自己的电脑上使用ChatGPT做一个公网可访问的小应用

  • 但是这只能在本机上进行访问,在公网上并不能进行访问,这里介绍另外一个工具——cpolar内网穿透工具

将你的网站放到公网上

  • 使用cpolar进行内网穿透,将你的ip端口放到公网上,使得任意电脑都能访问,免费的。
  • 注册一个cpolar,网址
  • 下载并安装cpolar,无脑安装下一步。

在自己的电脑上使用ChatGPT做一个公网可访问的小应用

  • 打开对应的UI界面,创建隧道,进行端口设置。我这里是5000

在自己的电脑上使用ChatGPT做一个公网可访问的小应用

  • 然后点击状态,即可获取对应映射地址,在公网也可进行访问。

在自己的电脑上使用ChatGPT做一个公网可访问的小应用

在自己的电脑上使用ChatGPT做一个公网可访问的小应用

总结

  • 这就是一个单纯的小应用你可以做的更复杂,如果需要帮忙注册对应ChatGPT账号,请私信。