最近这段时间,ChatGPT火的一塌糊涂,到处都是介绍ChatGPT的文章,但自从前段时间开始,很多人可能都发现了ChatGPT接口国内调用不了了,而很多人可能是抱着玩玩的心态,并不愿意去花钱另外购买国外的服务器,当然这其中也包括我,由于没有预算去购买一台国外的服务器,还是之前的使用方式,但是速度快了很多。
免费的国外服务器,它不香吗???市面上提供服务器免费试用的厂商不少,比如阿里云、亚马逊等等,但是注册比较麻烦,需要信用卡,国外手机号、国外身份信息等等之类的信息,我最先也是准备注册阿里云,后来卡在了手机号这块儿,免费的手机号根本注册不了,而我又不想花钱去买验证码,直到最后我找到了hostbuddy这个网站,全程只需要一个邮箱即可,下面介绍一下注册流程。源码包在最底部下载
一、hostbuddy注册
1、注册账号
首先我们访问hostbuddy官网,地址:https://www.hostbuddy.com/,并点击“GET STARTED”按钮,
填写注册信息,并点击注册
不出意外的话,我们会进入以下界面
2、验证账号
进入注册账号时填写的邮箱,找到激活邮件,并点击激活链接、
3、登录账号
账号成功激活后会转向到登录页,填写我们注册的账号并登录
4、激活试用计划
首次登录完毕之后我们需要激活我们的试用计划,点击“Try Now”
可以看到默认的地区是美国,刚好可以用于我们访问ChatGPT服务,然后我们填入密码和网站名,这里的密码就是后面我们登录FTP的密码,网站名就是网站的目录名称,然后点击“Next”
确认信息并点击“提交”
此时不要关闭窗口,需要等待激活完成,一般1-3分钟
5、创建node应用
在激活完成后,我们登录主机面板并创建node应用,
这里显示了我们的FTP登录信息和对外域名,我们点击“管理网站”并点击“NodeJs“进入node应用创建界面
按序号依次点击完成node应用的创建,需要注意的是当激活NodeJS后,所有的javascript将会被当作NodeJS运行。
6、登录FTP
在node应用创建完成后,我们用步骤5截图中显示的FTP信息和步骤4设置的密码登录FTP,登录后目录结构如下:
“www”即为存放网站源码的目录,我们进入目录
目录中有2个文件,default.asp是网站的默认页,我们需要删除掉,web.config是网站的配置文件。
7、测试node应用
在node应用创建完毕后我们就可以开始测试了,创建app.js, 并编写如下代码:
const http = require('http');
http.createServer(function(req, res) {
res.writeHead(200, {
'Content-Type': 'text/plain'
});
res.end('Hello, world!');
}).listen(process.env.PORT);
注意这里不能自定义端口,必须使用process.env.PORT。将app.js文件传到www目录下,并更改配置文件如下:
<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
<system.webServer>
<handlers>
<add name="iisnode" path="*.js" verb="*" modules="iisnode" />
</handlers>
<rewrite> <rules>
<rule name="mysite">
<match url="/*" />
<action type="Rewrite" url="app.js" />
</rule>
</rules> </rewrite>
</system.webServer>
</configuration>
访问步骤5中获取的对外域名,如果页面显示”Hello, world!“则测试通过。
二、部署ChatGPT接口服务
通过步骤一,我们注册了免费的国外服务器,并创建了node应用环境,接下来我们需要开始部署ChatGPT的接口服务,这里我们使用koa搭建一个简单的服务,首先创建基础项目结构,
├── app.js
├── node_modules
├── package-lock.json
├── package.json
├── public
├── routes
| └── gpt.js
├── utils
| └── ai.js
└── views
app.js的代码如下:
const http = require('http');
const Koa = require('koa');
const app = new Koa();
const json = require('koa-json');
const onerror = require('koa-onerror');
const bodyparser = require('koa-bodyparser');
const koaBody = require('koa-body');
const gpt = require('./routes/gpt');
onerror(app);
app.use(async (ctx, next)=> {
ctx.set('Access-Control-Allow-Origin', '*');
ctx.set('Access-Control-Allow-Headers', 'Content-Type');
await next();
});
app.use(koaBody({
multipart: true,
formidable: {
maxFieldsSize: 2 * 1024 * 1024,
multipart: true
}
}));
app.use(bodyparser());
app.use(json());
app.use(gpt.routes(), gpt.allowedMethods());
const server = http.createServer(app.callback());
server.listen(process.env.PORT);
gpt.js代码如下:
const router = require('koa-router')();
const { getData } = require('../utils/ai');
router.prefix('/gpt');
router.all('/chat', async (ctx, next) => {
const { q = '' } = ctx.query;
if (!q.trim()) {
return ctx.body = '您想问啥呢?';
}
ctx.body = getData(q);
});
module.exports = router;
对于getData方法的实现,这里图方便使用request库(目前已废弃)来发起请求,大家可以根据自己的习惯更改,代码如下:
const request = require('request');
function getData(prompt) {
return request({
url: 'https://api.openai.com/v1/completions',
method: 'POST',
body: {
prompt,
max_tokens: 2048,
model: 'text-davinci-003'
},
json: true,
headers: {
Authorization: 'OPENAI_TOKEN'
}
});
}
module.exports = {
getData,
};
将所有的源码连同node_modules一起上传到www目录下,这里稍微有点慢,可以尝试压缩后再上传,然后在线解压,
等待所有文件上传完毕后,通过“对外地址/gpt/chat?q=你的问题”即可访问我们部署的ChatGPT服务。
三、问题总结
1、hostbuddy服务器的免费试用时长目前是60天即2个月,这个门槛比较低,到期前找个邮箱重新注册即可继续使用,当然也可以选择其他的厂商,比如LAF,免费时长是一个月,需要手机号注册,具体可参考:用Laf云平台,两步将ChatGPT接入微信公众号(含代码)
2、注册hostbuddy一个IP只可注册一次,如果遇到访问注册页显示已经注册的情况,可以选择重启路由器换IP或者使用代理。
3、如果使用代理注册hostbuddy需要注意并不是所有的地区都可以注册免费试用账号,具体支持的地区需要自测,我只发现日本是不行的。
4、hostbuddy服务器目前默认的node版本是v18x,如果需要自定义node版本,可参考:https://www.hostbuddy.com/support/kb/a2205/how-to-custom-nodejs-version-with-our-server.aspx
5、在更新程序文件时,如遇到代码不更新的情况,需要重新保存入口文件比如app.js,重新上传即可。
6、如果网站无法访问,又没有给出具体的错误信息,可以到FTP网站目录如www下根据访问时间查看iisnode目录下对应的txt文件获得报错信息。
本文附件提供源码包下载:
本文系网友投稿,来源公众号<A逐梦博客>
原文链接:https://mp.weixin.qq.com/s?__biz=MzIwNzM5NzQ1OA==&mid=2247484601&idx=1&sn=40aa9d6416854c352ee41d81f18c5504
本站资源部分来自网友投稿,如有侵犯你的权益请联系管理员或给邮箱发送邮件PubwinSoft@foxmail.com 我们会第一时间进行审核删除。
站内资源为网友个人学习或测试研究使用,未经原版权作者许可,禁止用于任何商业途径!请在下载24小时内删除!
如果遇到评论可下载的文章,评论后刷新页面点击“对应的蓝字按钮”即可跳转到下载页面!
本站资源少部分采用7z压缩,为防止有人压缩软件不支持7z格式,7z解压,建议下载7-zip,zip、rar解压,建议下载WinRAR。
温馨提示:本站部分付费下载资源收取的费用为资源收集整理费用,并非资源费用,不对下载的资源提供任何技术支持及售后服务。
试试就逝世 试试就逝世 试试就逝世
大佬 上传完后访问网站提升Error: Cannot find module 'koa'怎么办
第七项的测试通过了吗?
通过了
试试就逝世
多年的等待之后,我不得不承认,你是我生命中那个不可能的人。
6666666666666
zan