思通数科-免费开源NLP引擎部署文档

这篇具有很好参考价值的文章主要介绍了思通数科-免费开源NLP引擎部署文档。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

环境说明

开发环境

工具 版本 备注
JDK 1.8 强制要求
MySQL 5.7.24+ 强制要求
Redis ——

开发使用工具

工具 说明
IntelliJ IDEA Java编程语言开发的集成环境
Navicat Mysql数据库管理工具
RedisDesktopManager Redis可视化管理工具

部署说明

针对于不同的技术人群,我们提供了多种部署方式:

  • 简易版部署:使用Docker只需要一行命令即可完成‘NLP自然语言处理引擎’系统的部署
  • 全服务本地化部署:针对于前端、Java后端、Python后端全部实现本地化部署

简易版部署

针对于小白用户,为了避免安装各种开发环境的苦恼,我们给出了简易版部署教程,只需要用户安装好Docker,执行一行命令即可部署我们的‘NLP自然语言处理引擎’系统

Docker安装

在Docker官网也有针对各个操作系统的详细安装步骤:https://www.docker.com/get-started/

  • 对于Windows用户

    在docker官网点击Download for Windows下载安装包进行安装,具体的安装教程可以参考互联网资料

    思通数科-免费开源NLP引擎部署文档,自然语言处理,人工智能,算法,开源软件,nlp,python,java

  • 对于Ubuntu用户

    在命令行输入apt install -y docker.io

  • 对于Centos用户

    yum install -y docker

  • 对于MacOs用户

    brew install --cask --appdir=/Applications docker

安装完在命令行输入 docker -v 可以返回Docker版本号相关信息即为安装成功

Docker拉取镜像并运行

在命令行输入下面一行命令即可完成镜像的拉取以及运行。拉取镜像大概需要花费5-10分钟,容器启动大概1-3分钟。

docker run -itd --name nlp_stonedt -p 8866:8866 registry.cn-beijing.aliyuncs.com/stonedt_nlp/nlp_stonedt:1.0.9

验证是否成功运行

  • 使用docker ps 命令查看容器运行状况 如果是healthy 即为 部署成功

    思通数科-免费开源NLP引擎部署文档,自然语言处理,人工智能,算法,开源软件,nlp,python,java

  • 如果失败 请使用docker logs 容器ID或名称 -f 查看容器日志(例如 docker logs nlp_stonedt -f)然后提交相关截图联系我们

访问系统

打开浏览器,输入网址 http://IP地址:8866 即可进入系统 默认用户名:user 默认密码:123456

全服务本地化部署

启动Python程序

Python部署需要准备至少12GB运行内存

一. 部署方式

针对于新手、或有一定基础、或有一定经验,我们准备了三种部署方式:

  • Docker镜像(适合新手)

  • Dockerfile(有一定基础)

  • Conda(有一定经验)

    下方Conda准备工作和Docker准备工作只需要做其一就可以了。

二. Conda准备工作

Conda是一个用于管理Python环境和软件包的开源工具。下面是使用conda进行部署的步骤:

1:安装Conda

如果您尚未安装Conda,请按照以下步骤安装:

  1. 访问 Anaconda官方网站 下载适用于您操作系统的Anaconda安装程序。
  2. 运行安装程序,并按照提示进行安装。
2:创建环境
  1. 打开终端

  2. 创建一个新的conda环境:

    conda create --name myenv python=3.9
    其中,`myenv`是您想要给环境取的名字,`python=3.9`指定了使用Python 3.9版本。
    例如 conda create --name nlp_text python=3.9
  3. 在终端执行下面命令进入虚拟环境激活环境:

     conda activate myenv
3:更换镜像源

考虑到网络原因,这里建议用户将镜像源切换成国内源。复制下面的命令在conda虚拟环境里运行即可

  • 添加conda清华源
conda config --add channels      https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

conda config --add channels    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/

