基于Bert的智能对话机器人

1.整体架构

在这里插入图片描述

2.Bert/Serving搭建

前言:安装过程中的几个坑需要注意
1.放入Bert模型文件的地址一定要找对
2.建议的安装环境一定要遵循(python3 ,tensorflow1.15以上且不支持tensorflow2)
3.内网的服务器防火墙一定要关闭,不然访问不到

2.1导入bert-as-service

项目地址是:https://github.com/hanxiao/bert-as-service
pip install bert-serving-server
如果想要通过HTTP接口的方式请求还要执行以下命令
pip install -U bert-serving-server[http]

2.2下载谷歌预训练好的模型文件

Google 提供了多种预训练模型供选择:
https://github.com/google-research/bert#pre-trained-models
在这里插入图片描述

BERT-Base, Chinese: 简繁体中文, 12-layer, 768-hidden, 12-heads, 110M parameters
BERT-Base, Multilingual Cased: 多语言(104 种), 12-layer, 768-hidden, 12-heads, 110M parameters
BERT-Base, Uncased: 英文不区分大小写(全部转为小写), 12-layer, 768-hidden, 12-heads, 110M parameters
BERT-Base, Cased: 英文区分大小写, 12-layer, 768-hidden, 12-heads , 110M parameters
也可以使用中文效果更好的哈工大版 BERT:

Chinese-BERT-wwm
以上列出了几个常用的预训练模型,可以到 这里 查看更多。

解压下载到的 .zip 文件以后,会有 6 个文件:

TensorFlow 模型文件(bert_model.ckpt) 包含预训练模型的权重,模型文件有三个
字典文件(vocab.txt) 记录词条与 id 的映射关系
配置文件(bert_config.json ) 记录模型的超参数
将解压好的文件放入文件夹squ

2.3启动Bert服务

bert-serving-start -model_dir /tmp/english_L-12_H-768_A-12/ -num_worker=2 -max_seq_len=40 -http_port 8125
其中,-model_dir 是预训练模型的路径,-num_worker 是线程数,表示同时可以处理多少个并发请求,-max_seq_len是句子最大长度.-http_port 8125 是http接口调用的端口号
成功启动之后会有显示WORKER-0 ready and listening

2.4调用

2.4.1python的方法

from bert_serving.clientimport BertClient
bc = BertClient()
bc.encode([‘First do it’,‘then do it right’,‘then do it better’])

2.4.2接口的方法

参数:{
“id”: 123,
“texts”: [“hello world”, “good day!”],
“is_tokenized”: false
}

is_tokenized 一定设为 false
地址:http://xx.xx.xx.xx:8125/encode

2.5设置后台启动

nohup bert-serving-start -model_dir chinese_L-12_H-768_A-12/ -num_worker=12 -max_seq_len=40 &
输入命令以后,没有日志输出是正常的(因为在后台启动了),只要没报错

3.milvus docker容器 搭建

官网地址为:https://milvus.io/cn/docs/v0.8.0/about_milvus/overview.md
客户端****https://milvus-io.github.io/milvus-sdk-python/pythondoc/v0.2.11/assets.html
有相关CPU,GPU版本的安装方法,且有相关API 说明

请注意 pymilvus(客户端) 的版本 和 Milvus(服务端)的版本,0.2.10(客户端)对应0.8.0(服务端)

请注意如果配置完出现错误:Config check fail: Invalid cpu cache capacity: 4. Possible reason: cache_config.cpu_cache_capacity exceeds system memory.
ERROR: Milvus server fail to load config file
请检查server_confid.yaml文件中关于cpu的配置,cpu内存不够

4.未完待续

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值