如何将 cookiecutter-spacy-fastapi 集成到 Azure Search:自定义认知技能实战教程
如何将 cookiecutter-spacy-fastapi 集成到 Azure Search自定义认知技能实战教程【免费下载链接】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 是一个开箱即用的 Python Cookiecutter 项目模板只需一条命令即可生成一个兼容Azure Search 自定义认知技能Custom Cognitive Skill的命名实体识别NERAPI 项目。它基于 spaCy FastAPI Docker 三大核心组件帮你把文本智能分析能力快速接入 Azure Search 认知搜索是新手构建企业级 NLP 技能服务的最短路径。一、它是什么为什么新手需要这个模板 先说清楚两个概念Azure Search 认知技能Cognitive SkillAzure Search 在索引文档时可以调用各种 AI 能力语言检测、实体识别、关键短语提取等把分析结果写回索引让搜索结果更懂你的数据。自定义认知技能如果你有一套自己的 AI 算法比如一个 Python API只要接口符合 Azure 规范就能注册为自定义认知技能融入 Azure Search 的技能流水线。而cookiecutter-spacy-fastapi解决的就是让你不用从零搭 API直接生成一个符合自定义认知技能接口规范的 NER 服务。核心组件作用spaCy工业级自然语言处理库负责加载模型并批量抽取实体FastAPI高性能 Python Web 框架自动生成 OpenAPI 文档Docker一键打包部署镜像内自动下载 spaCy 模型二、一条命令生成你的 NER 项目 ⚡1. 安装 Cookiecutterpip install --user cookiecutter2. 获取模板仓库git clone https://gitcode.com/gh_mirrors/co/cookiecutter-spacy-fastapi3. 运行生成器cookiecutter ./cookiecutter-spacy-fastapi生成器会依据cookiecutter.json中的变量定义交互式地向你询问 4 个问题变量说明project_name项目名默认为 spaCy FastAPI Azure Cognitive Skillproject_slug由项目名自动生成的目录名下划线格式short_description项目简介自动生成spacy_model关键选项选择 spaCy 官方预训练模型如en_core_web_sm回答完毕一个完整的可运行项目就落在你的磁盘上了 三、生成的项目结构一览 {{project_slug}}/ ├── app/ │ ├── api.py # FastAPI 路由/entities 与 /entities_by_type │ ├── models.py # 请求/响应模型 实体类型映射表 │ ├── spacy_extractor.py # SpacyExtractor 批量实体抽取封装 │ ├── data/example_request.json # 示例请求报文 │ └── tests/test_api.py # 接口自动化测试 ├── main.py # 本地启动入口uvicorn0.0.0.0:8080 ├── Dockerfile # 容器镜像构建脚本 ├── requirements.txt # 依赖清单 └── README.md # 运行与部署说明几个关键文件值得花 30 秒了解app/api.py应用启动时一次性加载 spaCy 模型spacy.load并注册两个 POST 路由这是整个技能的门面。app/spacy_extractor.pySpacyExtractor类使用nlp.pipe()对文档批量做实体抽取比逐条处理高效得多还负责把实体按名称归并、记录起止位置。app/models.py定义了RecordsRequest/RecordsResponse等 Pydantic 模型——这正是 Azure Search 自定义认知技能的标准请求/响应格式其中的ENT_PROP_MAP把 spaCy 的 18 种实体标签PERSON、ORG、LOC、DATE、MONEY……映射为技能接口友好的属性名people、organizations、locations、dates、money……。四、本地运行3 步调试你的 NER API 进入生成的项目目录按顺序执行cd ./你的项目目录 bash ./create_virtualenv.sh uvicorn app.api:app --reload然后打开浏览器访问http://localhost:8000/docs即可看到 FastAPI 自动生成的 OpenAPI 交互文档界面直接在线调试接口上图/entities接口的在线调试页面。把示例报文填入 Request body点击 Execute 即可看到 spaCy 抽取出的命名实体。项目还内置了app/data/example_request.json示例请求测试时可一键填入另有tests/test_api.py供你回归验证接口行为。五、两个接口一个灵魂/entities_by_type 生成的 API 暴露了两个端点理解它们的分工是接入 Azure Search 的关键1️⃣POST /entities—— 通用实体列表输入一批带recordId和text的记录返回每条记录抽取到的全部实体名称、标签、文本位置。适合本地开发调试或自有业务系统直接调用。2️⃣POST /entities_by_type—— 技能接口灵魂所在✨返回结果按实体类型分组例如一段文本会被整理为{ values: [ { recordId: a1, data: { organizations: [Microsoft], products: [Echo, Dot], people: [Siri, Alexa] } } ] }这个结构完全对齐 Azure Search自定义认知技能接口规范因此可以原样部署后注册进 Azure Search 的 Skillset 中。接入流程可以概括为你的文档 → Azure Search 索引器 → 调用你部署的 /entities_by_type 端点 → spaCy 批量抽取实体 → 实体写回索引字段 → 用户可按人名/机构/地点/日期精准检索简言之部署 → 在 Azure 门户的索引器 Skillset 中登记你的 API 地址 → 索引时自动跑 NER三步完成集成。六、用 Docker 一键部署上线 生成的Dockerfile已做好全部准备基于tiangolo/uvicorn-gunicorn-fastapi生产级基础镜像构建时自动执行spacy download {你选的模型}把 NLP 模型打进镜像服务监听 8080 端口默认 2 个 Web 并发构建并运行docker build -t my-ner-skill . docker run -p 8080:8080 my-ner-skill镜像推到容器注册表后即可部署到 Azure Kubernetes ServiceAKS等托管环境。项目的README.md中也提供了配合 Azure Pipelines 搭建 CI/CD 的指引方便持续交付。七、新手常见问题 FAQ Q1spacy_model 可以随便填吗不行。cookiecutter.json中明确要求它必须是 spaCy 官方预训练模型如en_core_web_sm、en_core_web_md等。小模型sm起步足够追求精度再升md/lg。Q2模型加载会不会拖慢每次请求不会。app/api.py在应用启动时只执行一次spacy.load请求阶段用nlp.pipe()批量推理性能友好。Q3我不打算用 Azure Search这个 API 还有用吗当然有。它就是一个标准 FastAPI 服务/entities接口可直接服务于任何需要实体抽取的业务场景Azure Search 集成属于锦上添花。Q4接口测试怎么跑项目内置tests/test_api.py启动服务后执行测试即可验证两个端点的行为是否符合预期。八、小结 步骤耗时说明生成项目~1 分钟一条 cookiecutter 命令本地调试~5 分钟uvicorn 启动 OpenAPI UI 在线测试容器化部署~10 分钟Docker 构建 推送注册表接入 Azure Search视环境在 Skillset 中登记 API 端点cookiecutter-spacy-fastapi 把spaCy 模型 FastAPI 服务 Docker 部署 Azure Search 技能规范这四件事打包成了一条命令。对新手而言它是理解自定义认知技能接口规范的最佳范本对团队而言它是把自研 NLP 能力接入 Azure Search 认知搜索的快速通道。现在去生成你的第一个命名实体识别技能吧 【免费下载链接】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),仅供参考

