私有化部署GPT,告别网络困扰

news2024/12/28 19:17:07

最近的GPT是热火朝天,基本人手一个。工具用的好,工作5分钟,划水一整天。

不过最近Chat的访问越来越限制了,访问官网都有网络的问题,今天给大家介绍一个方案,私人独享属于自己的chat,不再担心想用的时候访问不了的情况。

项目是Github上开源chatGPT项目,基于 OpenAI GPT-3.5 Turbo API 的demo。
代码库地址:chatgpt-demo

效果如下:

使用步骤

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,获取地址:https://platform.openai.com/account/api-keys,需要将.env.example文件重命名为.env文件,并将你的key写到.env文件里

# 重命名文件
mvn .env.example .env
# 写入key
vim .env

将下面文本中的key替换为你的key,替换后按esc键,然后再输入:wq 保存退出

 OPENAI_API_KEY=sk-xxx...

6.运行应用

运行项目,并且让你的应用能在公网访问到,执行命令如下,出现IP和端口号就说明运行成功了

pnpm run dev --host 0.0.0.0

在这里插入图片描述

需要注意的是,上面显示的IP通常是云服务器内网IP,不可直接访问,需要使用服务器的公网IP:3000端口号访问

以阿里云为例,每个服务器都有公网IP和内网IP,记得改为公网IP

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

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

相关文章

sdx12使能bluetooth

最后的效果: 1.驱动使能 apps_proc/kernel/msm-5.4/arch/arm/configs/vendor/sdxnightjar.config #add bt driver CONFIG_BTy CONFIG_MSM_BT_POWERy使用的芯片是sdx12 QCA6174A-1 管脚配置如下(如果管脚不同,需要修改对应的dts&#xff09…

(十)排序算法-冒泡排序

1 排序算法 1.1 介绍 排序也称为排序算法(Sort Algorithm),排序是将一组数据,依指定的顺序进行排列的过程。 1.2 排序的分类 (1)内部排序 指将需要处理的所有数据都加载到内部存储器中进行排序。 &…

C/C++程序设计——const关键字

1.修饰变量 1.1 作用 功能:不能直接被修改 const修饰变量,就相当于是定义了一个常量。该变量不能直接被修改,但是可以通过指针修改。 作用:便于维护、提前发现可能错误的修改 比如程序中大量使用了一个数字10,且不会…

GaussDB工作级开发者认证—第一章GaussDB数据库介绍

一. GaussDB概述 GaussDB是华为基于openGauss自研生态推出的企业级分布式关系型数据库。具备企业级复杂事物混合负载能力,同时支持分布式事务强一致性,同城跨AZ部署,数据0丢失,支持1000的计算节点扩展能力,4PB海量存储…

springcloud2.1.0整合seata1.5.2+nacos2.10(附源码)

springcloud2.1.0整合seata1.5.2nacos2.10(附源码) 1.创建springboot2.2.2springcloud2.1.0的maven父子工程如下,不过多描述: 搭建过程中也出现很多问题,主要包括: 1.seataServer.properties配置文件的组…

安全配置管理 (SCM):建立安全的基础

通过确保在端点中建立和维护理想的安全配置,让自己在安全的基础上做好准备,这样公司就不会因单个漏洞而分崩离析。安全配置管理涉及持续检测端点中各个组件之间的配置偏差和错误配置,并使它们重新对齐。 在本文中,将了解 Vulnera…

<Linux开发> linux应用开发-之-进程通信之管道例程

一、简介 所谓管道,是指用于连接一个读进程和一个写进程,以实现它们之间通信的共享文件,又称 pipe 文件。 向管道(共享文件)提供输入的发送进程(即写进程),以字符流形式将大量的数…

Windows串口出厂测试工具与使用说明

WCHUsbSerTest是一款用于WCH USB转串口系列产品出厂测试的工具软件,方便用户对产品进行批量化功能测试。该软件支持以下特性: 支持设备热插拔检测,插入自动测试。支持两种测试模式:1个设备自测、2个设备互相连接测试。支持多种串…

VMware Horizon 8 2303 - 虚拟桌面基础架构 (VDI) 和应用软件

请访问原文链接:https://sysin.org/blog/vmware-horizon-8/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org Version2303DocumentationRelease NotesRelease Date2023-03-30 虚拟桌面基础架构 (VDI) 和应用软件 VMw…

