# interro_robot

审讯机器人


## 部署说明

> 要求有docker环境

#### 服务列表

| 服务名称   | 镜像文件名                             | 镜像名                              | 部署顺序 |
|--------|-----------------------------------|----------------------------------| --- |
| 语音转换服务 | interro-robot-paddlespeech.tar.gz | interro-robot-paddlespeech:1.0.0 | 1 |
| 语义匹配服务 | interro-robot-qa.tar.gz           | interro-robot-qa:1.0.0           | 2 |
| 后端服务   | interro-robot-web.tar.gz          | interro-robot-web:1.0.0      | 3 |
| 前端服务   | interro-robot-nginx.tar.gz        | interro-robot-nginx:1.0.0      | 4 |

> 注意：部署应用前需要先创建interro_robot模式，并在interro_robot模式下执行数据库初始化脚本。

#### 加载镜像
```shell

docker load -i interro-robot-sevice.tar.gz

```


#### 部署语音转换服务

```shell

# 启动容器命令：
docker run -itd --name interro-robot-paddlespeech -p {映射端口}:8089  interro-robot-paddlespeech:1.0.0

- 启动容器命令示例：
docker run -itd --name interro-robot-paddlespeech -p 8089:8089  interro-robot-paddlespeech:1.0.0

# 确认容器启动成功
docker ps | grep interro-robot-paddlespeech

```

#### 部署语语义匹配服务
> 进入interro-robot-qa目录下

```shell


- 启动容器命令：
docker run -itd --name interro-robot-qa -p {映射端口}:8000  interro-robot-qa:1.0.0

- 启动容器命令示例：
docker run -itd --name interro-robot-qa -p 9711:8000  interro-robot-qa:1.0.0

# 确认容器启动成功
docker ps | grep interro-robot-qa

```


#### web端docker构建
```shell
- 进入web目录

# 启动容器
#参数说明:
## env.datasource.ip  数据库地址
## env.datasource.username  数据库用户名
## env.datasource.password  数据库密码
## env.match.ip  语义匹配服务地址
## env.paddle-speech.ip  语音转换服务地址    

# 启动容器命令：
docker run --name interro-robot-web -p {映射端口}:9800    \ 
  -e env.datasource.ip={pg数据库ip:port} -e env.datasource.username={pg数据库用户名} -e env.datasource.password={pg数据库密码} \
  -e env.match.ip={语义匹配服务ip:port}  -e env.paddle-speech.ip={语音转换服务ip:port} \
  -v {案件档案存放地址}:/data/intro-robot/  -d interro-robot-web:1.0.0

# 启动容器命令示例
docker run --name interro-robot-web -p 9800:9800 \
  -e env.datasource.ip=192.168.10.138:5432 -e env.datasource.username=postgres -e env.datasource.password='123456' \
  -e env.match.ip=192.168.10.138:9711  -e env.paddle-speech.ip=192.168.10.138:8090 \
  -v /data/intro-robot/:/data/intro-robot/ -d interro-robot-web:1.0.0

# 确认容器启动成功
docker ps | grep interro-robot-web

# 进入容器命令
docker exec -it interro-robot-web sh
```

### nginx docker构建

```shell

# 启动nginx容器
# 参数说明:
## UPSTREAM_WEB_SERVERS 配置web服务地址

# 启动nginx容器命令：
docker run --name interro-robot-nginx -p {映射端口}:443  -d -e UPSTREAM_WEB_SERVERS={后端服务ip:port} interro-robot-nginx:1.0.0

# 启动nginx容器命令示例
docker run --name interro-robot-nginx -p 543:443  -d -e UPSTREAM_WEB_SERVERS=192.168.10.137:9800 interro-robot-nginx:1.0.0

# 确认容器启动成功
docker ps | grep interro-robot-nginx
```

# 访问地址
> http://{nginx服务ip:port}/#/login，默认用户名密码为admin/123456
> **初次创建容器过程中，语义模型中的数据加载需要5分钟左右才能完成，在此期间语义匹配可能无法正常匹配，请耐心等待**