相关新闻

webauthndemo生产化之路:WebAuthn Relying Party安全避坑清单与最佳实践

webauthndemo生产化之路:WebAuthn Relying Party安全避坑清单与最佳实践

webauthndemo生产化之路:WebAuthn Relying Party安全避坑清单与最佳实践 【免费下载链接】webauthndemo An example Node.js Relying Party implementation of the WebAuthn specification 项目地址: https://gitcode.com/gh_mirrors/we/webauthndemo webaut…

2026/8/25 9:40:24 阅读更多 →
styled-css-grid API速查:Grid与Cell全部属性完整参考清单

styled-css-grid API速查:Grid与Cell全部属性完整参考清单

styled-css-grid API速查:Grid与Cell全部属性完整参考清单 【免费下载链接】styled-css-grid 🍱 A tiny CSS grid layout for React 项目地址: https://gitcode.com/gh_mirrors/st/styled-css-grid styled-css-grid 是一个仅约 2kb 的 React CSS …

2026/8/25 9:40:24 阅读更多 →
feature-flags源码深潜:GatewayInspector管道决策流与网关级缓存机制逐行解析

feature-flags源码深潜:GatewayInspector管道决策流与网关级缓存机制逐行解析

feature-flags源码深潜:GatewayInspector管道决策流与网关级缓存机制逐行解析 【免费下载链接】feature-flags A Laravel package for handling feature flags 项目地址: https://gitcode.com/gh_mirrors/fe/feature-flags feature-flags 是一个 Laravel 特性…