chagpt中文镜像版-ChatGPT工具下载

ChatGPT工具下载 ChatGPT是由OpenAI公司开发的预训练语言模型,目前已经开源并在GitHub上发布了相关代码和模型,提供了使用Python编写的API。如果您要使用ChatGPT,您可以通过以下步骤进行下载和安装: 在GitHub上下载:您…

【vue】 vue2 中使用 Tinymce 富文本编辑器

文章目录Tinymce 效果一、安装依赖二、封装组件-Tinymce.vue三、汉化文件-zh_CN.js四、vue使用组件封装五、整体目录结构六、可能会遇到的问题import "tinymce/icons/default" 路径找不到需要升级tinymce版本Tinymce 效果 一、安装依赖 npm i tinymce5.1.0 -S npm i…

计算机组成原理实验一(完整)

在VC中使用调试功能将下列语句运行的内存存放结果截图&#xff0c;每运行一句需截图一次。 #include<stdio.h> int main() {int a 你的学号末两位-100; //0x&#xff1f;&#xff1f;&#xff1f;&#xff1f;&#xff1f;&#xff1f;&#xff1f;&#xff1f;&#x…

【Redis 进阶之路】3. Redis 主从 以及哨兵

Redis 主从 以及哨兵 单实例Redis 不足&#xff1a; 上述的是一个单实例的Redis。 我们可以先分析下有哪些不足&#xff1a; 单点故障 &#xff08;是每个单实例必须面对的问题&#xff09;容量有限 &#xff08;Redis毕竟是缓存型数据库&#xff0c;容量取决于服务器分配的容…

多目标优化算法评价指标(performance metrics)

参考Performance metrics in multi-objective optimization​​​​​​​ Riquelme, N., Lcken, C. V., & Baran, B. (2015, 19-23 Oct. 2015). Performance metrics in multi-objective optimization. Paper presented at the 2015 Latin American Computing Conference…

SpringBoot整合ES 实现简单项目(七)

一直在烂尾&#xff0c;对&#xff0c;说的就是你&#xff0c;楼. 上一章简单介绍了 SpringBoot 整合 ES (六), 如果没有看过,请观看上一章 这一章节老蝴蝶做一个简单的 ES 查询项目 一. pom.xml 添加依赖 <!--引入MySql的驱动--><dependency><groupId>mys…

小林coding——图解MySQL

文章目录基础篇执行一条select语句&#xff0c;期间发生了什么&#xff1f;MySQL一行记录是怎么存储的&#xff1f;索引篇索引常见面试题什么是索引&#xff1f;索引的分类&#xff1f;小结从数据页的角度看B树为什么MySQL采用B树作为索引&#xff1f;MySQL单表不要超过2000W行…

ElasticSearch分片与Lucene Index

在ES中一个索引有一个或者多个分片构成&#xff0c;在创建索引的时候可以设置主分片和副本分片的数量&#xff0c;当主分片确定之后就不可以再修改了(因为路由需要基于这个数量来分发请求)&#xff0c;而副本分片数量随时可以修改 PUT /myIndex {"settings" : {&quo…

使用ensp软件模拟DNS服务器实验

DNS服务器介绍&#xff1a; DNS服务器&#xff08;Domain Name Server&#xff0c;域名服务器&#xff09;是进行域名和与之相对应的IP地址进行转换的服务器。它起到将人类易于记忆的域名映射到相应的机器可识别的IP地址的作用。 DNS服务器中保存了一张域名和与之相对应的IP地…

Flutter 中 Provider 基本使用

前言&#xff1a; Provider.of<XXX>(context).数据 Provider.of<XXX>(context).方法 ChangeNotifier&#xff1a;这个是真正数据&#xff08;状态&#xff09;存放的地方。我们自己创建的provider 是混入ChangeNotifier 的。 一 安装 在pub.dev 上搜索provider …

2.技巧※(0x3f:从周赛中学算法 2022下)

来自0x3f【从周赛中学算法 - 2022 年周赛题目总结&#xff08;下篇&#xff09;】&#xff1a;https://leetcode.cn/circle/discuss/WR1MJP/ 技巧指一些比较套路的算法&#xff0c;包括双指针、滑动窗口、二分&#xff08;主要指二分答案&#xff09;、前缀和、差分、前后缀分解…