云服务器搭建Python项目实现学术优化chatgpt

云服务器搭建实现学术优化chatgpt

  • 1 服务器准备
  • 2 云服务器配置
    • 2.0 FTP配置
    • 2.1 python虚拟环境
      • 2.1.1 python3.9安装配置
      • 2.1.2 下载python项目
      • 2.1.3 创建python虚拟环境
  • 3 项目“服务化”(后台运行python项目)
  • 4 localURL访问(公网ip访问,域名访问)
    • 4.1 云服务器添加防火墙规则
    • 4.2 云服务器系统防火墙放开端口
    • 4.3 修改python项目中的端口
  • 5 域名访问
    • 5.1 备案
    • 5.2 修改DNS解析(不想备案那就Cloudflare)

1 服务器准备

一个可以访问openAI的服务器,内地配置具体见我上篇文章:

云函数搭建内地可用的OpenAI代理

这里用的是腾讯云服务器,OpenCloud centos 8.6系统

2 云服务器配置

2.0 FTP配置

上一篇文章写了如何配置FTP用于与linux云服务器的文件传输

云函数搭建内地可用的OpenAI代理中的第二章节

2.1 python虚拟环境

云服务器好像是自带python3.6.8的,由于项目所需环境比较新,所以要重新安装,越新越好,不然会有很多莫名其妙的问题,或者首先你就会被虚拟环境宰了。比如:
在这里插入图片描述
卸载 Python 3.6.8:

sudo yum remove python=3.6.8

或卸载 Python(建议这个,全卸了,避免某些还给你保留了python2):

sudo yum remove python

2.1.1 python3.9安装配置

  1. 安装 Python 3.9:
sudo yum -y install python=3.9
  1. 检查 Python 3.9 是否成功安装:
python --version
  1. 若安装不成功,可以尝试先安装 EPEL 仓库,再重复进行1和2
sudo yum -y install epel-release

如果你不是centos,可能自带的第三方软件包就不是yum,可以换成apt-get试试

2.1.2 下载python项目

  1. 找一个文件夹放项目,确认自己找得到这个路径。
 git clone https://github.com/binary-husky/chatgpt_academic.git

如果你没有安装git,还是要安装git,但是我觉得安装git太麻烦了,再加上从github上下载可能速度较慢,我直接自己本地下载完利用ftp传输上来的。

而且本地下载的话修改比较方便,我想你也不想用那个可恶的vim吧?

  1. 复制config.py到一个config_private.py文件,修改里面的API_URL指为上篇文章弄到的那个香港代理地址加上后面这段/v1/chat/completions

因为香港代理地址仅仅表示的是https://api.openai.com

  1. 因为是直接映射的,所以就不需要代理了,USE_PROXY = False

  2. API_KEY填自己的key

  3. 另外在main.py文件里的最后一段话里面记得加个参数share=True,否则不生成外部链接(不仅在局域网中可以访问)啊。

demo.queue(concurrency_count=CONCURRENT_COUNT).launch(server_name="0.0.0.0", share=True, server_port=PORT, auth=AUTHENTICATION, favicon_path="docs/logo.png")

在这里插入图片描述
在这里插入图片描述

2.1.3 创建python虚拟环境

如果你的linux是带图形界面的,可以考虑用pycharm,在里面装python环境比较友好一些,摆脱命令行。

要在Python中创建一个虚拟环境,

找个文件夹放虚拟环境,我是就放在项目目录下的,

可以按照以下步骤进行操作:

  1. 安装virtualenv模块:

    pip install virtualenv
    
  2. 在命令行中,导航到要创建虚拟环境的目录,创建虚拟环境:

    virtualenv env_name
    

    其中,env_name是您要为虚拟环境指定的名称。请注意,这将会在当前目录中创建一个名为env的新文件夹,并将虚拟环境安装到其中。

  3. 激活虚拟环境。要在命令行中激活虚拟环境,请执行以下命令:

    source env_name/bin/activate
    

    在Windows系统上,要激活虚拟环境,请运行以下命令:

    env_name\Scripts\activate
    
  4. 现在就处于虚拟环境中,可以自行安装相应的安装包了。本项目中,

    python -m pip install -r requirements.txt
    