2026/8/25 9:40:24 阅读更多 →

最新新闻

nginx - 开启 gzip 压缩

nginx - 开启 gzip 压缩

文章目录一、 服务器端开启 Gzip 压缩二、 客户端开启 Gzip 压缩(也需要配置 nginx)三、总结1️. vite-plugin-compression 的作用2️. Nginx Gzip 压缩与插件的区别3️. 实际项目选择建议四、常见问题1️. Nginx 配置作用域规则2. gzip_static on; 的作…

2026/8/25 10:20:42 阅读更多 →
量化交易策略回测实战:从事件驱动架构到OpenClaw应用避坑指南

量化交易策略回测实战:从事件驱动架构到OpenClaw应用避坑指南

1. 项目概述:从“龙虾炒股”到策略回测的实战路径最近在和一些做量化交易的朋友交流时,经常听到“openclaw龙虾炒股”这个工具。很多刚入门的朋友,包括我自己最初接触时,都有个共同的困惑:策略代码写出来了&#xff0c…

2026/8/25 10:20:42 阅读更多 →
Docker 核心概念和安装

Docker 核心概念和安装

文章目录Docker 容器Docker 镜像Docker 仓库Docker 技术原理Docker 安装1. Linux 系统2. Windows 安装3. Mac 安装直接在 Docker 官网下载安装包 安装就行。Docker 容器 Docker 简单来说就是通过容器化技术给应用程序封装一个独立的运行环境,每个运行环境就是一个容…

2026/8/25 10:20:42 阅读更多 →
量化交易入门:基于OpenClaw的策略回测实战指南

量化交易入门:基于OpenClaw的策略回测实战指南

1. 项目概述:从“感觉”到“数据”的量化交易之路在股票市场里,很多朋友都听过“回测”这个词,但真正动手去做的却不多。大家常常是凭感觉、听消息或者看几根K线就决定买卖,结果往往是“一顿操作猛如虎,一看收益原地杵…

2026/8/25 10:20:42 阅读更多 →
Python爬虫实战:Requests+BeautifulSoup高效抓取薄荷健康网食物热量数据

Python爬虫实战:Requests+BeautifulSoup高效抓取薄荷健康网食物热量数据

1. 项目缘起与目标:为什么选择薄荷健康网作为数据源最近在做一个关于饮食健康管理的个人项目,需要一份结构化的食物热量数据库。市面上的商业API要么收费不菲,要么数据不够全面。在对比了几个主流健康类网站后,我最终把目标锁定在…

2026/8/25 10:20:42 阅读更多 →
10-simpool-simbank卡集中管理

10-simpool-simbank卡集中管理

做mifi或者短信运营的时候一般都是simpool配合设备端的虚拟卡进行实现。 simpool的原理就是有一个集中管理卡的设备,将所有卡插在上面。 设备上电时初始化所有卡片信息,并上报给服务器,服务器做卡片管理与调度,当设备需要卡的时候…

2026/8/25 10:19:34 阅读更多 →

日新闻

洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表

洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表

【题目来源】 https://www.luogu.com.cn/problem/P7912 【题目描述】 小熊的水果店里摆放着一排 n 个水果。每个水果只可能是苹果或桔子,从左到右依次用正整数 1,2,…,n 编号。连续排在一起的同一种水果称为一个“块”。小熊要把这一排水果挑到若干个果篮里&#x…

2026/8/25 0:00:34 阅读更多 →
Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG

Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG

Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG 【免费下载链接】transformers.js State-of-the-art Machine Learning for the web. Run 🤗 Transformers directly in your browser, with no need for a server! 项目地址: https:/…

2026/8/25 0:00:34 阅读更多 →
数学建模竞赛论文写作指南:从模型构建到学术表达的核心技能

数学建模竞赛论文写作指南:从模型构建到学术表达的核心技能

1. 项目概述:从“会做”到“会写”的竞赛核心跃迁“全国大学生数学建模竞赛”,这个名字对理工科学生来说,分量极重。每年,无数团队在三天三夜的时间里,为一个开放性问题绞尽脑汁,从建立模型、求解算法到编程…

2026/8/25 0:00:34 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/25 3:38:12 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/25 3:38:18 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/25 3:38:23 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/24 20:22:44 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/23 12:10:44 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/24 11:20:22 阅读更多 →