JeecgBoot 从3.6.3+
版本起,默认提供了ChatGPT AI助手对话功能。
AI助手效果图
进入JeecgBoot后台首页,点击首页右侧中间"AI助手",弹出AI助手对话界面。
配置文件
修改application-dev.yml
配置文件,先把jeecg.enabled开关打开。
yaml
jeecg:
# ChatGPT对接配置
ai-chat:
# 是否开启
enabled: true
# openAi接口秘钥,填写自己的apiKey
apiKey: ???
# openAi域名,有代理就填代理的域名。默认:openAI官方apiHost
apiHost: https://api.openai.com
# 超时时间单位:s。默认 60s
timeout: 60
ChatGPT 的apiKey申请
配置文件主要需要ChatGPT 的
apiKey
和ChatGPT的域名地址
,apiKey
通过ChatGPT 官方申请即可;ChatGPT的域名
国内被禁的情况下,可以自己搭建代理。具体参考下面文档:
ChatGPT 账号注册流程
需要注册ChatGPT API账号,获取apikey 具体注册步骤如下
注册材料
由于ChatGPT没有开放中国区(中国港澳台地区也没有),所以如果现阶段我们想在国内使用ChatGPT,需要准备以下材料:
- 国外邮箱:因为国内邮箱注册的账号过多,ChatGPT关闭了所有国内邮箱的注册渠道,目前注册成功率较高的是Gmail;Gmail注册地址
- 国外IP: 需要ChatGPT已经开放的国家或者地区的IP地址,例如美国、英国、韩国、日本等都可以。
注册ChatGPT
- ChatGPT注册地址:chat.openai.com/auth/login ,选择注册(Sign up)。
访问ChatGPT官网前需要保证你当前使用的IP能够正常使用ChatGPT,否则就会报Access denied
- 使用谷歌邮箱(gmail)注册账号。
- 创建账号密码后,ChatGPT会给注册邮箱发送一封验证邮件,我们需要登录注册使用的邮箱,收取邮件并点击右键正文中的
Verify email address
按钮,进行验证。
- 验证通过后完善个人信息。(全名,生日)
- 进入下图界面代表ChatGPT已经成功注册。
ChatGPT 的apiKey申请步骤
ChatGPT API
是一个可以调用GPT模型的接口,有了这个接口我们就可以基于基于ChatGPT做二次开发。
目前申请OpenAI API前必须要绑定手机号,并且必须是ChatGpt已经开放的国家的手机号才行;如果你没有国外手机号,可以参考下文注册一个接码平台。
接码平台注册
本文使用的接码平台是sms-activate
;这是一个付费的接码平台,需要提前充值才能接收验证码;如果您有海外的手机号或者有自己的接码平台可以用自己的。
- 访问
sms-activate
:sms-activate.org/cn,点击右上角注册,使用邮箱注册。
- 注册成功后点击右上角+号充值,目前支持信用卡、支付宝等渠道充值。
- 最少需要充值2美元,一般2美元足够我们完成手机号验证了。
- 充值完成后,在左侧输入
openAI
,在下方选择一个chatGpt开放的国家的手机号购买。
- 购买成功后可以在我的激活中看到已经购买的手机号,复制手机号到
openAi
的手机号验证。发送验证码后可以在该页面查看收到的验证码。(没有成功收到验证码会自动退款)
申请ChatGPT API
- 访问
openAI
开放平台:platform.openai.com,点击左侧API keys
,右侧提示需要验证手机号,点击Start verification
- 输入在接码平台获取的手机号,发送验证码
- 回到接码平台,查看收到的验证码,填写到openAI验证界面输入验证码验证完成。
- 此时可以通过
Create new secret key
来创建API keys
- 成功创建时弹框中将展示您的secret key,请在此时妥善保存,因为secret key只会在此时完整展示,之后都不会再显示secret key的内容了。
ChatGpt API文档 platform.openai.com/docs/api-re...
ChartGPT 搭建境外代理步骤
- 购买境外的云服务器,并确保ip地址的ASN归属地是海外。
- 登录服务器,安装
nginx
。
arduino
# yum install -y nginx
- 编辑
nginx
配置文件vim /etc/nginx/nginx.conf
,将所有请求转发到api.openai.com
ini
server {
# ...other setting ....
location / {
proxy_pass https://api.openai.com/;
proxy_ssl_server_name on;
proxy_set_header Host api.openai.com;
proxy_set_header Connection '';
proxy_http_version 1.1;
chunked_transfer_encoding off;
proxy_buffering off;
proxy_cache off;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
}
# ...other setting ....
}