要注意,此时所在目录一定要是项目的目录,不然找不到这个requirements.txt文件,你可以pwd看看当前目录路径,也可以ls看看当前路径下有哪些文件。

  1. 有了环境,有了项目就可以直接运行了,

    python main.py
    

如果你2.1.2节中的修改没有问题,这时已经好了,并且会生成两个链接。输出大概是这样:

在这里插入图片描述

这时候就已经好了。确实可以通过public URL 来打开,

至于能不能回答问题,这取决于你的APIkey是否正确以及代理地址是否正确。

在这里插入图片描述

but,有个很尴尬的问题,当你退出python程序后,程序就退出了,链接就失效了。

而当你本地主机关闭与云服务器的连接时,python程序也就退出了,

若不关闭连接就不能脱离本地主机运行,那上云的意义何在?

那么,如何永驻?

3 项目“服务化”(后台运行python项目)

为了让上云有意义,

第一反应就是将程序“服务化”

想了下关键词,是后台运行。

在先前的项目目录中;在先前的虚拟环境中

nohup python -u main.py > logfile.log 2>&1 &

解释:

  • nohup 不是指定的在后台运行,但是这个nohup是让程序永久运行下去,和前后台没关系(这个不用改)

  • “-u”表示不启用缓存,实时输出打印信息到日志文件(如果不加-u,则会导致日志文件不会实时刷新代码中的print函数的信息)
    但程序还是运行滴,但总体还是不舒服的,不在掌控中。就是你感觉程序好像崩了。

  • main.py 这个是项目的主程序,就是想要运行的程序

  • “> logfile.log” 这个右括号是把你的输出的日志到后边的logfile.log日志文件中

  • 2>&1 这个2表示的当出错的时候输出的错误信息 >& 这个表示重定向;1表示标准输出 ,所以结合起来就是把错误信息重定向到标准输出

  • & 这个表示在后台运行

然后具体的输出信息就可以在logfile.log文件里面看到,查看的命令是:

cat logfile.log

localURLpublicURL都在里面,包括你的web端口,代理信息等等。虽然publicURL说的是72小时有效,但是经过我的实测,是无限期的,开心吧。

如果没搞好,nohup命令也会给你个进程号,如果你发现有地方不对,记得杀进程再重新搞(毕竟nohup这命令是要永久后台运行!)

kill -9 PID

-9应该是一种属性比如不顾一切地杀了(千万别觉得这是进程号,我当初就是这么把自己玩崩了);PID是指进程号,就是上述命令返回的那个值。

如果你后台运行完觉得万事大吉了,然后关了,然后发现不对劲,但是找不到进程了,怎么找进程?

ps aux |grep main

That’s all.

但是这个经过huggingface转发的链接会导致加载比较慢。而且如果你想要通过你的公网ip访问或者是通过你的域名访问,

考虑localURL

4 localURL访问(公网ip访问,域名访问)

要直接通过localURL来访问的话,需要给云服务器添加防火墙规则,并在云服务器系统中放开端口。

4.1 云服务器添加防火墙规则

在这里插入图片描述

4.2 云服务器系统防火墙放开端口

不用iptables,用firewalld

  1. 开启防火墙服务firewalld
# 开启防火墙服务
sudo service firewalld start
或者
sudo systemctl start firewalld
# 重启防火墙服务
sudo service firewalld restart
# 关闭防火墙服务
sudo service firewalld stop
  1. 查看防火墙服务状态
# 查看防火墙服务状态
sudo systemctl status firewalld
# 查看防火墙状态
sudo firewall-cmd --state
  1. running状态下,向firewall添加需要的端口
# 查看防火墙服务状态
sudo firewall-cmd --permanent --zone=public --add-port=666/tcp
或者
sudo firewall-cmd --zone=public --add-port=5151/tcp --permanent# 重新加载配置
sudo firewall-cmd --reload

命令的作用是以管理员身份对公开域永久开放tcp协议的666和5151端口,即允许这两个端口的tcp流量通过。

自己要哪些端口就加那些。

如果加错了想删除,把add-port改成remove-port就行,比如google禁用了一些不安全端口:
google限制端口
其中6666就在里面,

sudo firewall-cmd --permanent --zone=public --remove-port=6666/tcp
  1. 查看已经放开的端口
# 查看对公开域永久放开的端口
sudo firewall-cmd --permanent --zone=public --list-ports
或者
# 列出所有的firewalld规则
sudo firewall-cmd --list-all

