其实这个本来是ai伪原创的项目,拿过来作为论文ai降重也挺不错的,刚好我需要这个就搭了一个。
其实还是有点傻,不能自动重新排序语序,主要是同义词替换。
原项目地址:https://github.com/LovebuildJ/language-ai
已编译好的文件,点击下载:
编译需求
Windows系统,企业版IntelliJ IDEA(教育版的idea不能使用spring,这个坑了我n久)
JDK1.8, maven3.6+, redis
application.yml
内的redis和百度ai的相关信息填写完整才会不会编译报错,这又坑了我一小时。
百度ai获取api地址
https://ai.baidu.com/tech/nlp_basic
好吧,我承认我是java小白
部署
我是使用centos部署的
准备环境
系统需要有nginx,jdk1.8,redis,vps最好是2G内存,java挺吃内存的。
我还是用的appnode,安装java的教程用的是https://www.cnblogs.com/stulzq/p/9286878.html
自启动
把压缩包扔服务器上,解压到一个文件夹,我是存放在/opt/ai/
目录内
编辑application.yml
,把申请到的百度ai信息填完整,redis那记得填你的redis的ip
首先用
java -jar /opt/ai/ai-0.0.1.jar --spring.config.location=/opt/ai/application.yml
手动启动,等启动成功后再使用post软件,我是用postman
来post的,这里是为了将jar内的字典载入redis内。理论上不用手动指定配置文件位置,但我遇到过不能自动载入,只好手动指定了。
然后测试,测试能正常使用就行。
在/opt/ai/
创建文件
#!/bin/sh
ps -ef | grep ai-0.0.1.jar | grep -v grep | awk '{print $2}' | xargs kill -9
sleep 5s
nohup java -jar /opt/ai/ai-0.0.1.jar --spring.config.location=/opt/ai/application.yml >/dev/null 2>&1 &
#!/bin/sh
ps -ef | grep ai-0.0.1.jar | grep -v grep | awk '{print $2}' | xargs kill -9
#!/bin/sh
nohup java -jar /opt/ai/ai-0.0.1.jar --spring.config.location=/opt/ai/application.yml >/dev/null 2>&1 &
再给权限:
chmod 755 restart.sh shutdown.sh start.sh
以上三文件是使用systemctl管理java开机启动用的脚本,很蛋疼的是systemctl不能直接执行java命令。
接下来是systemctl文件
vi /etc/systemd/system/ai.service
[Unit]
Description=ai
After=network.target
[Service]
Type=forking
ExecStart=/opt/ai/start.sh
ExecReload=/opt/ai/restart.sh
ExecStop=/opt/ai/shutdown.sh
[Install]
WantedBy=multi-user.target
开机启动:systemctl enable ai
systemctl管理命令:
启动:systemctl start ai
关闭:systemctl stop ai
重启:systemctl restart ai
查看状态:systemctl status ai
修改服务配置重新生效:systemctl daemon-reload
打开8080端口,然后重启vps,访问ip:8080/ai/
看是否能正常使用
反代
为了域名访问,用nginx反代吧,建议反代的根目录是/
,别用/ai/
建议反代的同时加个密码,毕竟百度ai免费额度有限
使用
效果如下,其实如果专有名词太多了话效果不好,建议可以用废话手动降重,ai降重也没法自动重新组织语序。
参考:
systemd配置开机自启动java脚本
CentOS 7 安装 JAVA环境(JDK 1.8)
此处评论已关闭