十分钟教你部署一个属于自己的chatgpt网站

news2025/1/31 11:26:52

📋 个人简介

  • 💖 作者简介:大家好,我是阿牛,全栈领域优质创作者。😜
  • 📝 个人主页:馆主阿牛🔥
  • 🎉 支持我:点赞👍+收藏⭐️+留言📝
  • 💬格言:迄今所有人生都大写着失败,但不妨碍我继续向前!🔥
    请添加图片描述

目录

    • 📋 个人简介
  • 前言
    • 前期准备
    • 宝塔面板部署chatgpt网站项目
    • 项目说明以及源码
    • 项目演示
    • 项目专栏
  • 结语

前言

前一段时间写了一篇前端如何实现类似chatgpt的对话页面!上了热榜,阅读量还不错,后来我干脆写了后端,将其做成了一个网站!本篇博客就教你如何十分钟部署一个属于自己的chatgpt网站,十分简单,适合小白!

前期准备

首先,你需要一台服务器,可以去各云商平台购买一台轻量级的!然后给服务器装宝塔面板,这些教程我就不再多说,大家可以自行去查找!

宝塔面板部署chatgpt网站项目

我已将项目开源到了gitee中
下载地址:https://gitee.com/aniu-666/chat-gpt-website

记得给个star哦!

下载完成后将其上传到服务器的www/wwwroot目录下:
在这里插入图片描述
然后去宝塔的软件商店下载python项目管理器!

在这里插入图片描述

然后进入安装好的python项目管理器安装python

在这里插入图片描述
这里我选的版本和我本地的一样,大家自己选择,影响不大!然后等待安装完成!

然后点击项目管理的添加项目按钮

在这里插入图片描述

接下来需要填写部署的主要信息:

在这里插入图片描述
这里启动方式选择gunicon,项目启动文件选择项目中app.py,然后确定就好了!(记得勾选是否安装模块依赖选项,因为我的项目源码里已经导出了项目所需依赖到requirements.txt,会自动安装),至于端口80,如果没有被占用,则可以用,由于我80端口已用,我这里就使用5000端口!需要注意的是你这里的端口要和app.py中app.run(port=80)中的port值对应,源码里我写的普遍用的80端口!

然后项目就部署好了,此时你需要点击映射!

在这里插入图片描述
这里没有域名的话输入你的服务器公网ip地址就ok!

然后你就可以在网站里看到你的项目已经部署成功了!

在这里插入图片描述

此时浏览器输入ip地址即可访问使用自己的chatgpt网站了!(80端口部署直接输入ip地址即可,其他端口则需以ip:端口的方式访问)

在这里插入图片描述

项目说明以及源码

本项目后端用flask快速搭建,可使用宝塔面板中的python项目管理器快速部署!

flask代码:

# -*- coding: utf-8 -*-
from flask import Flask, request,jsonify,render_template
import requests
import json

app = Flask(__name__)

#从配置文件中settings加载配置
app.config.from_pyfile('settings.py')

@app.route("/", methods=["GET"])
def index():
    return render_template("chat.html")

@app.route("/chat", methods=["POST"])
def chat():
    headers = {
        "Content-Type": "application/json",
        "Authorization": f"Bearer {app.config['OPENAI_API_KEY']}",
    }

    def chat(prompt):
        data = {
            "messages": prompt,
            "model": "gpt-3.5-turbo",
            "max_tokens": 2048,
            "temperature": 0.5,
            "top_p": 1,
            "n": 1
        }
        response = requests.post(url=app.config["URL"], headers=headers, json=data)

        response_text = response.json()
        return response_text

    messages = request.form.get("prompt")
    # json串转对象
    messages = json.loads(messages)

    resp = chat(messages)

    return jsonify(resp["choices"][0]["message"])


if __name__ == '__main__':
    app.run(port=80) # 这里port是端口号,与项目部署选用的端口号保持一致

其中open ai的url地址和api key均在settings.py文件中,因此部署时只需在settings中添加你的api key即可!具体在我项目的gitee地址里的README.md中有说明!

项目演示

请添加图片描述

项目专栏

之前项目的前端网页实现博文:chatgpt这么火?前端如何实现类似chatgpt的对话页面