如果你是先后台运行了python项目,找到了随机的web端口,然后加了防火墙规则,这时候已经可以通过公网ip+端口访问这个web应用了。

如果你想固定这个放开的端口,以免每次运行都要重新放开端口,那就修改python配置文件设置固定端口。

4.3 修改python项目中的端口

到python项目路径下修改config_private.py配置文件中的端口,WEB_PORT = -1表示每次开机的端口都是随机的,比较麻烦,所以我改成自己想放开的端口,对应上前面的防火墙规则。

在这里插入图片描述

在这里插入图片描述

然后像第三章那样重新运行就可以了。

5 域名访问

5.1 备案

搞了几天,极其麻烦,要求还严格,心态崩了。

5.2 修改DNS解析(不想备案那就Cloudflare)

Cloudflare dashboard
注册账号开始免费使用就行了。

  1. Cloudflare dashboard注册账号开始免费使用。
  2. 添加站点(Add site),输入你的域名。
  3. 然后按着说明操作就行了,不会就按照默认的来,一路保存到最后,保存他给出的DNS server(待会要修改到云服务器的DNS服务器)。提交完后续24小时内会收到Cloudflare解析完的邮件:
    在这里插入图片描述
  4. 在自己买的域名的云产品里面找到域名注册,然后选择管理域名,在DNS解析里修改DNS服务器,换上刚才保存的地址。

在这里插入图片描述
在这里插入图片描述
5. 等他生效,

https解析,,,待写。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ChatGPT中文LLM相关的开源大模型资源汇总

文章目录 前言1.文本LLM模型1.1 ChatGLM-6B1.2 ChatGLM2-6B1.3 Moss1.4 Chinese-LLaMA-Alpaca1.5 OpenChineseLLaMA1.6 BELLE1.7 Panda1.8 Robin1.9 Fengshenbang-LM1.10 Luotuo-Chinese-LLM1.11 Linly1.12 Firefly1.13 ChatYuan1.14 ChatRWKV1.15 CPM-Bee1.16 TigerBot1.17 书…

【跟着ChatGPT学深度学习】ChatGPT带我学情感分析

❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️ 👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博…

Chatgpt报错:The site owner may have set restrictions

Chatgpt报错如下: You do not have access to chat.openai.com. The site owner may have set restrictions that prevent you from accessing the site. 错误码:1020 解决办法: 关闭网站后 换节点!换完节点 打开网址&#xf…

文心一言和chatgpt差在哪里

声明 开头声明,个人并非为了故意羞辱和诋毁某公司而写的本篇博客, 只是想单纯的做技术分析,因为技术的探索上是无止境的,我们可以原谅国内计算机技术的不成熟,也可以理解生活的不容易,每个人都在努力&…

ChatGPT爆火 元宇宙失宠了?

去年年底以来,以AI文字、图片创作为代表的AIGC异军突起,既受到很多大厂的追捧,相继推出相关产品,也再度出现了“AI是否会取代人类”的质疑声音。作为由人工智能研究实验室OpenAI发布的全新聊天机器人模型——ChatGPT,实…

ChatGPT 团队背景(共87人)

上一篇:42岁百度员工被裁,向李彦宏及公司高管发邮件 最近,最火的莫过于ChatGPT了,不到半个月用户破百万,不到3个月用户破亿,成为用时最短、最快破亿的应用。被称为AI史上的重大突破。 就是这样的ChatGPT&am…

程序员如何利用chatGPT提高开发效率

对于编程人员来说了解 ChatGPT 是很有帮助的,因为它是一个自然语言处理模型,可以用于处理各种文本任务,例如生成代码注释、代码自动补全、错误检测和纠正、问题回答等等。通过利用 ChatGPT,程序员可以更快速地生成代码&#xff0c…

ChatGPT 进阶1- 提示工程简介

ChatGPT 是一个基于 OpenAI 的大型语言模型,采用GPT-4(Generative Pre-trained Transformer 4)架构。GPT-4 是继 GPT-3 之后的一个更先进的自然语言处理模型,它在许多任务中表现出更高的性能和能力。 ChatGPT 有很多应用场景&…

关于 ChatGPT-4 你需要知道的一切

