记一次购买海外服务器的经历和python包管理小记

news/2024/12/29 13:25:09/

概述

最近在研究ChatGPT,需要有个服务器一直挂着,刚好看到raksmart在搞活动;

可以关注下,他们的活动页面
https://billing.raksmart.com/whmcs/index.php?rp=%2Fannouncements&language=chinese-cn

刚好四月,有便宜的云服务,可以用来挂GPT。大概思路,就是利用QQ机器人去请求openAI的接口,这样,QQ里就有了一个全知全能的私人助手。

为此,我们需要:

  1. 海外云服务器或vps(选海外因为便宜,另一方面,它请求openAI接口,不需要VPN)
  2. QQ机器人程序,自己写好
  3. 为了防止云服务器的ip被墙,给他套一个CDN的壳。

海外服务器

官方地址:https://billing.raksmart.com/

该云服务提供商,时不时会有秒杀超低价活动,注意看活动公告:https://billing.raksmart.com/whmcs/index.php?rp=%2Fannouncements&language=chinese-cn

我买的是这个:
在这里插入图片描述
当然已经没货了,这个自己留意下,当月的活动情况。有秒杀就直接下手。raksmart支持支付宝支付,很方便。
购买后,长这个样子:

操作系统选择Ubuntu:Ubuntu-20.04.1-x64(自选),不要选择centos,因为已经不再维护了。

在这里插入图片描述

服务器有了,还需要远程登录客户端,这里推荐:finalShell,国人研发的,用java组件写的,很方便,很强大。

finalShell官方地址:http://www.hostbuf.com/c/131.html

登录密码是右上角的密码,不是控制面板密码
Raksmart也有自己的远程登录页面:https://svm.raksmart.com:5656/login.php
连接海外服务器,不用翻墙,但是上传文件需要

QQ机器人程序

这里的话,直接看QQ官方自己的例子:https://github.com/tencent-connect/botpy

我选的是python,很简单,上手很快。
这里贴出请求openAI 接口的例子:

import openai
messages = []
def openaiTest(message):print("准备调用openai:" + message)global messagesmessages.append({"role": "user", "content": message})response = openai.ChatCompletion.create(model="gpt-3.5-turbo", messages=messages)print("调用openai结束")print(response)return response["choices"][0]["message"]["content"]

上面的入参message,就是QQ机器人传入的参数,看了QQ机器人的例子,自然就明白了。

接下来就是部署执行。

部署执行

将编写好的QQ机器人python文件,上传到服务器上。
怎么上传呢?利用finalshell上传就可以了:

在这里插入图片描述

  1. 不过由于服务器是海外的,所以上传文件的话,需要fan qiang。
    2.Ubuntu系统使用python命令遇到小麻烦,可以参考下文中 遇到的问题。

我的执行命令如下:

cp /dev/null nohup.out | nohup python qqbot.py 2>&1 > nohup.out &
# qqbot.py 就是我的机器人文件

海外CDN地址

为了安全起见,我们给云服务器ip套一个CDN,防止被防火墙拉黑名单。

原理就是,我们请求CDN,然后由CDN请求我们的云服务器,防火墙不可能把海外CDN拉黑。真拉黑就等于全面与世界断网。那时什么手段都翻不出去。

cloudflare官网

在这里插入图片描述
由图可知,我们需要一个域名。

海外域名 – 阿里云海外版

由于CDN需要用到域名,所以我们注册一个海外域名。
特别说明是海外版,不是中国站的。

https://www.alibabacloud.com/zh?spm=a3c0i.9044345.6791778070.3.259262bfv6YlZk

https://www.alibabacloud.com/zh/free

特别注意:这里付钱的时候,有个要求:要么你得有海外的信用卡,比如visa卡;要么你得有海外的PayPal(国内的PayPal没用)。
如果都没有,就得自己想办法弄到。不然进行不下去。

遇到的问题

Ubuntu系统中python问题

Ubuntu系统包管理器是apt

# 安装是的python2
apt install python
# 安装python3
apt install python3

安装好之后,当你执行python --version,它会告诉你,找不到python命令。

root@C20230408:~/pythonproject/chatgpt# python --versionCommand 'python' not found, did you mean:command 'python3' from deb python3command 'python' from deb python-is-python3

但是从Ubuntu 版本20开始,可以执行:

# 将python到python3的符合链接创建好,这样使用python就是python3
sudo apt install python-is-python3# 如果想还原的话,移除即可
sudo apt remove python-is-python3

python包安装的问题

python项目中,我们会引入第三方包,部署到服务器上后,又得一个一个重新安装,很麻烦。
解决办法:

  1. 先在本机电脑上安装pipreqs