conda config --set show_channel_urls yes
  • 添加Python源
pip config set global.index-url https://mirror.baidu.com/pypi/simple/

三. 功能分类

考虑到功能分类、资源占用和用户需求的多样性,我们将 Python 端拆分为多个项目。根据您的需求,您可以下载相应的 Python 代码并安装其所需的依赖包。

根据当前计划,我们将 Python 项目分为以下几类:

  • 文本处理服务(NLPTextService.py)
  • 音视频文件处理服务
  • 图像处理服务

文本处理服务功能包括:

  • 情感分析
  • 招标抽取
  • 合同抽取
  • 法律文书信息抽取
  • 简历抽取
  • 观点抽取
  • 自定义文本抽取
  • 时间抽取
  • 关系抽取
  • 实体抽取
  • 机构识别
  • 主题抽取
  • 相似度查找
  • 文本纠错
  • 词性标注

四. Python部署

1:文本处理服务(NLPTextService.py)
  • Conda部署

    • 拉取代码:此服务的代码的位置在:free-nlp-api/Python/Code/NLPTextService.py

    • 进入conda虚拟环境:conda activate myenv

    • 安装paddlepaddle 基础依赖

    conda install paddlepaddle==2.5.1 --channel https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle/
    • 安装依赖
    pip install paddlenlp==2.5.2  synonyms==3.18.0  paddlehub==2.1.0 aiofiles==22.1.0 fastapi  uvicorn  pycorrector==0.4.8 jiagu
    • 下载模型

      对于大部分的功能,在运行python程序的时候会自动从互联网进行下载,但是对于某些服务我们提供了我们自己训练的模型,对结果的精度以及效果都有很大的提升,需要用户手动下载模型放在和Python代码同路径(free-nlp-api/PythonCode)下(当然也可以放到别的路径,需要在代码里修改模型路径地址) uie模型下载地址 https://118.184.157.251:8866/uie_modle.tar.gz (备用https://file.654432.xyz/uie_modle.tar.gz) 下载完模型进行解压即可。 如果直链下载失败,可以使用123云盘保存到自己云盘进行下载,下载地址:https://www.123pan.com/s/aEC8jv-L99I.html

    • 运行程序

      进入本项目本地路径free-nlp-api/PythonCode,执行下面命令完成后台运行

      nohup python NLPTextService.py &
  • Dockerfile部署

    • 拉取文本处理Dockerfile:此文件的位置在:free-nlp-api/Python/Dockerfile/NLPTextService

    • 或者直接wget下载 :wget https://gitee.com/stonedtx/free-nlp-api/raw/master/Python/Dockerfile/NLPTextService

    • 将NLPTextService改名成Dockerfile

    • 构建镜像

      在Dockerfile目录下 运行 docker build -t nlp_text:1.0.0 .

    • 构建容器并运行

      docker run -itd --name nlp_text:1.0.0

  • Docker部署

    • 拉取docker镜像并运行

      docker run -itd -p 8801:8801 --name nlp_text registry.cn-beijing.aliyuncs.com/stonedt_nlp/nlp_text:1.0.2
    • 查看容器是否正在运行 在命令行输入以下命令 如果出现了名为nlp_text的容器即为正常

      docker ps
    • 查看服务是否运行成功 在命令行输入以下命令,如果出现和下面图片类似的结果即为部署成功

      docker logs nlp_text -f

      思通数科-免费开源NLP引擎部署文档,自然语言处理,人工智能,算法,开源软件,nlp,python,java

修改简易版镜像地址

如果用户不想折腾其他的环境去部署前后端程序,可以使用我们提供的简易版docker镜像,只需要将Python接口地址改成自己的就可以了。

  • 进入容器

    docker exec -it nlp_stonedt /bin/bash
  • 修改Python接口地址

    进入路径/opt/free-nlp-api/config
    输入vim application.properties
    将网址修改成我们本地部署的Python服务机器的ip地址
  • 重启Java项目

    杀掉进程

    kill $(ps aux | grep '[j]ava -jar /opt/free-nlp-api/nlp.jar' | awk '{print $2}')

    重启进程

    nohup java -jar /opt/free-nlp-api/nlp.jar &

