文件无法运行_II AnyQ对话框架的安装与运行

0 AnyQ对话框架介绍

AnyQ(即 Answer your Question)是由百度开发的对话框架,也是首个基于语义计算的 FAQ 问答系统,GitHub项目链接:baidu/AnyQ 。

3859a2c81e37c3072f0013f607ee2051.png

下面介绍如何使用AnyQ并运行Demo文件

1 Docker 安装与镜像下载

因为很多包都是linux的环境下才可以用的,所以建议windows或者Mac用户用docker的方式运行,否则很多包会用不了,Docker安装链接。

如何保证Docker安装成功,可以采用以下代码:

docker version

若同时显示Client与Server的版本和相关信息则为安装正常,有可能出现Server的版本号无法显示出来,则需要采用其他方案修修补补。

完成安装后,下载paddlepaddle镜像,飞浆开源深度学习平台介绍。

  • paddle官方镜像
docker pull paddlepaddle/paddle:latest-dev
  • paddle国内镜像
docker pull docker.paddlepaddlehub.com/paddle:latest-dev

(本人实测发现国内镜像下载有问题,而使用官方镜像未报错)

2 容器创建与运行

2.0 容器与镜像的区别

  • 镜像(Image)就是一堆只读层(read-only layer)的统一视角。
  • 容器(container)的定义和镜像(image)几乎一模一样,也是一堆层的统一视角,唯一区别在于容器的最上面那一层是可读可写的。
  • 要点:容器 = 镜像 + 读写层,并且容器的定义并没有提及是否要运行容器。
  • 参考资料:10张图带你深入理解Docker容器和镜像

2.1 容器创建与进入

docker run -p 8999:8999 -p 8900:8900 -ti paddlepaddle/paddle:latest-dev bash
命令解释:docker run <相关参数> <镜像 ID> <初始命令>
  • -p:表示可以指定要映射的端口,在一个指定端口上只可以绑定一个容器。支持的格式为hostPort:containerPort。
    • 这里表示将宿主机的8999和8900端口和docker容器中的8999和8900互通。因为这两个端口将在demo中用到。8999端口用于anyq服务的端口,8900则是Solr的服务端口。
  • -i:表示以“交互模式”运行容器
  • -t:表示容器启动后会进入其命令行
  • -v:表示需要将本地哪个目录挂载到容器中,格式:-v <宿主机目录>:<容器目录>

(这一步经过了很多尝试,上述命令为创建容器的最终命令)

之后如果需要重新进入,需要首先运行容器,

docker start bccc4a87c278 (container ID)

之后进入容器内部就可以了。

 docker exec -it bccc4a87c278 (container ID) bash

查看正在运行的容器

docker ps

(如果容器运行成功,此处会显示容器信息)

查看容器列表

docker ps -a

查看镜像情况

docker images

清除未运行的容器

docker container prune

这个命令可以直接删除停止的容器(会询问,-f 选项强制),不过删除需谨慎,请确认后再操作。

2.2 Docker中AnyQ框架下载与应用

(1)首先需要在Docker中将项目clone下来

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

期间可能出现安装包无法下载的问题,一般有两个解决方案:

  • 由于git默认缓存大小不足导致的,使用下面的命令增加缓存大小
$ git config --global http.postBuffer 2000000000
  • 重新安装git
$ sudo apt-get purge git
$ sudo apt-get install git

当然,可能还是无法运行成功,最终采用了百度AnyQ的编译部署 中的方案,将external文件全部替换,external文件链接:https://pan.baidu.com/s/1lDLKwZcvtzgG9jXbFw3h4Q 密码: e0se。

替换过程,首先将该压缩文件下载后,通过如下命令复制到容器内

docker cp 文件路径 CONTAINER ID:文件路径

接下来在容器内解压,并逐步更换到容器内原本external文件的位置,需要注意的是,一定要区分本机的文件夹与容器内文件夹。

(2)接下来需要执行cmake与make命令

cd AnyQ
mkdir build && cd build && cmake .. & make

该段命令可能需要很多很多次的重复执行才成功,建议可以将最后的cmake命令与make命令分开执行,如果发现make命令始终报错,可以使用make -i

后续若还有相关问题无法解决,见百度AnyQ的编译部署

(3)安装JDK

wget http://anyq.bj.bcebos.com/jdk-8u171-linux-x64.tar.gz # 下载
tar xzvf jdk-8u171-linux-x64.tar.gz # 解压
export PATH=`pwd`/jdk1.8.0_171/bin:$PATH # 加载系统路径 (容器内路径)

判断JDK安装是否成功可以采用

java -version

如果不想每次进去都安装JDK,则可以使用以下命令(需要提前安装vim)

vi ~/.bashrc # 编辑.bashrc文件
export PATH=AnyQ/build/jdk1.8.0_171/bin:$PATH # 在该文件末尾添加该配置
source ~/.bashrc # 需要使用source命令,让环境变量生效

(4)获取AnyQ定制solr,并将数据导入到Solr库中,启动solr

cp ../tools/anyq_deps.sh .
sh anyq_deps.sh
cp ../tools/solr -rp solr_script
sh solr_script/anyq_solr.sh solr_script/sample_docs # 如果运行失败,就在Build目录下运行

删除build文件夹

rm -rf build

(5)运行Demo

./run_server

打开浏览器,输入

http://localhost:8900/solr/#/

可以查看Solr搜索引擎的admin页面,也可以在Postman中调用接口localhost:8999/anyq?question=需要使用什么账号登录 查看调用结果。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值