自人工智能公司 OpenAI 推出 ChatGPT 以来仅仅四个月,而且——毫不夸大其重要性——永远改变了世界。在短短的 15 周内,它引发了全球就业市场的世界末日预言,扰乱了教育系统,并吸引了从大银行到应用开发商的数百万用户。 但现在它…

解决反代ChatGPT API接口后502 Bad Gateway问题

前言 前几天,写了一篇《宝塔快速反代openai官方的API接口,实现国内直接使用ChatGPT》,直接把我一个闲置的域名反代了api.openai.com,从而实现了国内直接使用ChatGPT的目的,但是有网友给博主反映,我的API反…

港大禁用 ChatGPT 等 AI 工具,网友:“从万众瞩目到千夫所指?”

整理 | 朱珂欣 出品 | CSDN程序人生(ID:coder_life) ChatGPT 横空出世之后,感觉众多职业都面临被 AI 取代的危险,不少人惊呼:感觉我要被分分钟取代了,甚至连李开复都发微博列举了 20 项最容易…

港大全面封杀ChatGPT!AI肆虐高校,作弊丑闻震惊全世界

来源:新智元(ID:AI_era) 编辑:学妹 ChatGPT,已经开始在全世界的高校里肆虐。最近,港大打响了国内AI反击战第一枪。 随着AI生成的文本与人类的写作越来越像,高中和大学的老师们快被疑…

ChatGPT遭港大「封杀」:罪同论文剽窃抄袭,使用须报备过审

衡宇 发自 凹非寺量子位 | 公众号 QbitAI ChatGPT太能写了,论文、作业,哪里不会就帮写哪里。 为此,香港大学明文禁止师生将ChatGPT用于教学用途,违规使用将被判为抄袭。 港大也成为国内首家对ChatGPT进行明文规定的高校。 具体来说…

ChatGPT实现撰写邮件

撰写邮件 电子邮件是日常工作中很常用的工具,在相对正式的场合,一封格式美观、用语典雅的电子邮件正文会起到很好的作用。ChatGPT 可以较好的完成电子邮件的编写和格式美化工作。 下面让我们以产品销售的角度,写一封推销邮件。假定产品名称…

教程 | 太炸裂,使用ChatGPT插件写邮件,效率提升100倍

今天,我们要介绍一款与ChatGPT相关的浏览器插件:ChatGPT Writer。 ChatGPT Writer不同于其他浏览器插件,它的专注点在于能够在所有网站上编写电子邮件和消息。这个工具不仅适用于日常办公,还特别适合需要频繁进行邮件回复的客服岗…

【ChatGPT实战】2.使用ChatGPT自动化操作邮件

邮件营销,相信大家一定不会陌生吧,特别是做跨境电商的用户,那么邮件营销特别常见的。因此,决定给大家写这篇实操文章。 接下来,我将向大家介绍如何使用ChatGPT来自动化处理邮件,让我们不再被无休止的邮件沟…

【已解决】chatgpt报错 access denied

报错截图 一般是节点ip被封的问题! 解决方法 重启魔法!(简单,优先尝试)换节点或者换工具 (推荐美国节点,另外推荐原生节点)清空浏览器缓存,注意如果不行,就清空24小时或…

ChatGPT提示语大全

我的新书《Android App开发入门与实战》已于2020年8月由人民邮电出版社出版,欢迎购买。点击进入详情 ChatGPT提示语:分门别类的提示语大全 这里汇集了丰富的 ChatGPT 提示语、创意写作灵感与实用技巧。让我们帮助您激发无限创意,提升写作效率…

ChatGPT或要推出APP,OpenAI官宣为ChatGPT招募移动端开发工程师

文 | 兔子酱 OpenAI官方招聘页面放出了英雄帖,他们正在为ChatGPT招聘移动端工程师: 传送门: https://openai.com/careers/mobile-engineering-manager-chatgpt 其中,跨iOS和Android的工程主管年薪为20至37万美元,总薪酬还包括慷慨…

ChatGPT突然上线APP!iPhone可用、速度更快,GPT-4用量限制疑似取消

梦晨 明敏 发自 凹非寺量子位 | 公众号 QbitAI ChatGPT,现在有iOS版本了! 就在几个小时前,OpenAI官方突然大放送,官宣ChatGPT正式推出iOS APP。 瞬间冲上苹果商店免费榜第二名,效率榜第一名。 (第一是拼多多…