ChantGPT很多,网上很多说的ChantGPT搭建及源码都是假的,无法使用的,自己研究了好几天,搞定了基于Vue3搭建ChantGPT前后端端源码及搭建教程,现在分享出来,有喜欢的朋友自行下载搭建,用的是openAPI官方接口和key。

搭建好的ChantGPT主要可以实现多聊天窗口,聊天记录导出下载,刷新能保持原来的内容。

源码下载:https://www.uihtm.com/vue/19287.html

体验网址www.crxchrome.com

先说下技术框架及主要步骤:

  • 准备ke学上网工具,国外发码虚拟号,申请好key。(注:需要使用ke--学上网,地区选择韩国,日本,印度,新加坡,美国);

  • 前端vue3聊天界面交互,后端express转发接口

  • nginx反向代理转发

看下截图:

代码截图:

环境要求:

Node

node 需要 ^16 || ^18 || ^19 版本(node >= 14 需要安装 fetch polyfill),使用 nvm 可管理本地多个 node 版本

node -v

填写密钥

获取 Openai Api Key 或 accessToken 并填写本地环境变量 跳转

# service/.env 文件

# OpenAI API Key - https://platform.openai.com/overview
OPENAI_API_KEY=

# change this to an `accessToken` extracted from the ChatGPT site's `https://chat.openai.com/api/auth/session` response
OPENAI_ACCESS_TOKEN=

安装依赖

为了简便 后端开发人员 的了解负担,所以并没有采用前端 workspace 模式,而是分文件夹存放。如果只需要前端页面做二次开发,删除 service 文件夹即可。

后端

进入文件夹 /service 运行以下命令

pnpm install

前端

根目录下运行以下命令

pnpm bootstrap

测试环境运行

后端服务

进入文件夹 /service 运行以下命令

pnpm start

前端网页

根目录下运行以下命令

pnpm dev

环境变量

API 可用:

OPENAI_API_KEY 和 OPENAI_ACCESS_TOKEN 二选一

OPENAI_API_MODEL 设置模型,可选,默认:gpt-3.5-turbo

OPENAI_API_BASE_URL 设置接口地址,可选,默认:https://api.openai.com

ACCESS_TOKEN 可用:

OPENAI_ACCESS_TOKEN 和 OPENAI_API_KEY 二选一,同时存在时,OPENAI_API_KEY 优先

API_REVERSE_PROXY 设置反向代理,可选

通用:

AUTH_SECRET_KEY 访问权限密钥,可选

MAX_REQUEST_PER_HOUR 每小时最大请求次数,可选,默认无限

TIMEOUT_MS 超时,单位毫秒,可选

SOCKS_PROXY_HOST 和 SOCKS_PROXY_PORT 一起时生效,可选

SOCKS_PROXY_PORT 和 SOCKS_PROXY_HOST 一起时生效,可选

HTTPS_PROXY 支持 http,https, socks5,可选

ALL_PROXY 支持 http,https, socks5,可选

前端网页

1、修改根目录下 .env 文件中的 VITE_GLOB_API_URL 为你的实际后端接口地址

2、根目录下运行以下命令,然后将 dist 文件夹内的文件复制到你网站服务的根目录下

pnpm build