环境安装

安装Java环境

JDK8 Oracle官方下载地址:https://www.oracle.com/java/technologies/downloads/#java8

window安装JDK8 参见: https://www.cnblogs.com/zhangzhixing/p/12953187.html

Linux安装JDK8 参见: https://www.jianshu.com/p/75f0f34b599d

安装MySQL

Mysql5.7安装方式可以参见:https://www.runoob.com/mysql/mysql-install.html

安装Redis

  • 安装

源码及apt安装

http://www.imxmx.com/Item/1/211097.html

  • 配置

关于redis的配置这篇文章说的很详细

https://www.cnblogs.com/ysocean/p/9074787.html

启动后端程序

对于有开发经验 建议使用编译器运行调试和Jar包部署运行 对于小白用户 建议Docker部署

配置文件

  • 配置文件路径

    配置文件的路径在项目根路径的config文件夹下

    思通数科-免费开源NLP引擎部署文档,自然语言处理,人工智能,算法,开源软件,nlp,python,java

  • 配置文件说明

    application.properties为Python服务端接口配置

    application.yml为Java后端配置,里面包含了Java后端启动端口、MySQL数据库配置信息、Redis配置信息等,用户只需要关注MySQL、Redis配置即可,修改说明在此文件有详细的注释可以参考

编译器运行调试

  • 使用Git工具或者编译器最新源代码 地址AI多模态能力平台: 免费的自然语言处理、情感分析、实体识别、图像识别与分类、OCR识别、语音识别接口,功能强大,欢迎体验。

  • 使用idea或者eclipse

  • 打开项目设置JDK1.8

    思通数科-免费开源NLP引擎部署文档,自然语言处理,人工智能,算法,开源软件,nlp,python,java

    思通数科-免费开源NLP引擎部署文档,自然语言处理,人工智能,算法,开源软件,nlp,python,java

  • 设置maven地址指向本地maven

    思通数科-免费开源NLP引擎部署文档,自然语言处理,人工智能,算法,开源软件,nlp,python,java

  • 使用navicat或命令行创建数据库free_nlp_data

    思通数科-免费开源NLP引擎部署文档,自然语言处理,人工智能,算法,开源软件,nlp,python,java

  • 选择刚刚创建的数据库,右键选择运行SQL文件进行导入数据库,SQL文件的位置项目的db\V1__create.sql

    思通数科-免费开源NLP引擎部署文档,自然语言处理,人工智能,算法,开源软件,nlp,python,java

  • 打开项目的配置文件application.yml修改数据库和redis的地址、用户名、密码信息

# 数据源配置
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/free_nlp_data?characterEncoding=UTF-8&useSSL=false
    username: root
    password: 1234
spring:
  redis:
    database: 0
    host: 127.0.0.1
    port: 6379
    max-active: 10000
    max-idle: 10
    max-wait: 100000
    timeout: 100000
  • 等待maven配置好所有的相关依赖就可以点击运行了。

JAR包运行

  • 下载部署文件压缩包:地址为https://118.184.157.251:8866/free-nlp-api.zip

  • 解压压缩包并修改配置文件

    free-nlp-api.jar文件为Java程序包,config目录为配置文件目录,我们需要对配置文件进行修改

    application.yml 为运行所需环境配置信息,我们将数据库信息和redis信息改成自己的。

    application.properties 为调用我们部署的Python端接口地址,更换ip地址为部署Python服务的机器ip地址。

  • 在根目录执行 java -jar free-nlp-api.jar 启动我们的NLP自然语言处理引擎

Docker运行