我在后期不断完善了项目bug,在项目的gitee的项目地址可以看到提交信息!

【flask从入门到实战】专栏9.9火热订阅中,已包含两个项目,全站独一无二的脚手架搭建,直接复制简单无脑操作,项目结构类似Django,感兴趣的可以看看哦!

flask框架快速入门

此项目也属于flask项目,因此本篇博文不久也将加入到该专栏中

其他专栏请前往博主主页查看!

结语

随着人工智能技术的不断发展,我们见证了许多令人惊叹的创新和应用。其中,ChatGPT4和Midjourney是两个最引人注目的例子。它们分别展示了自然语言处理和图像生成的前沿能力,为我们开启了一个全新的AI时代。

ChatGPT4是由OpenAI开发的第四代聊天语言模型,它可以理解自然语言并生成与人类无异的回答。ChatGPT4使用了强化学习和大量的数据来训练,从而提高了其对话、语言理解和文本生成的质量和准确性。ChatGPT4可以应用于多种场景,如客服、教育、医疗、商业和娱乐等。

Midjourney是一个独立的研究实验室,它探索了一种新的思维媒介,即根据自然语言描述生成图像。Midjourney使用了类似于OpenAI的DALL-E 2和Stable Diffusion的技术,可以根据用户输入的任意文字生成逼真或想象力丰富的图像。Midjourney可以应用于多种领域,如艺术、设计、教育、游戏和社交等。

ChatGPT4和Midjourney都是AI技术的杰出代表,它们为我们提供了一个与AI互动和创造的平台,也为我们带来了无限的创业机会。我们期待着这两个项目在未来能够不断进步和完善,为人类社会带来更多的价值和乐趣。

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

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

相关文章

( “树” 之 DFS) 543. 二叉树的直径 ——【Leetcode每日一题】

543. 二叉树的直径 给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。 示例 : 给定二叉树 返回 3, 它的长度是路径 [4,2,1,3] 或者 [5,2,1,3]。 注意 :两结点之间…

屏幕色彩(一)-已知混色光色点求配色比

文章目录计算公式html源码运行结果计算公式 [WxWyWz][M][RGB]\begin{gather} \begin{bmatrix} W_x\\ W_y\\W_z \end{bmatrix} \begin{bmatrix} M \end{bmatrix} \begin{bmatrix} R\\G\\B \end{bmatrix} \end{gather} ​Wx​Wy​Wz​​​[M​]​RGB​​​​ 其中,Wxw…

STM-32:串口收发数据包—串口收发HEX数据包/串口收发文本数据包

目录一、发送HEX数据包1.1固定包长,含包头包尾(包尾不是必须的)1.2可变包长,含包头包尾二、接收HEX数据包三、发送文本数据包3.1固定包长,含包头包尾3.2可变包长,含包头包尾四、接收文本数据包五、HEX数据包…

73-Linux_线程安全

线程安全一.什么是线程安全二.strtok和strtok_r1.strtok2.strtok_r三.多线程中执行fork1.多线程中某个线程调用 fork(),子进程会有和父进程相同数量的线程吗?2.父进程被加锁的互斥锁 fork 后在子进程中是否已经加锁 ?一.什么是线程安全 线程安全即就是…

【数据结构】时间复杂度详解

首先我们要知道学习数据结构时都会讨论到算法,数据结构中的问题多数都有算法解决,两者是你中有我,我中有你的关系,所以在数据结构中的学习中算法也是必不可少的。 为方便阅读,以下为本片目录 目录 1.算法效率 1.1 …

JavaScript的学习理解

文章目录一、JavaScript 对象二、JavaScript 函数三、JavaScript 作用域总结一、JavaScript 对象 JavaScript 对象是拥有属性和方法的数据。 真实生活中的对象,属性和方法 在 JavaScript中,几乎所有的事物都是对象。 在 JavaScript 中,对象…

Spring5学习笔记01

一、课程介绍 Spring是什么呢? 它是一个轻量级的、开源的JavaEE框架,它的出现是为了解决企业繁琐的开发包括复杂代码,它可以用很优雅、很简洁的方式进行实现,也就是说它为了简化企业开发而生,而它在目前的企业中应用…

