如何做一个chatGPT的手机聊天机器人?

0 / 58

这几天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删除,否则可能出现无法安装的情况