cookiecutter-spacy-fastapi API 完全参考:/entities 与 /entities_by_type 两个 NER 接口详解
cookiecutter-spacy-fastapi API 完全参考/entities 与 /entities_by_type 两个 NER 接口详解【免费下载链接】cookiecutter-spacy-fastapiCookiecutter API for creating Custom Skills for Azure Search using Python and Docker项目地址: https://gitcode.com/gh_mirrors/co/cookiecutter-spacy-fastapicookiecutter-spacy-fastapi是一个基于 Cookiecutter 的项目模板帮你一键生成基于spaCy FastAPI的命名实体识别NERAPI 服务并支持 Docker 部署。它内置/entities与/entities_by_type两个 NER 接口输出格式兼容 Azure Search 自定义认知技能Cognitive Skill是快速搭建命名实体抽取服务的实用脚手架。上图生成项目后访问/docs即可看到的 NER 接口在线文档与调试页面一键生成你的 NER 服务什么是 cookiecutter-spacy-fastapi这个项目把三样东西打包成了一个模板组件作用Cookiecutter项目生成器一条命令产出完整工程目录spaCy工业级 NLP 工具负责真正的实体识别FastAPI高性能 Web 框架自动生成/docs交互文档它解决的核心痛点是不用手写项目结构直接得到带 Dockerfile、测试用例、示例请求、自动文档的完整服务。快速上手步骤安装 Cookiecutter需 1.4.0 或更高版本pip install --user cookiecutter生成项目cookiecutter https://gitcode.com/gh_mirrors/co/cookiecutter-spacy-fastapi生成后进入项目目录路径名为{{cookiecutter.project_slug}}/按模板提示填入 spaCy 默认模型名如英文常用en_core_web_sm即可运行。两个接口共用的请求结构理解请求体是调用两个接口的前提。请求由RecordsRequest模型定义位于{{cookiecutter.project_slug}}/app/models.py结构如下{ values: [ { recordId: a1, data: { text: Japan is a country. Washington is a state where most people speak English., language: en } } ] }values文档列表天然支持批量处理一次请求可传多条文本recordId每条文档的唯一标识响应中会原样带回方便和原始数据对齐data.text待识别文本data.language语言代码默认en。这个values recordId的设计正是 Azure Search 认知技能的标准入参约定模板在{{cookiecutter.project_slug}}/app/data/example_request.json中内置了示例请求/docs页面可直接填入试用。/entities 接口详解返回原始实体列表POST /entities是最直接的 NER 接口把一批文本送入 spaCy 模型返回每条文档识别到的全部命名实体。路由实现在{{cookiecutter.project_slug}}/app/api.py中核心逻辑委托给{{cookiecutter.project_slug}}/app/spacy_extractor.py里的SpacyExtractor类它通过nlp.pipe()批量处理文本比逐条调用更快。响应结构{ values: [ { recordId: a1, data: { entities: [ { name: Washington, label: GPE, matches: [ {start: 25, end: 35, text: Washington} ] } ] } } ] }每个实体对象包含三个字段字段说明name实体名称全小写时会自动首字母大写如google→GooglelabelspaCy 实体标签如ORG、PERSON、GPEmatches该实体在原文中的所有出现位置含 start / end 偏移和原文片段一个值得注意的细节同一实体在文中出现多次时会被合并为一条记录所有位置收进matches数组而不是重复输出多条实体响应更干净。/entities_by_type 接口详解按类型分组返回POST /entities_by_type的请求体与/entities完全相同区别在输出它把每条文档的实体按标签分组直接返回「类型 → 实体名列表」的结构{ values: [ { recordId: a1, data: { organizations: [Google, Apple, Amazon], products: [Siri, Alexa, Echo and Dot], gpes: [Japan, Washington] } } ] }支持的 17 种实体类型分组映射由ENT_PROP_MAP定义位于{{cookiecutter.project_slug}}/app/models.py覆盖 spaCy 默认模型的全部标签标签返回字段含义ORGorganizations组织、机构PERSONpeople人物GPEgpes国家、州、城市LOClocations非政区地名FACfacilities设施机场、桥梁等PRODUCTproducts产品、作品WORK_OF_ARTworksOfArt书籍、影视等EVENTevents事件LAWlaws法律法规LANGUAGElanguages语言NORPnorps民族、宗教等DATEdates日期TIMEtimes时间PERCENTpercentages百分比MONEYmoney货币金额QUANTITYquanities数量CARDINAL / ORDINALcardinals / ordinals基数词 / 序数词 这个接口可以直接作为Azure Search 自定义认知技能使用——响应中的字段名就是 Azure 侧可直接引用的属性名无需二次转换。两个接口怎么选对比一览对比项/entities/entities_by_type输出形态实体列表含 label、位置类型 → 实体名列表是否有位置信息✅ start / end 偏移❌ 只有名称重复实体合并为一条 matches自动去重合并典型场景需要标注、高亮、溯源按类型汇总、喂给搜索系统经验法则需要知道实体在原文哪个位置、或需要原始标签时用/entities只需要「这段文本里有哪些人、哪些公司」这种按类型归拢的结果时用/entities_by_type。本地运行与部署从调试到 Docker进入生成的项目目录创建虚拟环境并启动cd ./你的项目目录 bash ./create_virtualenv.sh uvicorn app.api:app --reload浏览器打开http://localhost:8000/docs即可看到上图所示的 NER 接口文档页也可访问/redoc查看另一种文档样式。项目自带测试用例{{cookiecutter.project_slug}}/app/tests/test_api.py覆盖文档重定向和 NER 调用可验证服务是否正常。部署时直接使用仓库内的{{cookiecutter.project_slug}}/Dockerfile它基于 uvicorn-gunicorn-fastapi 基础镜像自动执行spacy download拉取你在模板中指定的模型容器监听 8080 端口适合直接对接 Azure Search 或容器编排平台。总结cookiecutter-spacy-fastapi 用一条命令帮你搭好了一个生产可用的 NER 服务骨架/entities给你带位置信息的原始实体/entities_by_type给你按 17 种类型分组的整洁结果两者入参相同、格式兼容 Azure Search 认知技能。对于想快速把 spaCy 实体识别能力暴露为 API 的团队这套模板能省掉绝大部分脚手架工作让你把精力留给模型选择和调优。【免费下载链接】cookiecutter-spacy-fastapiCookiecutter API for creating Custom Skills for Azure Search using Python and Docker项目地址: https://gitcode.com/gh_mirrors/co/cookiecutter-spacy-fastapi创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

