由于众所周知的原因,Chat-GPT在国内无法使用。如果要使用的话,需要一定的科技含量。
目前主流两种方式:
1、按照教程,自己注册。
2、直接购买一个账号。
直接注册的话,还需要一个开放国的手机号码,一个邮箱。没有手机号码的话,可以使用虚拟手机号,但这里会遇到运气的问题。比较折腾。
直接购买,则相对简单,但要防骗。简单来说,也是一个运气问题。如果购买账号,则要注意:卖方需要提供两个账号:1)一个可以登录邮箱的邮箱账号密码,可用于OpenAi密码重置。2)OpenAi登录账号密码。
购买到账号之后,首先登录邮箱,更改邮箱密码,接下来登录OpenAi,重置密码(不可修改密码,只可重置)。
注意:登录OpenAi,不可用国内地址,或者被大量共享的地址。
由于使用被大量共享的地址容易导致封号的问题。因此,推荐你自己使用一个独享的IP地址来访问,因此,首选“美国”云主机。(注意不要贪便宜选个国内的,用不了)
比如 微软的Azure(实测),阿里云,亚马逊云(实测,Web已封,但Api可用) 等。
主机配置无需太高,1核、1G,Win11英文版即可满足需求。不建议使用Win7,实测远程桌面界面太模糊,而且还要升级浏览器,乱七八糟的事情太多。
使用这个云主机,就可以直接访问Chat.OpenAi.com。
云主机,在美国,访问起来比较卡,你只有耐心等待了。就算升级云主机也没啥用,因为瓶颈在网络,而不是系统。我自己的虚拟机,CPU利用率不到10%,内存大概950M左右。也就是说,Win11,1核,1G就可以满足需求,多了也浪费。
如果每次通过远程桌面的浏览器访问OpenAi的话,卡的厉害。因此,我们可以考虑将这台云主机作为一个Proxy,然后通过Web Api的方式来访问。
目前有很多方案,本人擅长C#。本来打算自己做一个,但发现目前已经有人做好了,那就直接用。
首先以最小化模式创建一个ASP.NET Core Web Api,.NET版本选6.0即可。
接下来,添加nuget包:OpenAI-DotNet-Proxy
修改Program.cs代码
接下来编译,发布即可。
将编译好的程序,复制到云主机上。
如果你的域名在阿里申请,则可向阿里申请一个免费证书。腾讯,同理。
下载那个IIS证书,即可。
修改 appsettings.json
在云主机上,设置环境配置(中文:此电脑属性高级系统设置环境变量系统变量),添加如下变量:
OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxx
来自于:https://platform.openai.com/account/api-keys
OPENAI_ORGANIZATION_ID=org-xxxxxxxxxxxxxxxxxxxxx
来自于:https://platform.openai.com/account/org-settings
执行如下脚本(请替换正确的OPENAI_API_KEY、OPENAI_ORGANIZATION_ID)
在Azure控制面板中,发布443端口,允许访问。
启动Web Api程序。
在你的计算机上执行如下指令
如果能够返回 ok,则表明云主机端Web Api工作正常。
创建一个.NET的控制台程序。
添加nuget程序包:OpenAI-DotNet
编写如下代码:
输出:
则表明:客户端<—>代理端<—>openAi端工作正常。
注意:HttpClientHandler相关代码,不可缺少,否则会报SSL相关错误。
OpenAI-DotNet官网资料:
https://github.com/RageAgainstThePixel/OpenAI-DotNet