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

news2024/10/3 2:26:37

文章目录

    • 介绍
    • ChatGPT的简单介绍和使用
      • 介绍
      • 从一个指令开始
      • 增加一些样例
      • 调整参数
    • 创建你自己的应用(python(Flask版本))
      • 安装配置环境
    • 将你的网站放到公网上
    • 总结

介绍

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

ChatGPT的简单介绍和使用

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

介绍

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

在这里插入图片描述

从一个指令开始

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

在这里插入图片描述

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

在这里插入图片描述

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

增加一些样例

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

在这里插入图片描述

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

调整参数

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

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

  • 我设定参数为0.2,两次结果是不同的
    在这里插入图片描述
    在这里插入图片描述

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

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

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

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

安装配置环境

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

在这里插入图片描述

  • 我这里是使用annaconda进行创建的,关于annaconda的相关操作可以参见对应的文章。annaconda的操作链接。

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

将你的网站放到公网上

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

  • 只要我没关机,即可进行访问,效果如下图。
    • 连接一
    • 连接二

在这里插入图片描述

总结

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/347786.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java字节码深度知多少?

文章目录1、字节码结构1.1、基本结构1.2、实际观测2、内存表示3、方法调用指令4、invokedynamicEND结语Java真的是长盛不衰,拥有顽强的生命力。其中,字节码机制功不可没。字节码,就像是 Linux 的 ELF。有了它,JVM直接摇身一变&…

计算机视觉方向地理空间遥感图像数据集汇总

文章目录1.DSTL卫星图像数据集/Kaggle竞赛2.Swimming Pool and Car Detection/Kaggle竞赛3.SpaceNet Challenge 3数据集4.RarePlanes数据集5.BigEarthNet数据集6.NWPU VHR-10数据集7.UC Merced Land-Use数据集8.Inria Aerial Image Labeling数据集9.RSOD数据集1.DSTL卫星图像数…

项目管理工具dhtmlxGantt甘特图入门教程(九):支持哪些数据格式(上篇)

