使用spacy docker API
我正在尝试使用spacy作为一个API,如下所示:
安装完成后,testing案例工作得很好:
curl http://localhost:5000/api --header 'content-type: application/json' --data '{"text": "This is a text that I want to be analyzed."}' -X POST
但我想用python处理输出,所以我试图使用请求库:
import requests url = "http://localhost:5000/api" payload = {"text" : "This is a text that I want to be analyzed" } headers = {"content-type": "application/json"} res = requests.post(url, data=payload, headers=headers) res.json()
但是我得到一个输出错误:
{u'message': u'The browser (or proxy) sent a request that this server could not understand.'}
我也尝试使用这个工具的build议:
import requests data = '{"text": "This is a text that I want to be analyzed."}' requests.post('http://localhost:5000/api', data=data)
但是也不行。
嘿使用这个docker的形象
docker pull pasupulaphani/spacy-nlp
启动服务器
docker run --publish 4242:4242 -it spacy-nlp-zeromq:en
(或)手动启动
docker run -v ${PWD}:/usr/zeromq --publish 4242:4242 --entrypoint=/bin/bash -it spacy-nlp-zeromq:en python3 /usr/zeromq/zeromq/server.py
APIparsing
$ zerorpc tcp://0.0.0.0:4242 parse "hotel new york"
u'[{“tag”:“NN”,“text”:“hotel new york”}]'实体
$ zerorpc tcp://0.0.0.0:4242 entities "hotels in london"
“{”end“:6,”start“:0,”text“:”hotels“,”type“:”“},{”end“:16,”start“:10,”text“伦敦“,”types“:”“}]'名词块
$ zerorpc tcp://0.0.0.0:4242 nounChunks "hotels in london"
u'[{“text”:“hotels”},{“text”:“london”}]'排除故障检查端口是否打开
如果! nc -z 0.0.0.0 4242 2>&1> / dev / null; 然后回显“不可用”; 科幻