大规模MySQL运维陷阱之基于MyCat的伪分布式架构

引子 分布式数据库,已经进入了全面快速发展阶段,这种发展,是与时俱进的,与人的需求是分不开的,因为现在信息时代的高速发展,导致数据量和交易量越来越大。这种现象首先导致的就是存储瓶颈,因为…

(排序10)归并排序的外排序应用(文件排序)

TIPS 在一些文件操作函数当中,fputc与fgetc这两个函数都是针对字符的,如果说你需要往文件里面去放入整形啊等等,不是字符的类型,这时候就用fprintf,fscanf在参数里面数据类型控制一下就可以。但是话说回来&#xff0c…

自动化测试怎么学?这绝对是全网最系统的教程

目录 1、什么是自动化测试 2、自动化测试的发展前景怎么样 3、自动化测试难不难? 4、目前市场上自动化测试岗位的薪资是多少? 5、自动化测试学习方法好渠道 6、自动化测试怎么学? 学习基础知识 选择自动化测试框架 开始编写测试脚本 …

用HTTP proxy module配置一个反向代理服务器

反向代理与正向代理 摘抄:https://cloud.tencent.com/developer/article/1418457 正向代理 正向代理(forward proxy):是一个位于客户端和目标服务器之间的服务器(代理服务器),为了从目标服务器取得内容,…

“数实融合 元力觉醒”,苏州市元宇宙生态大会圆满召开!

为贯彻落实《苏州市培育元宇宙产业创新发展指导意见》,抢抓数字经济发展新机遇,加速培育与元宇宙发展相关的技术底座,“数实融合 元力觉醒——苏州市软件行业协会元宇宙专委会成立大会暨元宇宙生态大会”于4月14日成功举办。 苏州和数智能软件…

五金件装备不良、视觉检测零件是否缺失硬件方案

【检测目的】 检测不良品 【检测要求】 检测速度:13S一个 【拍摄效果图一】(正面) 【拍摄效果图二】正面 【拍摄效果图三】正面 【拍摄效果图四】(正面) 【拍摄效果图五】(正面) 【拍摄效果图…

如何写好付费专栏之开宗明义篇

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。 本文主要介绍了写好付费专栏的开宗明义篇,希…

电脑上删除的文件可以恢复吗 如何恢复电脑上删除的文件

电脑早已走进千家万户,成为我们不可或缺的家庭设备,我们用电脑来学习、工作,处理各种数据。在使用电脑处理数据时,可能会失误操作,删除重要文件。那么,电脑上删除的文件可以恢复吗,如何恢复电脑…

Python学习笔记--函数进阶

(一) 函数多返回值 按照返回值的顺序,写对顺序的多个变量接收即可变量之间用逗号隔开支持不同类型的数据return def test_return():return 1,2x,y test_return() print(x) print(y)(二) 函数的多种传参方式 函数参数…

MySQL批量更新的常用实践

MySQL批量更新的常用实践 批量更新一般在批处理系统或者定时任务中比较常见,常见的诉求就是对表中多条数据进行更新(待更新的值是不一样的,这个区别于update … where in(…)) 1.利用case … when … 方式批量更新 特点&#x…

5年碌碌无为,我终于从功能测试转到了自动化测试,薪资暴涨8K......

目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 自动化测试现已悄然…

JavaEE企业级应用开发教程——第十二章 Spring MVC数据绑定和相应(黑马程序员第二版)(SSM)

第十二章 Spring MVC数据绑定和相应 12.1 数据绑定 在 Spring MVC 中,当接收到客户端的请求时,会根据请求参数和请求头等信息,将参数以特定的方式转换并绑定到处理器的形参中,这个过程称为数据绑定。数据绑定的流程大致如下&…

Golang每日一练(leetDay0035) 二叉树专题(4)

目录 103. 二叉树的锯齿形层序遍历 Binary Tree Zigzag Level Order Traversal 🌟🌟 104. 二叉树的最大深度 Maximum Depth of Binary-tree] 🌟 105. 从前序与中序遍历序列构造二叉树 Construct-binary-tree-from-preorder-and-inorder-…