百度开源AI自然语言处理 FAQ 问答系统(AnyQ)编译安装---Linux(无docker)

关键词:

百度AI自然语言处理
AnyQ开源FAQ问答系统
Centos7编译运行

PS:根据“百度开源 FAQ 问答系统(AnyQ)安装—Linux(无docker)” https://blog.csdn.net/qq_28385535/article/details/83213822
在以下环境试验成功,特此记录:

CentOS Linux release 7.2.1511 (Core)
8GB # 如果cmake编译卡住,请调大编译环境内存
cmake version 3.3.2 # 必须是这个版本,否则出错
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39)
g++ (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39)
bison (GNU Bison) 3.0.4
openjdk version "1.8.0_222"
python 2

简介

github地址:https://github.com/baidu/AnyQ
start:1.7k
官方简介:

AnyQ(ANswer Your Questions) 开源项目主要包含面向FAQ集合的问答系统框架、文本语义匹配工具SimNet。

问答系统框架采用了配置化、插件化的设计,各功能均通过插件形式加入,当前共开放了20+种插件。开发者可以使用AnyQ系统快速构建和定制适用于特定业务场景的FAQ问答系统,并加速迭代和升级。

SimNet是百度自然语言处理部于2013年自主研发的语义匹配框架,该框架在百度各产品上广泛应用,主要包括BOW、CNN、RNN、MM-DNN等核心网络结构形式,同时基于该框架也集成了学术界主流的语义匹配模型,如MatchPyramid、MV-LSTM、K-NRM等模型。SimNet使用PaddleFluid和Tensorflow实现,可方便实现模型扩展。使用SimNet构建出的模型可以便捷的加入AnyQ系统中,增强AnyQ系统的语义匹配能力

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SlLkmCv8-1578630126462)(https://github.com/baidu/AnyQ/raw/master/docs/images/AnyQ-Framework.png)]

编译环境

1.anyq源码

git clone https://github.com/baidu/AnyQ.git

2.gcc/g++

yum install -y gcc gcc-c++ make automake
gcc --version # 查看版本号,笔者是4.8.5
g++ --version # 查看版本号,笔者是4.8.5

3.cmake3(必须是3.3.2)

wget https://cmake.org/files/v3.3/cmake-3.3.2.tar.gz
tar -zxvf cmake-3.3.2.tar.gz
cd cmake-3.3.2/ 
./bootstrap 
gmake 
gmake install # 安装
cmake --version # 查看版本号,应该是3.3.2

4.bison 3.0

yum list bison           # 我这里是3.0.4
yum install bison.x86_64 # 安装
bison -V   # 大V

编译

cd ./AnyQ
mkdir build && cd build 
cmake .. # 生成makefile,..代表源码目录
make # 编译

PS1:在编译过程中,会遇到多次git clone下载停止的情况,此时只需Ctrl+C暂停程序执行,重新执行make即可。这个过程需要反复进行,直到成功为止。
PS2:大概占用8GB磁盘。
PS3:推荐8G内存以上(包含8G),否则在编译(make)时候内存不够用,会跑不动
PS4:如果出现错误,请确保cmake是3.3.2版本。作者就是cmake版本不对导致编译失败的。

运行

构建索引、配置及Web服务的安装

1.系统编译成功以后,在AnyQ/build目录下,执行下面的命令

# 获取AnyQ定制solr、AnyQ示例配置
cp ../tools/anyq_deps.sh .
chmod 777 anyq_deps.sh # 权限
./anyq_deps.sh

2.jdk安装

参考:https://www.cnblogs.com/ocean-sky/p/8392444.html
## 卸载自带JDK(关键)
rpm -qa | grep java # 列出包(java-1.8打头或者java-1.7打头)
## rpm -e --nodeps 后面跟系统自带的jdk名,如
rpm -e --nodeps java-1.8.0-openjdk-1.8.0.222.b10-0.el7_6.x86_64
rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.222.b10-0.el7_6.x86_64

## 下载jdk
百度网盘:https://pan.baidu.com/s/1ykSB3dsaYR1ow1iaU3FScg&shfl=sharepset
官网(需要oracle账号,讨厌!):https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

# 上传(mac)
scp Downloads/jdk-8u144-linux-x64.tar.gz [email protected]:/home/
cd /home/
tar -zxvf jdk-8u144-linux-x64.tar.gz
mkdir java && mv jdk-8u144-linux-x64 java/

# 配置环境变量
vim /etc/profile

export JAVA_HOME=/home/java/jdk1.8.0_144
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

# 生效
source /etc/profile
java -version  # 查看java版本
jar # jar命令测试

2.启动solr, 依赖python-json, jdk>=1.8(JDK的安装请参考:https://www.linuxidc.com/Linux/2016-09/134941.htm)

# 安装python
yum install python # python 2

# 安装python-json
wget https://github.com/dmeranda/demjson/archive/release-2.2.4.tar.gz
tar -zxvf demjson-release-2.2.4
python setup.py install

# 启动solr
cp ../tools/solr -rp solr_script
#等一会,看结果,log在nohub.out中
#如果启动失败,查看nohub.out具体错误原因
#PS:请确保8900断开没有被占用,命令:netstat -anp |grep 8900
sh solr_script/anyq_solr.sh solr_script/sample_docs 

# 还有一些错误,可参考:https://blog.csdn.net/yunhulylove/article/details/95936960

系统运行及监控

1.运行run_server

cd AnyQ/build
chmod 777 run_server.sh
./run_server

2.访问

系统运行成功后,即可通过 http://IP:8999 访问系统运行界面

3.问答api测试

# 请求示例:
http:${host}:${port}/anyq?question=XXX

浏览器:http://10.0.59.231:8999/anyq?question=需要使用什么账号登录
centos:curl -i "http://10.0.59.231:8999/anyq?question=需要使用什么账号登录"

在这里插入图片描述

关于anyq的使用可以参考:
https://blog.csdn.net/weixin_42891039/article/details/81448696


2020.01.11 更新

推荐一下自己的开源项目:
1.CoffeeChat。参考了TeamTalk、瓜子IM等知名项目,包含服务端(go)和客户端(flutter),单聊和机器人(小微、图灵、思知)聊天功能已完成,目前正在研发群聊功能,欢迎对golang和跨平台开发flutter技术感兴趣的小伙伴Star加关注。

Github:https://github.com/xmcy0011/CoffeeChat
opensource im with server(go) and client(flutter+swift)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章