pip install pipreqs# 有时会遇到如下错误
Collecting pipreqsUsing cached pipreqs-0.4.11-py2.py3-none-any.whl (32 kB)
Collecting docoptUsing cached docopt-0.6.2.tar.gz (25 kB)Preparing metadata (setup.py) ... done
ERROR: No .egg-info directory found in C:\Users\yutao\AppData\Local\Temp\pip-pip-egg-info-baemoac1# 遇到上述错误就将setuptools卸载掉,然后再安装
pip uninstall setuptools

然后在本机电脑上,进入python项目目录执行:

 PS E:\openai\project\Chatbot> pipreqs ./ --encoding=utf-8 --force
INFO: Successfully saved requirements file in ./requirements.txt

也就是它会生成项目中用到的安装包记录到requirements.txt文件中。

而后我们再把这个文件上传到云服务器上,并执行如下命令:

root@C202304081:~/pythonproject/chatgpt# pip install -r requirements.txt 

这样第三方包就会安装下来。也就不需要我们一个个安装了。

总结

  1. raksmart上购买云服务器
  2. 使用python参考官方,编写QQ机器人,调用openAI接口
  3. 利用finalshell上传文件,部署执行。
  4. 原本还有CDN套壳的,但是我的visa卡还在申请中

参考地址:

https://www.youtube.com/watch?v=ESOjdn0aIlk

ERROR: No .egg-info directory found in C:\xxx\xx\xxx

https://github.com/tencent-connect/botpy

Command ‘python’ not found!解决Ubantu20 python 是 python3

python项目打包部署

美国免费的在线接码平台

一个免费好用的国外在线接收验证短信的网站文章

检测ip有没有被墙


http://www.ppmy.cn/news/963423.html

相关文章

华为2023年一季度收入增长0.8%;微软将推私有版ChatGPT;2022年中国自动驾驶市场增速达106%丨每日大事件...

‍ ‍数据智能产业创新服务媒体 ——聚焦数智 改变商业 企业动态 OpenAI完成新一轮融资,估值接近300亿美元 据报道,OpenAI完成3亿美元融资,估值达到270亿-290亿美元。本轮融资参与的风投公司包括老虎全球、红杉资本、加州Andreessen Horowit…

【Vercer--访问内网笔记】

系列文章目录 文章目录 系列文章目录一、Vercel 设置了域名 为什么还是不能访问内网二、目前相关国内chatgpt1.简约版本[--](http://00000.work:9090/indexGPT.html#)永久免费2.Stars-8[--](https://ai.xingacgn.com/chatgpt.html)目前开源3.[AI 绘画](https://aicolors.co/)--…

【总结】1642- 前端同学都是如何玩转 ChatGPT 的???

ChatGPT最近一周忽然登上了国内各大平台的热搜榜,应该在去年11月末的时候就有不少同学了解并使用过,那个时候它刚刚问世,在互联网圈子里有了很大的热度,但是对于大众来说,还是不太了解的。 我在去年的时候就跟风注册了…

怎么使用chatgpt的api接口开发一个只能聊天机器人程序

要使用 OpenAI 的 ChatGPT API 接口开发一个只能聊天的机器人程序,您需要以下步骤: 注册 OpenAI 账号,并创建一个 API Key。 选择您需要的 API 终端,例如 HTTP API 或 GPT-3 Playground。 根据 API 文档和示例代码,编写…

ORA-04030: 在尝试分配 123416 字节 (QERHJ hash-joi,kllcqas:kllsltba) 时进程内存不足

有个11g环境,报错如下 Mon Jul 17 09:12:30 2023 Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl1/trace/orcl1_ora_3060.trc (incident129931): ORA-04030: 在尝试分配 123416 字节 (QERHJ hash-joi,kllcqas:kllsltba) 时进程内存不足 Incident details i…

Stable Diffusion系列课程上:安装、提示词入门、常用模型(checkpoint、embedding、LORA)、放大算法、局部重绘、常用插件

文章目录 一、Stable Diffusion安装与源码解析1.1 Stable Diffusion安装1.2 webui启动代码分析1.2.1 加载webui-user.sh1.2.2 执行launch.py1.2.3 执行webui.py,启动界面1.2.4 cmd_args 二、文生图(提示词解析)2.1 提示词入门2.2 权重2.3 负面…

又整新活,AI 杀麻了!

来源|OSC开源社区(ID:oschina2013) 这几天,ChatGPT不得不说是真火啊,在科技圈也是引起了不少的讨论。问答、聊天、讲故事、写代码、分析代码、找bug,写文章...等等都不在话下,妥妥滴整活大师了。 ChatGPT由人工智能研究公司OpenAI…

SDK上传Maven Central——保姆式教学

1、前期准备 1、注册jira账号 https://issues.sonatype.org/ 说明(便于理解账号作用) OSSRH(Sonatype OSS Repository Hosting)是一个由Sonatype提供的免费的Maven中央仓库代理服务,允许开发者将他们的Maven构件发布…