我有兴趣在我自己的开源项目中使用spaCy python库。我正在寻找的是一个基于REST的API。通过公共REST接口公开spaCy API的必要方法或推荐的方法是什么?我已经看过spaCy服务和spacy-api-docker项目表格jgontrum了。但是似乎没有官方的REST可用,每个人都必须自己做。如果是这样,将python方法/脚本包装到REST中的最佳方法是什么?似乎有像猎鹰、拥抱和烧瓶这样的框架来帮助我做到这一点。
但是,这是使用这些框架之一编写我自己的REST服务器的推荐方法,还是我已经通过REST接口对spaCy进行了监督?
发布于 2020-04-01 15:12:09
spaCy与任何框架都没有很深的联系,所以您可以选择自己的最爱并使用它。
您可能考虑的另一个选项是FastAPI。例如,下面是一个简单的spaCy实体识别API:
from fastapi import FastAPI
from pydantic import BaseModel
import spacy
nlp_en = spacy.load("en_core_web_sm")
app = FastAPI()
class Data(BaseModel):
text: str
@app.post("/text/")
def extract_entities(data: Data, lang: str):
doc_en = nlp_en(data.text)
ents = []
for ent in doc_en.ents:
ents.append({"text": ent.text, "label_": ent.label_})
return {"message": data.text, "lang": lang, "ents": ents}自动docs如下所示:

免责声明:我创建了FastAPI,这就是我们目前在spaCy(spaCy的创建者)上使用的内容。
https://stackoverflow.com/questions/60964785
复制相似问题