百度开源 FAQ 问答系统(AnyQ)安装---Linux(无docker)+小白编译AnyQ-docker&linux[CentOs]

小白编译AnyQ-docker&linux[CentOs]——AnyQ系列之一https://blog.csdn.net/u011818766/article/details/104117469

原文链接:https://blog.csdn.net/qq_28385535/article/details/83213822
1.系统下载及环境安装

1.github地址:https://codeload.github.com/baidu/AnyQ/zip/master 手动下载系统包
2.或者在linux终端执行命令

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

 
 
  • 1

3.cmake3安装

  • 安装gcc/g++的软件依赖(要求大于4.8.2)(已安装请跳过)
 yum install -y gcc gcc-c++ make automake

 
 
  • 1
wget https://cmake.org/files/v3.3/cmake-3.3.2.tar.gz

 
 
  • 1
  • 解压cmake源码包
tar -zxvf cmake-3.3.2.tar.gz

 
 
  • 1
  • 进入目录,设置,编译,链接
cd cmake-3.3.2/ 
./bootstrap 
gmake 
gmake install

 
 
  • 1
  • 2
  • 3
  • 4

4.bison 3.0安装


cd /usr/local/src
wget http://ftp.gnu.org/gnu/bison/bison-3.0.tar.gz 
tar -zxvf bison-3.0.tar.gz
cd bison-3.0
./configure 
make 
make install
  • 首先输入下面命令,查看是否安装及版本号,如果没有安装,则需要提前安装
bison -V

 
 
  • 1

2.系统编译

系统及环境下载安装完以后,进入安装包目录,开始进行编译

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

 
 
  • 1
  • 2

注意事项:在编译过程中,会遇到多次git clone下载停止的情况,此时只需Ctrl+C暂停程序执行,重新执行cmake .. && make即可。这个过程需要反复进行,直到成功为止。

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

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

  • 获取AnyQ定制solr、AnyQ示例配置
cp ../tools/anyq_deps.sh .
sh anyq_deps.sh

 
 
  • 1
  • 2
cp ../tools/solr -rp solr_script
sh solr_script/anyq_solr.sh solr_script/sample_docs

 
 
  • 1
  • 2

4.系统运行及监控

  • 上面步骤执行成功以后,即可在build目录下运行系统,代码如下:
./run_server

 
 
  • 1
  • 系统运行成功后,即可通过http://IP:8999访问系统运行界面
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现提取问题中的参数并调用API,你需要进行以下步骤: 1. 对问题进行自然语言处理。你可以使用Python中的自然语言处理库,例如NLTK、spaCy、Stanford NLP等,来对问题进行分析和解析。 2. 从问题中提取参数。一旦你对问题进行了解析,就可以使用词性标注和命名实体识别等技术来提取参数。例如,如果问题是“北京天气怎么样?”,你可以使用命名实体识别来找到“北京”这个地点的参数。 3. 调用API。一旦你提取出了参数,就可以使用它们来调用相应的API。例如,如果你想要查询北京的天气,你可以使用天气API,并将“北京”作为参数传递给该API。 下面是一个简单的Python代码示例,演示如何从问题中提取参数并调用API: ```python import requests import json import nltk # 问题 question = "北京天气怎么样?" # 分词和词性标注 tokens = nltk.word_tokenize(question) tags = nltk.pos_tag(tokens) # 命名实体识别 ne_chunked = nltk.ne_chunk(tags) entities = [] for chunk in ne_chunked: if hasattr(chunk, 'label') and chunk.label() == 'GPE': entities.append(' '.join(c[0] for c in chunk)) # 调用API if len(entities) > 0: url = "http://api.openweathermap.org/data/2.5/weather?q={}&appid=your_app_id".format(entities[0]) response = requests.get(url) data = json.loads(response.text) print("天气:{}".format(data['weather'][0]['description'])) else: print("无法识别问题中的地点参数") ``` 在这个示例中,我们使用NLTK库对问题进行了分词和词性标注,然后使用命名实体识别找到了问题中的地点参数。接着,我们使用天气API来查询该地点的天气,并将查询结果输出到控制台中。 希望这个示例可以帮助你实现提取问题中的参数并调用API的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值