dhtmlxGantt是用于跨浏览器和跨平台应用程序的功能齐全的Gantt图表,可满足项目管理控件应用程序的所有需求,是最完善的甘特图图表库这篇文章给大家讲解 dhtmlxGantt 的数据属性和数据库结构。 DhtmlxGantt正版试用下载(qun:764…

工厂模式(Factory Pattern)

1.什么是工厂模式 定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。 2.工厂模式的作用 实现创建者和调用者的分离 3.工厂模式的分类 简单工厂模式工厂方法模式抽象工厂模式 4.工厂模式的优缺点 优…

云原生 -- Docker进阶(Docker-compose,Docker网络简单介绍)

Dockerfile的构建过程 每条保留字段必须为大写字母。Dockerfile每行只支持一条指令,但是每条指令可以带多个参数,并且每条保留字指令后面至少要带有一个参数。从上到下依次执行。每条指令都会创建一个新的镜像层,并提交新的镜像。 大致流程…

CRM系统五大技巧集成Excel为销售流程赋能

销售过程中有很多情况会降低团队的效率。通过正确的实施CRM客户管理系统,可以帮助您的企业自动执行手动任务、减少错误并专注于完成交易。这里有5个技巧,可以帮助您的销售人员通过CRM集成Excel为销售流程赋能并提高他们的整体效率。 技巧1:将…

技术源自洛克希德·马丁,光场XR眼镜FYR解析

专注于医疗场景的一家XR眼镜厂商FYR(全称:FYR Medical)近期亮相,并宣布完成了260万美元A轮融资,本轮融资由NuVasive领投,资金将用于开发世界上第一个XR光场“放大镜”类产品。据青亭网了解,NuVa…

1、HAL库UART 中断|DMA 自动回显接收数据

1、实现代码: stm32f4xx_hal_conf.h文件开启UART宏定义 #define HAL_UART_MODULE_ENABLED添加stm32f4xx_hal_uart.c和stm32f4xx_hal_dma.c到自己工程; 编写好的代码:usart_Driver.c /***************************************************…

K8s管理应用生命周期-Deployment篇

在k8s中部署应用程序流程 1、使用Deployment部署Java应用 kubectl create deployment web --imageXXX/java-demokubectl get deployment,pods 2、使用Service发布Pod kubectl expose deployment web --port80 --typeNodePort --target-port8080 --namewebkubectl get servic…

深入【虚拟列表】动态高度、缓冲、异步加载... Vue实现

前言🎀 在前文中我们了解到: 1.在某种特殊场景下,我们需要将 大量数据 使用不分页的方式渲染到列表上,这种列表叫做长列表。 2.因为事件循环的机制,一次性大量的渲染耗时较长,并且渲染期间会阻塞页面交互…

Centos安装OpenResty

文章目录一. OpenResty是什么二. OpenResty的安装1. 安装开发库2. 安装OpenResty仓库3. 安装OpenResty4. 安装opm工具5. 目录结构6. 配置nginx的环境变量7. 启动和运行8. 配置文件修改三. 小案例1. 案例说明2. OpenResty监听请求3. 编写业务代码4. 获取请求参数一. OpenResty是…

深度解析React性能优化API

性能优化一直是前端领域讨论的一个热门问题,但在平时沟通及code review过程中发现很多人对于React中性能优化理解很模糊,讲不清楚组件什么时候更新,为什么会更新,关于React性能优化的文章虽然比较多,但大多数都是在罗列…

【C/C++】内存管理详解

目录内存布局思维导图1.C/C内存分布数据段:栈:代码段:堆:2.C语言中动态内存管理方式3.C内存管理方式3.1new/delete操作内置类型3.2new和delete操作自定义类型4.operator new 与 operator delete函数5.new和delete的实现原理5.1内置类型5.2自定…

ChatGPT is not all you need,一文看尽SOTA生成式AI模型:6大公司9大类别21个模型全回顾(二)

文章目录ChatGPT is not all you need,一文看尽SOTA生成式AI模型:6大公司9大类别21个模型全回顾(二)Image-to-Text 模型FlamingoVisualGPTText-to-Video 模型PhenakiSoundifyText-to-Audio 模型AudioLMJukeboxWhisperChatGPT is n…

protoc-gen-go的使用和问题

最近 在网上查看关于proto文件编译为golang代码的文章,发现遇到的问题好多都是文件目录不对,参数不对的情况,这里主要解决,使用 不同版本的proto-gen-go 参数不一样和找不到文件问题 安装protoc-gen-go google.golang.org仓库版本…

互联网新时代要来了(二)什么是AIGC?

什么是AIGC? 最近,又火了一个词“**AIGC”**2022年被称为是AIGC元年。那么我们敬请期待,AIGC为我们迎接人工智能的下一个时代。 TIPS:内容来自百度百科、知乎、腾讯、《AIGC白皮书》等网页 什么是AIGC?1.什么是AIGC?…

Vue3篇.01-简介及基本使用,项目创建方式, 模板语法, 事件监听, 修饰符

一.简介1.概念Vue 是一款用于构建用户界面的 JS框架, 基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模型, 高效地开发用户界面。渐进式框架, 适应不同需求进行开发。两个核心功能:声明式…

在云原生的趋势下,不掌握Go语言可能不太行

云原生技术已经是不可逆的趋势 云原生技术使组织能够在公共云、私有云和混合云等现代动态环境中构建和运行可扩展的应用程序,其中容器、服务网格、微服务、不可变基础设施和声明式 API 等都是云原生的重要技术内容。 这些新技术的出现使松散耦合的系统具有弹性、可管理和可观…

FPGA基于VDMA实现任意分辨率视频输出显示,高度贴近真实项目,提供工程源码和技术支持

目录1、前言2、任意分辨率视频输出理论基础3、VDMA实现数据缓存4、工程1:Kintex7使用VDMA5、工程2:Zynq7100使用VDMA6、上板调试验证并演示7、福利:工程代码的获取1、前言 之前写过一篇FPGA纯verilog实现任意分辨率视频输出显示,…

hume项目k8s的改造

hume项目k8s的改造 一、修改构建目录结构 1、在根目录下添加build-work文件夹 目录结构如下 [rootk8s-worker-01 build-work]# tree . . ├── Dockerfile ├── hume │ └── start.sh └── Jenkinsfile2、每个文件内容如下 Dockerfile FROM ccr.ccs.tencentyun…