我有一个用例,其中有一个StanfordCoreNLPServer在/0:0:0:0:0:9000侦听,一个gensim.py脚本初始化一个为模型服务的进程,还有一个bottle应用程序(运行在8080端口上(,它有一个脚本,它接受输入并将其发送到模型,接收输出并在前端显示。我目前正在我的ubuntu操作系统上运行这个。但现在我需要将它部署到Heroku,在此之前,我一直在创建docker容器并与之通信。如果有人处理过这个用例,请提供指导。
一些进一步的细节/命令如下:
Stanford Core NLP服务器(第一个选项卡(:
sudo apt install default-jre #Install Java Runtime Environment
wget http://nlp.stanford.edu/software/stanford-corenlp-latest.zip #download nlp.zip
unzip stanford-corenlp-latest.zip #Extract core-nlp
cd stanford-corenlp-latest/stanford-corenlp-4.2.0
java -mx4g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer -port 9000 -timeout 15000
安装Gensim Server并在另一个新选项卡中运行该过程。文件位置:理解/gensim_server.py
pip install "gensim==3.8.1"
pip3 install fuzzywuzzy
python3 gensim_server.py #initializing process to serve model
打开一个新标签并运行瓶子应用程序。文件位置:理解/main.py
pip3 install bottle
pip3 install nltk
pip3 install python-Levenshtein
python3 main.py #run app on 8080 port
Docker文档建议您通过在不同的容器中运行流程来分离关注点,但如果您必须在一个容器中运行它们,它们确实有可能的解决方案。