给老 Mac 打补丁:用 OpenCore Legacy Patcher 四步装回最新 macOS

给老 Mac 打补丁:用 OpenCore Legacy Patcher 四步装回最新 macOS

给老 Mac 打补丁:用 OpenCore Legacy Patcher 四步装回最新 macOS 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 周日下午,我把一台吃…

2026/11/13 7:41:25 阅读更多 →
Cotowali多后端之谜:同一份.li代码如何同时编译为sh与PowerShell

Cotowali多后端之谜:同一份.li代码如何同时编译为sh与PowerShell

Cotowali多后端之谜:同一份.li代码如何同时编译为sh与PowerShell 【免费下载链接】cotowali A statically typed scripting language that transpile into POSIX sh 项目地址: https://gitcode.com/gh_mirrors/co/cotowali Cotowali 是一门静态类型化的脚本语…

2026/11/13 7:41:24 阅读更多 →
基于springboot的外卖管理系统设计与实现(源码+lw+部署文档+讲解等)

基于springboot的外卖管理系统设计与实现(源码+lw+部署文档+讲解等)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/10/25 2:16:51 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/13 5:13:25 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/13 5:13:25 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/13 5:13:25 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/12 18:22:26 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/12 18:22:25 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/13 5:13:25 阅读更多 →

日新闻

周新闻

月新闻