一、软硬要求
Scriber • KV结构识别系统,支持部署和运行在 Intel x86-64 架构的 64 位通用硬件服务器平台上面。对于开发,测试及生产环境的服务器的软件配置和硬件配置有以下要求和建议。
1. 硬件配置
如下,是部署“Scriber • KV结构识别”系统(CPU)的推荐配置:
如下,是部署“Scriber • KV结构识别”系统(GPU)的推荐配置:
2. 操作系统
如下,是部署“Scriber • KV结构识别”系统的推荐操作系统类型和对应版本:
3. 依赖软件
如下,是部署“Scriber • KV结构识别”系统的依赖软件及对应版本:
二、系统依赖
Scriber • KV结构识别系统,分为前端、后端和模型这三个项目,以下分别介绍其依赖的工具或者软件对应版本。如果需要手动部署的话,则需要安装,具体如下所示。
1. 前端依赖
如下,是Scriber • KV结构识别系统前端的依赖列表:
2. 后端依赖
如下,是Scriber • KV结构识别系统后端的依赖列表:
3. 模型依赖
如下,是Scriber • KV结构识别系统模型的依赖列表:
三、系统部署
Scriber • KV结构识别系统使用Docker容器进行部署,对应其相关服务皆通过镜像方式进行启动,所以再部署应用服务之前需要安装Docker等相关的工具。下面,分别以Ubuntu Bionic 18.04和CentOS7.5系统为例,进行基础软件的安装。
1. docker-ce
◉ CentOS7.5
获取安装详情,可以参考 docker-ce官方安装文档(CentOS)。
◉ Ubuntu Bionic 18.04
获取安装详情,可以参考 docker-ce官方安装文档(Ubuntu)。
2. docker-compose
◉ CentOS7.5
◉ Ubuntu Bionic 18.04
获取安装详情,可以参考 docker-compose官方安装文档。
3. nvidia-container-runtime
◉ CentOS7.5
◉ Ubuntu Bionic 18.04
部署CPU版本,则此工具无需安装。
获取安装详情,可以参考 nvidia-container-runtime官方安装文档。
四、服务部署
Scriber • KV结构识别系统支持单机版部署和分布式部署这两种方式,具体操作部署步骤如下所示。
1. CPU单机版部署
单机版本部署,顾名思义,即在一台机器上面,一并启动下列所有服务。
服务图示:
◉ 使用已有镜像部署操作步骤:庖丁科技镜像地址-hub.docker.com
# 克隆仓库
$ git clone git@github.com:PaodingAI/ScriberKV.git
# 部署CPU版本
$ mdkir scriberkv-demo
$ cd scriberkv-demo
$ cp ScriberKV/docker-compose/standalone/docker-compose-cpu.yml .
$ docker-compose -f ./docker-compose-cpu.yml up -d
◉ 手动构建镜像部署操作步骤
# 克隆仓库
$ git clone git@github.com:PaodingAI/ScriberKV-FrontEnd.git ScriberKV-Frontend
$ git clone git@github.com:PaodingAI/ScriberKV.git
$ git clone git@github.com:PaodingAI/KISegmentator.git
# 编译前端代码
# 编译前需要安装yarn工具,可参考:yarn官网(https://classic.yarnpkg.com/en/docs/install)
$ cd ScriberKV-Frontend
$ yarn install
$ yarn build
$ cd -
# 编译ScriberKV镜像
$ cd ScriberKV
$ ./ci/build_runtime_image.sh
$ ./ci/build_image.sh
$ cd -
# 编译KISegmentator镜像
$ cd KISegmentator
$ ./ci/build_runtime_image.sh
$ ./ci/build_image.sh
$ cd -
# 启动服务
# 启动之前需要修改ScriberKV仓库的docker-compose-cpu.yml启动文件
# 将启动的yaml文件中镜像名称改为本地构建的名称即可(修改内容如下图所示)
$ mdkir scriberkv-demo
$ cd scriberkv-demo
$ cp ../ScriberKV/docker-compose/standalone/docker-compose-cpu.yml .
$ docker-compose -f ./docker-compose-cpu.yml up -d
2. GPU单机版部署
单机版本部署,顾名思义,即在一台机器上面,一并启动下列所有服务。
服务图示:
◉ 使用已有镜像部署操作步骤:庖丁科技镜像地址-hub.docker.com
# 克隆仓库
$ git clone git@github.com:PaodingAI/ScriberKV.git
# 部署GPU版本
$ mdkir scriberkv-demo
$ cd scriberkv-demo
$ cp ScriberKV/docker-compose/standalone/docker-compose-gpu.yml .
$ docker-compose -f ./docker-compose-gpu.yml up -d
◉ 手动构建镜像部署操作步骤:
# 克隆仓库
$ git clone git@github.com:PaodingAI/ScriberKV-FrontEnd.git ScriberKV-Frontend
$ git clone git@github.com:PaodingAI/ScriberKV.git
$ git clone git@github.com:PaodingAI/KISegmentator.git
# 编译前端代码
# 编译前需要安装yarn工具,可参考:yarn官网(https://classic.yarnpkg.com/en/docs/install)
$ cd ScriberKV-Frontend
$ yarn install
$ yarn build
$ cd -
# 编译ScriberKV镜像
$ cd ScriberKV
$ ./ci/build_runtime_image.sh
$ ./ci/build_image.sh
$ cd -
# 编译KISegmentator镜像
$ cd KISegmentator
$ ./ci/build_runtime_image.sh
$ ./ci/build_image.sh
$ cd -
# 启动服务
# 启动之前需要修改ScriberKV仓库的docker-compose-gpu.yml启动文件
# 将启动的yaml文件中镜像名称改为本地构建的名称即可(修改内容如下图所示)
$ mdkir scriberkv-demo
$ cd scriberkv-demo
$ cp ../ScriberKV/docker-compose/standalone/docker-compose-gpu.yml .
$ docker-compose -f ./docker-compose-gpu.yml up -d
3. OCR服务的对接
目前Scriber • KV结构识别系统内置了OCR识别机制,使用的是开源的ocrmypdf工具,该工具本身是tesseract-ocr的一种实现方案。如需接入阿里云的OCR服务,可在系统部署时按照如下方式对接,即可。
操作步骤:
# ./config/config-docker.yml
# 修改ScriberKV配置文件,将OCR改为阿里云
ocr:
service: "aliyun"
然后,在ScriberKV后端服务启动的时候,设置阿里云账户相关的秘钥信息环境变量,具体环境变量如下所示。之后,正常启动服务即可
PDFPARSER_CONFIG_OCR_ALIYUN_APP_KEY=xxxxxx
PDFPARSER_CONFIG_OCR_ALIYUN_APP_SECRET=xxxxxx
PDFPARSER_CONFIG_OCR_ALIYUN_APP_CODE=xxxxxx
五、访问地址
◉ 默认访问地址: http:<部署服务器IP>:80
◉ 用户名和密码: admin/111111
六、代码开源
我们已将相关代码开源,项目及说明文档地址如下:
后端项目:https://github.com/PaodingAI/ScriberKV
接口文档:https://github.com/PaodingAI/ScriberKV/blob/main/docs/api.md
模型接入方法:https://github.com/PaodingAI/ScriberKV/blob/main/docs/model.md
前端项目:https://github.com/PaodingAI/ScriberKV-FrontEnd