这几天OpenAI公布的chatGPT项目非常火,大家都在和这个AI聊得十分开心。但是OpenAI没有中国开放注册,即使注册成功了,也需要全程挂代理才能使用,并不是十分方便。那么有没有什么好的解决方法呢?
我们可以利用Multi-Session ChatGPT API,这是一个基于ChatGPT且支持服务多个用户的API,只用一个OpenAI账号,一次部署就可以满足多人同时对话的需求。我们可以利用这个API制作一个简单的手机聊天机器人APP。
一、准备阶段
准备OpenAI账号
首先我们进入OpenAI官网,使用邮箱注册账号。
在注册过程中会要求我们使用国外的手机号进行验证,如果自己没有国外的手机号的话推荐使用虚拟手机号进行注册。(如果您已经有可以使用的国外手机号便可以跳过这一步)
打开地址:在线接受短信的虚拟号码 - SMS-Activate
二、开发阶段
环境要求
Node版本大于14
Python3
后端开发环境搭建
首先我们将代码clone下来。
git clone --recurse-submodules https://github.com/shiyemin/ChatGPT-MS
pip install -r requirements.txt
修改根目录下的config.json.example
,去掉.example
后缀并在文件中填入OpenAI的账户和密码。
之后我们需要准备一台可以访问openai服务的美国、日本、韩国或新加坡ip的VPS;部署ChatGPT-MS;用ChatGPT-MS暴露的API就可以搭自己自国内的服务了。
API的参数如下:
{"message":"Who are you?", "user": "Azem"}
前端开发环境搭建
首先我们将代码clone下来。
git clone https://github.com/MX0723/chatGPTAPP.git
npm i
npm run start
三、打包发布
生成签名密钥
Android 要求所有应用都有一个数字签名才会被允许安装在用户手机上,我们需要首先生成一个新的签名密钥,首先找到 jdk 的安装目录,在 Windows 上keytool
命令放在 JDK 的 bin 目录中(比如C:\Program Files\Java\jdkx.x.x_x\bin
)。打开 CMD 或者 powershell 进入该目录,然后输入以下指令:
keytool -genkeypair -v -storetype PKCS12 -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
该条命令会要求你设置一段密码与相关发行信息,请妥善保存你设置的密码。在运行完上述指令后,会在目录下生成一个文件my-release-key.keystore
设置 gradle 变量
把my-release-key.keystore
文件放到你工程中的android/app
文件夹下,打开项目目录/android/gradle.properties
并添加如下代码:
MYAPP_RELEASE_STORE_FILE=my-release-key.keystore
MYAPP_RELEASE_KEY_ALIAS=my-key-alias
MYAPP_RELEASE_STORE_PASSWORD=*****
MYAPP_RELEASE_KEY_PASSWORD=*****
其中*****是第一步时设置的密码 进入项目目录/android/app/build.gradle
添加如下配置
...
android {
...
defaultConfig { ... }
signingConfigs {
release {
if (project.hasProperty('MYAPP_RELEASE_STORE_FILE')) {
storeFile file(MYAPP_RELEASE_STORE_FILE)
storePassword MYAPP_RELEASE_STORE_PASSWORD
keyAlias MYAPP_RELEASE_KEY_ALIAS
keyPassword MYAPP_RELEASE_KEY_PASSWORD
}
}
}
buildTypes {
release {
...
signingConfig signingConfigs.release
}
}
}
...
生成APK包
在项目根目录的终端中输入以下指令:
cd android
./gradlew assembleRelease
生成的 APK 文件位于android/app/build/outputs/apk/release/app-release.apk
,它已经可以用来发布了。
测试发行版本
输入以下命令可以在设备上安装发行版本:
npx react-native run-android --variant=release
注意:你可能需要先将真机或虚拟机中安装的测试版APP删除,否则可能出现无法安装的情况