我有兴趣将 spaCy python 库用于我自己的开源项目。我正在寻找的是基于 REST 的 API。通过公共 REST 接口公开 spaCy API 有什么必要或推荐的方法是什么?我已经查看了spaCy 服务和来自jgontrum的spacy-api-docker 项目。但似乎没有可用的官方 REST API,每个人都必须自己做。如果是这样,将 python spaCy 方法/脚本包装到 REST API 中的最佳方法是什么?似乎是这样的框架猎鹰,拥抱和烧瓶帮我做这个。
但是,这是使用这些框架之一编写我自己的 REST API 服务器的推荐方法,还是我已经监督过并且 spaCy 已经通过 REST API 接口可用?
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}
Run Code Online (Sandbox Code Playgroud)
自动文档 UI 如下所示:
免责声明:我创建了 FastAPI,这就是我们目前在 Explosion(spaCy 的创建者)中使用的。
| 归档时间: |
|
| 查看次数: |
527 次 |
| 最近记录: |