1. 程式人生 > >AnyQ_智慧問答的一個非官方幫助手冊

AnyQ_智慧問答的一個非官方幫助手冊

AnyQ_智慧問答的一個非官方幫助手冊

本手冊由一個俗人(wechat:dotzcv)整理,資料來源為百度Google搜尋,官方issues,以及本人的實驗所得進行記錄擴充

前提的準備條件

硬體環境:4核8G 上面測試成功 (我的一臺2核4G測試伺服器,目前未通過。) 軟體環境:

  • Docker 推薦
  • cmake 3.2.2版本 ,g++ >=4.8.2,bison >=3.0
  • java環境 安裝操作見下面QA章節

網路環境:正確的上網方式。由於編譯時候會在github上進行程式碼clone,所以建議有條件的使用正確的方式,加速下載程式碼(當然此處非必須,沒有則速度慢一點而已)

核心程式碼安裝步驟

1.非Docker:忽略了,沒有高一點而且環境比較純碎的伺服器了,沒有編譯成功。 2.Docker:安裝成功了。步驟如下:

#拉取映象
docker pull hub.baidubce.com/paddlepaddle/paddle:latest-dev

#執行容器
docker run --name paddle -it -v $PWD:/paddle hub.baidubce.com/paddlepaddle/paddle:latest-dev  /bin/bash

#進入容器進行程式碼clone
git clone https://github.com/baidu/AnyQ.git

#進去AnyQ目錄執行

mkdir build && cd build && cmake .. && make
#漫長的等待過程(中間會出現各種事情 見下面QA章節)

核心程式碼編譯完成

例項Demo安裝步驟

在當前build目錄下,執行以下操作

構建索引、配置

# 獲取anyq定製solr,anyq示例配置
cp ../tools/anyq_deps.sh .
sh anyq_deps.sh

# 啟動solr, 依賴python-json, jdk>=1.8
cp ../tools/solr -rp solr_script
sh solr_script/anyq_solr.sh solr_script/sample_docs

啟動服務

./run_server

# 請求示例:
http://127.0.0.1:8999/anyq?question=NLP是什麼

測試請求返回:
curl 0.0.0.0:8999/anyq?question=NLP是什麼

[{"answer":"\u60a8\u9700\u8981\u62e5\u6709\u4e00\u4e2a\u767e\u5ea6\u8d26\u53f7\uff0c\u7528\u6765\u767b\u5f55\u767e\u5ea6\u4e91\uff0c\u53ef\u4ee5\u70b9\u51fb\u6b64\u5904\u6ce8\u518c\u767e\u5ea6\u8d26\u6237\u3002\u5982\u60a8\u4ee5\u524d\u62e5\u6709\u767e\u5ea6\u63a8\u5e7f\u8d26\u6237\uff0c\u540c\u6837\u53ef\u4ee5\u767b\u5f55\u767e\u5ea6\u4e91\u3002","confidence":0.51880854368209839,"json_info":"{}\n","qa_id":"1","question":"\u9700\u8981\u4f7f\u7528\u4ec0\u4e48\u8d26\u53f7\u767b\u5f5