安装Docker
拉取基础Docker镜像
  • 拉取redis $ docker run -p 6379:6379 --name redis -d redis:7.0.12

    使用命令docker ps 查看是否redis容器

  • 拉取Mysql $ docker run -itd --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=1234 mysql:5.7.24

    使用命令docker ps 查看是否mysql 容器

    创建数据库free_nlp_data 字符集utf8mb4 排序规则utf8mb4_general_ci 在我们的开源地址gitee上找到/db项目路径的sql文件,将数据导入mysql

  • 运行后端Docker $ docker run -itd --name nlp_data -p 8090:8090 registry.cn-shanghai.aliyuncs.com/stonedt_nlp/nlp_data:1.0.1

    使用命令docker ps 查看是否nlp_data 容器

    访问http://127.0.0.1:8090/api 查看是否返回结果,如果有就说明后端部署成功

启动前端程序

  • 因为本项目是前后端分离的,所以需要前后端都启动好,才能进行访问
  • 前端项目在ROOT文件夹,使用tomcat进行部署

Tomcat介绍以及安装

  • 下载安装tomcat8

    官网:Apache Tomcat® - Apache Tomcat 8 Software Downloads

    按照自己的操作系统下载合适的Linux或者Windows版本,然后进行解压,注意不要含有中文路径 解压后目录文件如下 

    思通数科-免费开源NLP引擎部署文档,自然语言处理,人工智能,算法,开源软件,nlp,python,java

前端部署

项目源代码拷贝
  • 前端项目文件在项目更新目录ROOT文件夹

    思通数科-免费开源NLP引擎部署文档,自然语言处理,人工智能,算法,开源软件,nlp,python,java

  • 将Tomcat根目录里webapps里面的内容全部删除,将项目根目录文件夹ROOT 拷贝到Tomcat根目录下webapps下,结构如图: 

    思通数科-免费开源NLP引擎部署文档,自然语言处理,人工智能,算法,开源软件,nlp,python,java

后端地址修改
  • 找到前端接口配置文件/dist/assets/common/public.js
  • 将默认的127.0.0.1:8866替换成 我们部署的后端地址
前端项目执行
  • windows请双击Tomcat根目录—>bin目录—>startup.bat
  • Linux用户请在Tomcat根目录—>bin目录 执行./startup.sh
访问页面
  • 访问 http://IP地址:8080/dist/assets/page/login/login.html 出现登录页面即为前端部署成功

技术合作&交流

联系我们

  • 微信号: javabloger

  • 电话: 13913853100

  • 邮箱: huangyi@stonedt.com

  • 公司官网:www.stonedt.com

  • 思通数科-免费开源NLP引擎部署文档,自然语言处理,人工智能,算法,开源软件,nlp,python,java

    欢迎您在下方留言,或添加微信与我们交流。

    扫描微信二维码,获得技术支持 或者 申请您的系统调用配额。文章来源地址https://www.toymoban.com/news/detail-842441.html

