百度開源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)

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