環(huán)境說明
開發(fā)環(huán)境
工具 | 版本 | 備注 |
---|---|---|
JDK | 1.8 | 強制要求 |
MySQL | 5.7.24+ | 強制要求 |
Redis | —— |
開發(fā)使用工具
工具 | 說明 |
---|---|
IntelliJ IDEA | Java編程語言開發(fā)的集成環(huán)境 |
Navicat | Mysql數(shù)據(jù)庫管理工具 |
RedisDesktopManager | Redis可視化管理工具 |
部署說明
針對于不同的技術(shù)人群,我們提供了多種部署方式:
- 簡易版部署:使用Docker只需要一行命令即可完成‘NLP自然語言處理引擎’系統(tǒng)的部署
- 全服務(wù)本地化部署:針對于前端、Java后端、Python后端全部實現(xiàn)本地化部署
簡易版部署
針對于小白用戶,為了避免安裝各種開發(fā)環(huán)境的苦惱,我們給出了簡易版部署教程,只需要用戶安裝好Docker,執(zhí)行一行命令即可部署我們的‘NLP自然語言處理引擎’系統(tǒng)
Docker安裝
在Docker官網(wǎng)也有針對各個操作系統(tǒng)的詳細安裝步驟:https://www.docker.com/get-started/
-
對于Windows用戶
在docker官網(wǎng)點擊Download for Windows下載安裝包進行安裝,具體的安裝教程可以參考互聯(lián)網(wǎng)資料
-
對于Ubuntu用戶
在命令行輸入apt install -y docker.io
-
對于Centos用戶
yum install -y docker
-
對于MacOs用戶
brew install --cask --appdir=/Applications docker
安裝完在命令行輸入 docker -v 可以返回Docker版本號相關(guān)信息即為安裝成功
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 即為 部署成功
-
如果失敗 請使用docker logs 容器ID或名稱 -f 查看容器日志(例如 docker logs nlp_stonedt -f)然后提交相關(guān)截圖聯(lián)系我們
訪問系統(tǒng)
打開瀏覽器,輸入網(wǎng)址?http://IP地址:8866
?即可進入系統(tǒng) 默認用戶名:user 默認密碼:123456
全服務(wù)本地化部署
啟動Python程序
Python部署需要準備至少12GB運行內(nèi)存
一. 部署方式
針對于新手、或有一定基礎(chǔ)、或有一定經(jīng)驗,我們準備了三種部署方式:
-
Docker鏡像(適合新手)
-
Dockerfile(有一定基礎(chǔ))
-
Conda(有一定經(jīng)驗)
下方Conda準備工作和Docker準備工作只需要做其一就可以了。
二. Conda準備工作
Conda是一個用于管理Python環(huán)境和軟件包的開源工具。下面是使用conda進行部署的步驟:
1:安裝Conda
如果您尚未安裝Conda,請按照以下步驟安裝:
- 訪問?Anaconda官方網(wǎng)站?下載適用于您操作系統(tǒng)的Anaconda安裝程序。
- 運行安裝程序,并按照提示進行安裝。
2:創(chuàng)建環(huán)境
-
打開終端
-
創(chuàng)建一個新的conda環(huán)境:
conda create --name myenv python=3.9 其中,`myenv`是您想要給環(huán)境取的名字,`python=3.9`指定了使用Python 3.9版本。 例如 conda create --name nlp_text python=3.9
-
在終端執(zhí)行下面命令進入虛擬環(huán)境激活環(huán)境:
conda activate myenv
3:更換鏡像源
考慮到網(wǎng)絡(luò)原因,這里建議用戶將鏡像源切換成國內(nèi)源。復(fù)制下面的命令在conda虛擬環(huán)境里運行即可
- 添加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 端拆分為多個項目。根據(jù)您的需求,您可以下載相應(yīng)的 Python 代碼并安裝其所需的依賴包。
根據(jù)當(dāng)前計劃,我們將 Python 項目分為以下幾類:
- 文本處理服務(wù)(NLPTextService.py)
- 音視頻文件處理服務(wù)
- 圖像處理服務(wù)
文本處理服務(wù)功能包括:
- 情感分析
- 招標抽取
- 合同抽取
- 法律文書信息抽取
- 簡歷抽取
- 觀點抽取
- 自定義文本抽取
- 時間抽取
- 關(guān)系抽取
- 實體抽取
- 機構(gòu)識別
- 主題抽取
- 相似度查找
- 文本糾錯
- 詞性標注
四. Python部署
1:文本處理服務(wù)(NLPTextService.py)
-
Conda部署
-
拉取代碼:此服務(wù)的代碼的位置在:free-nlp-api/Python/Code/NLPTextService.py
-
進入conda虛擬環(huán)境:conda activate myenv
-
安裝paddlepaddle 基礎(chǔ)依賴
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程序的時候會自動從互聯(lián)網(wǎng)進行下載,但是對于某些服務(wù)我們提供了我們自己訓(xùn)練的模型,對結(jié)果的精度以及效果都有很大的提升,需要用戶手動下載模型放在和Python代碼同路徑(free-nlp-api/PythonCode)下(當(dāng)然也可以放到別的路徑,需要在代碼里修改模型路徑地址) 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,執(zhí)行下面命令完成后臺運行
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
-
構(gòu)建鏡像
在Dockerfile目錄下 運行 docker build -t nlp_text:1.0.0 .
-
構(gòu)建容器并運行
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
-
查看容器是否正在運行 在命令行輸入以下命令 如果出現(xiàn)了名為nlp_text的容器即為正常
docker ps
-
查看服務(wù)是否運行成功 在命令行輸入以下命令,如果出現(xiàn)和下面圖片類似的結(jié)果即為部署成功
docker logs nlp_text -f
-
修改簡易版鏡像地址
如果用戶不想折騰其他的環(huán)境去部署前后端程序,可以使用我們提供的簡易版docker鏡像,只需要將Python接口地址改成自己的就可以了。
-
進入容器
docker exec -it nlp_stonedt /bin/bash
-
修改Python接口地址
進入路徑/opt/free-nlp-api/config 輸入vim application.properties 將網(wǎng)址修改成我們本地部署的Python服務(wù)機器的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 &
環(huán)境安裝
安裝Java環(huán)境
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
- 配置
關(guān)于redis的配置這篇文章說的很詳細
https://www.cnblogs.com/ysocean/p/9074787.html
啟動后端程序
對于有開發(fā)經(jīng)驗 建議使用編譯器運行調(diào)試和Jar包部署運行 對于小白用戶 建議Docker部署
配置文件
-
配置文件路徑
配置文件的路徑在項目根路徑的config文件夾下
-
配置文件說明
application.properties為Python服務(wù)端接口配置
application.yml為Java后端配置,里面包含了Java后端啟動端口、MySQL數(shù)據(jù)庫配置信息、Redis配置信息等,用戶只需要關(guān)注MySQL、Redis配置即可,修改說明在此文件有詳細的注釋可以參考
編譯器運行調(diào)試
-
使用Git工具或者編譯器最新源代碼 地址AI多模態(tài)能力平臺: 免費的自然語言處理、情感分析、實體識別、圖像識別與分類、OCR識別、語音識別接口,功能強大,歡迎體驗。
-
使用idea或者eclipse
-
打開項目設(shè)置JDK1.8
-
設(shè)置maven地址指向本地maven
-
使用navicat或命令行創(chuàng)建數(shù)據(jù)庫free_nlp_data
-
選擇剛剛創(chuàng)建的數(shù)據(jù)庫,右鍵選擇運行SQL文件進行導(dǎo)入數(shù)據(jù)庫,SQL文件的位置項目的db\V1__create.sql
-
打開項目的配置文件application.yml修改數(shù)據(jù)庫和redis的地址、用戶名、密碼信息
# 數(shù)據(jù)源配置 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配置好所有的相關(guān)依賴就可以點擊運行了。
JAR包運行
-
下載部署文件壓縮包:地址為https://118.184.157.251:8866/free-nlp-api.zip
-
解壓壓縮包并修改配置文件
free-nlp-api.jar文件為Java程序包,config目錄為配置文件目錄,我們需要對配置文件進行修改
application.yml 為運行所需環(huán)境配置信息,我們將數(shù)據(jù)庫信息和redis信息改成自己的。
application.properties 為調(diào)用我們部署的Python端接口地址,更換ip地址為部署Python服務(wù)的機器ip地址。
-
在根目錄執(zhí)行?java -jar free-nlp-api.jar?啟動我們的NLP自然語言處理引擎
Docker運行
安裝Docker
拉取基礎(chǔ)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 容器
創(chuàng)建數(shù)據(jù)庫free_nlp_data 字符集utf8mb4 排序規(guī)則utf8mb4_general_ci 在我們的開源地址gitee上找到/db項目路徑的sql文件,將數(shù)據(jù)導(dǎo)入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?查看是否返回結(jié)果,如果有就說明后端部署成功
啟動前端程序
- 因為本項目是前后端分離的,所以需要前后端都啟動好,才能進行訪問
- 前端項目在ROOT文件夾,使用tomcat進行部署
Tomcat介紹以及安裝
-
下載安裝tomcat8
官網(wǎng):Apache Tomcat? - Apache Tomcat 8 Software Downloads
按照自己的操作系統(tǒng)下載合適的Linux或者Windows版本,然后進行解壓,注意不要含有中文路徑 解壓后目錄文件如下?
前端部署
項目源代碼拷貝
-
前端項目文件在項目更新目錄ROOT文件夾
-
將Tomcat根目錄里webapps里面的內(nèi)容全部刪除,將項目根目錄文件夾ROOT 拷貝到Tomcat根目錄下webapps下,結(jié)構(gòu)如圖:?
后端地址修改
- 找到前端接口配置文件/dist/assets/common/public.js
- 將默認的
127.0.0.1:8866
替換成 我們部署的后端地址
前端項目執(zhí)行
- windows請雙擊Tomcat根目錄—>bin目錄—>startup.bat
- Linux用戶請在Tomcat根目錄—>bin目錄 執(zhí)行./startup.sh
訪問頁面
-
訪問 http://IP地址:8080/dist/assets/page/login/login.html
?出現(xiàn)登錄頁面即為前端部署成功
技術(shù)合作&交流
聯(lián)系我們
-
微信號: javabloger
-
電話: 13913853100
-
郵箱:?huangyi@stonedt.com
-
公司官網(wǎng):www.stonedt.com
-
歡迎您在下方留言,或添加微信與我們交流。文章來源:http://www.zghlxwxcb.cn/news/detail-842441.html
掃描微信二維碼,獲得技術(shù)支持 或者 申請您的系統(tǒng)調(diào)用配額。文章來源地址http://www.zghlxwxcb.cn/news/detail-842441.html
到了這里,關(guān)于思通數(shù)科-免費開源NLP引擎部署文檔的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!