基于Vue3搭建ChantGPT前后端端源码及搭建教程-官方接口的更多相关文章

  1. 基于spring security 实现前后端分离项目权限控制

    前后端分离的项目,前端有菜单(menu),后端有API(backendApi),一个menu对应的页面有N个API接口来支持,本文介绍如何基于spring security实现前后端的同步权限控制. ...

  2. 【ZooKeeper系列】3.ZooKeeper源码环境搭建

    前文阅读: [ZooKeeper系列]1.ZooKeeper单机版.伪集群和集群环境搭建 [ZooKeeper系列]2.用Java实现ZooKeeper API的调用 在系列的前两篇文章中,介绍了Zo ...

  3. 基于Redis缓存的Session共享(附源码)

    基于Redis缓存的Session共享(附源码) 在上一篇文章中我们研究了Redis的安装及一些基本的缓存操作,今天我们就利用Redis缓存实现一个Session共享,基于.NET平台的Seesion ...

  4. 基于LNMP的Zabbbix之Zabbix Agent源码详细安装,但不给图

    基于LNMP的Zabbbix之Zabbix Server源码详细安装:http://www.cnblogs.com/losbyday/p/5828547.html wget http://jaist. ...

  5. zookeeper集群搭建及Leader选举算法源码解析

    第一章.zookeeper概述 一.zookeeper 简介 zookeeper 是一个开源的分布式应用程序协调服务器,是 Hadoop 的重要组件. zooKeeper 是一个分布式的,开放源码的分 ...

  6. Flink的Job启动TaskManager端(源码分析)

    前面说到了  Flink的JobManager启动(源码分析)  启动了TaskManager 然后  Flink的Job启动JobManager端(源码分析)  说到JobManager会将转化得到 ...

  7. .Net Core 认证系统之基于Identity Server4 Token的JwtToken认证源码解析

    介绍JwtToken认证之前,必须要掌握.Net Core认证系统的核心原理,如果你还不了解,请参考.Net Core 认证组件源码解析,且必须对jwt有基本的了解,如果不知道,请百度.最重要的是你还 ...

  8. vs2008编译FileZilla服务端源码

    vs2008编译FileZilla服务端源码 FileZilla服务端下载地址:https://download.filezilla-project.org/server/.FileZilla服务端源 ...

  9. Android上掌纹识别第一步:基于OpenCV的6种肤色分割 源码和效果图

    Android上掌纹识别第一步:基于OpenCV的6种肤色分割 源码和效果图 分类: OpenCV图像处理2013-02-21 21:35 6459人阅读 评论(8) 收藏 举报   原文链接  ht ...

  10. 早前阅读live555源码做的笔记

    早前阅读live555源码的时候做了一些简单的笔记.现在看来那个时候对C++的理解还是不够,还有很多不足.当时对很多名词也不是很熟悉,对一些类的描述也很生硬,所以笔记中有一些不通畅之处. 阅读live ...

随机推荐

  1. JAVA基础环境配置指南(简洁版)

    1.安装JDK 官网下载后直接安装 配置环境变量: 添加 JAVA_HOME 变量名:JAVA_HOME 变量值:C:\Program Files (x86)\Java\jdk1.8.0_91 // ...

  2. Deepin 设置开机执行某sh文件

    背景 deepin系统上部署了Geoserver,但是每次开机后都得手动过去起,麻烦,故想着找个办法解决下 过程 在/etc/systemd/system目录下新建一个 geoserver.servi ...

  3. C# Lambda || Linq 效率问题

    255条数据 static void Main() { List<IPEndPoint> list = new List<IPEndPoint>(); for (int i = ...

  4. Hi3516EV200 编译环境配置及交叉编译软件包

    基础信息 OS: Ubuntu 16.04 xenial SDK 版本: Hi3516EV200R001C01SPC012 - Hi3516EV200_SDK_V1.0.1.1 SDK 包路径:Hi3 ...

  5. 读论文-基于会话的推荐系统综述(A survey on session-based recommender systems)

    前言 今天读的论文是一篇于2021年发表于"ACM Computing Surveys (CSUR)"的论文,文章写到,推荐系统在信息过载时代和数字化经济中非常重要.基于会话的推荐 ...

  6. 读论文-顺序推荐系统_挑战、进展和前景(Sequential recommender systems_ challenges, progress and prospects)

    前言 今天读的论文为一篇于2019年发表的论文,是关于顺序推荐系统(Sequential Recommender Systems,SRSs)的研究,作者对SRSs的挑战.进展和前景进行了系统综述. 要 ...

  7. 非容器环境中使用Selenium,提升Chrome与ChromeDiver兼容性

    背景 在 Windows 环境下使用 Selenium 时,Chrome 浏览器版本与 ChromeDriver 版本的兼容性问题是一个常见的困扰. 由于 Chrome 频繁更新,而 ChromeDr ...

  8. python 二级 第三方库

    爬虫:rs 1.requests:链接访问 2.scrapy:系统构建.数据挖掘.网络监控.自动化 数据分析方向 nsp 1.numpy :数组 .科学计算.c语言编写 2.scipy:科学.数学.工 ...

  9. Suspense和vue-async-manager

    Suspense Suspense是 Vue3.x 中新增的特性, 那它有什么用呢?别急,我们通过 Vue2.x 中的一些场景来认识它的作用. Vue2.x 中应该经常遇到这样的场景: <tem ...

  10. SeaBIOS实现简单分析

    SeaBIOS是一个16bit的x86 BIOS的开源实现,常用于QEMU等仿真器中使用.本文将结合SeaBIOS Execution and code flow和SeaBIOS的源码对SeaBIOS ...