到了这里,关于思通数科-免费开源NLP引擎部署文档的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 免费部署一个开源大模型 MOSS

    2023年初,ChatGPT 人工智能对话模型火爆全球,仅两个月的时间就突破一亿月活用户,成为有史以来应用速度最快的技术之一。 ChatGPT 的大热引发了全球科技巨头之间的“军备竞赛”,中国本土的“中国版 ChatGPT ”也随之展开了激烈角逐。在中国多家科技公司中,百度于3月上线

    2024年02月06日
    浏览(49)
  • 全网最新整理覆盖全平台电脑、手机的7个开源免费流媒体直播平台以及完整源码和文档

    全网最新整理覆盖全平台电脑、手机的7个开源免费流媒体直播平台以及完整源码和文档。 如今上到太空站、下到在家养猪,各行各业都在直播。直播之所以如此盛行,就是因为其能够给粉丝观众亲临现场的感受,以及直播过程中所附带着巨大的经济效益。这种方式可以为无

    2024年02月02日
    浏览(69)
  • Snort开源入侵防御系统部署文档(一)

    (个人操作记录,不喜勿喷,水平低下,见谅见谅) Snort 是世界上最重要的开源入侵防御系统 (IPS)。 Snort IPS 使用一系列规则来帮助定义恶意网络活动,并使用这些规则来查找与其匹配的数据包并为用户生成警报。Snort 也可以内联部署来阻止这些数据包。 Snort 有三个主要

    2024年02月22日
    浏览(41)
  • PDF.js - 免费开源的 JavaScript 读取、显示 PDF 文档的工具库,由 Mozilla 开发并且持续维护

    最近新项目需要处理 PDF,研究了 PDf.js 之后觉得很不错,于是写篇文章推荐给大家。 PDF.js 的功能和它的名字一样简单,是一个使用 HTML5 技术来让前端网页支持读取、解析和显示 PDF 文档的 JS 工具库。这个项目由大名鼎鼎的 Mozilla 组织开发并且更新维护着,没错,就是那个开

    2024年01月21日
    浏览(53)
  • AI绘画|免费开源!一键部署的AI绘画工具Fooocus

      该项目发布仅仅一周便在Github上收获了超过6k的star!! 其爆火的背后和Fooocus的三个特点分不开: 发扬了Stable Diffusion的开源精神, 无需联网,本地部署,即可免费使用 。 受到Midjourney的启发, 不再需要手动调整各种复杂的参数 ,用户只需专注于Prompt和图像。 Fooocus简化了

    2024年02月03日
    浏览(92)
  • 轻量级全功能开源免费Mailu邮件服务器部署

    实践说明:基于AlmaLinux9,但适用场景不限于此。 文档形成时期:2023年 因系统或软件版本不同,构建部署可能略有差异,但本文未做细分,对稍有经验者应不存在明显障碍。 因软件世界之复杂和个人能力之限,难免疏漏和错误,欢迎指正。 占用资源少而使用成本低; 基本功

    2024年02月02日
    浏览(65)
  • BookStack开源免费知识库docker-compose部署

            BookStack(书栈)是一个功能强大且易于使用的开源知识管理平台,适用于个人、团队或企业的文档协作和知识共享。 简单易用 :BookStack提供了一个直观的用户界面,使用户能够轻松创建、编辑和组织文档 多层级结构 :文档可以以多层级的方式组织,方便用户创

    2024年02月10日
    浏览(37)
  • [C++项目] Boost文档 站内搜索引擎(5): cpphttplib实现网络服务、html页面实现、服务器部署...

    在前四篇文章中, 我们实现了从文档文件的清理 到 搜索的所有内容: 项目背景: 🫦[C++项目] Boost文档 站内搜索引擎(1): 项目背景介绍、相关技术栈、相关概念介绍… 文档解析、处理模块 parser 的实现: 🫦[C++项目] Boost文档 站内搜索引擎(2): 文档文本解析模块parser的实现、如何对

    2024年02月13日
    浏览(47)
  • 本地免费GPT4?Llama 2开源大模型,一键部署且无需硬件要求教程

            目前扎克布格带来了最新的Llama 2开源NLP大模型,目前有三个版本分别是70亿参数量,130亿参数量和700亿参数量,庞大的数据集和参数量保证了模型的强大,官网宣称性能与gpt4相比不落下风,又因为开源使得我们可以实现本地化gpt4的梦想并且免费!我们可以通过微

    2024年02月11日
    浏览(63)
  • Docker部署开源密码管理器Bitwarden, 并申请免费ssl证书自动刷新永不过期

    GitHub传送阵 由于我的安全习惯,我基本上不会在不同的应用程序上使用相同的密码。这使我需要在备忘录上记录大量的账号密码,每次登录系统时需要检索备忘录,这很麻烦。虽然Chrome的密码管理器也可以使用,但是其功能过于简单,无法记录其他非Web系统的账号。 最近加

    2024年02月06日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包