
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本镜像用于构建LinTO平台的命名实体识别(NER)NLP服务,基于https://github.com/linto-ai/linto-platform-nlp-core%E5%BC%80%E5%8F%91%EF%BC%8C%E5%8F%AF%E4%B8%8Ehttps://github.com/linto-ai/linto-platform-stack%E4%B8%80%E8%B5%B7%E9%83%A8%E7%BD%B2%EF%BC%8C%E4%B9%9F%E5%8F%AF%E7%8B%AC%E7%AB%8B%E9%83%A8%E7%BD%B2%EF%BC%88%E8%AF%A6%E8%A7%81%E5%BC%80%E5%8F%91%E9%83%A8%E5%88%86%EF%BC%89%E3%80%82
LinTO的NLP服务采用spaCy的核心设计理念:组件与管道。组件(位于components/目录下)与服务解耦,可轻松复用至其他spaCy项目,组件通过组织成管道实现特定NLP任务。本服务支持REST API和Celery任务两种启动方式,并提供GPU/CPU支持。
下载模型:将模型下载到主机的./assets目录(也可指定其他位置)
bashcd linto-platform-nlp-named-entity-recognition/ bash scripts/download_models.sh
配置环境变量:复制默认环境变量文件并修改
bashcp .envdefault .env
| 环境变量 | 描述 | 默认值 |
|---|---|---|
APP_LANG | 应用支持的语言列表(空格分隔) | fr en |
ASSETS_PATH_ON_HOST | 主机上资产文件夹路径 | ./assets |
ASSETS_PATH_IN_CONTAINER | 容器内模型卷挂载点 | /app/assets |
LM_MAP | 语言到对应模型的JSON映射字符串 | {"fr":"spacy/xx_ent_wiki_sm-3.2.0/xx_ent_wiki_sm/xx_ent_wiki_sm-3.2.0","en":"spacy/xx_ent_wiki_sm-3.2.0/xx_ent_wiki_sm/xx_ent_wiki_sm-3.2.0"} |
SERVICE_MODE | 服务模式,可选"http"(REST API)或"task"(Celery任务) | "http" |
CONCURRENCY | 最大并发请求数 | 1 |
USE_GPU | 是否使用GPU,可选"True"或"False" | True |
SERVICE_NAME | 微服务名称 | ner |
SERVICES_BROKER | 微服务间通信的消息代理URL | "redis://localhost:6379" |
BROKER_PASS | 消息代理访问密码 | None |
bashsudo docker build --tag lintoai/linto-platform-nlp-named-entity-recognition:latest .
或使用docker-compose构建:
bashsudo docker-compose build
GPU支持模式
确保已安装https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#installing-on-ubuntu-and-debian%E5%92%8CGPU%E9%A9%B1%E5%8A%A8%EF%BC%9A
bashsudo docker run --gpus all \ --rm -p 80:80 \ -v $PWD/assets:/app/assets:ro \ --env-file .env \ lintoai/linto-platform-nlp-named-entity-recognition:latest
CPU模式
--gpus all参数.env文件中设置USE_GPU=False或使用docker-compose运行:
bashsudo docker-compose up
docker-compose.yml中移除runtime: nvidia配置.env文件中设置USE_GPU=False当SERVICE_MODE=http时,访问http://localhost/docs可查看交互式API文档。
API端点:http://localhost/ner/{lang}
支持的语言
| {lang} | 模型 | NER标签 | 大小 |
|---|---|---|---|
en | https://github.com/explosion/spacy-models/releases/tag/xx_ent_wiki_sm-3.2.0 | LOC, MISC, ORG, PER | 11 MB |
fr | https://github.com/explosion/spacy-models/releases/tag/xx_ent_wiki_sm-3.2.0 | LOC, MISC, ORG, PER | 11 MB |
请求示例
json{ "articles": [ { "text": "Apple Inc. is an American multinational technology company that specializes in consumer electronics, computer software and online services." }, { "text": "Apple was founded in 1976 by Steve Jobs, Steve Wozniak and Ronald Wayne to develop and sell Wozniak's Apple I personal computer." } ] }
响应示例
json{ "ner": [ { "text": "Apple Inc. is an American multinational technology company that specializes in consumer electronics, computer software and online services.", "ents": [ { "text": "Apple Inc", "label": "ORG", "start": 0, "end": 9 }, { "text": "American", "label": "MISC", "start": 17, "end": 25 } ] }, { "text": "Apple was founded in 1976 by Steve Jobs, Steve Wozniak and Ronald Wayne to develop and sell Wozniak's Apple I personal computer.", "ents": [ { "text": "Apple", "label": "ORG", "start": 0, "end": 5 }, { "text": "Steve Jobs", "label": "PER", "start": 29, "end": 39 }, { "text": "Steve Wozniak", "label": "PER", "start": 41, "end": 54 }, { "text": "Ronald Wayne", "label": "PER", "start": 59, "end": 71 }, { "text": "Wozniak", "label": "PER", "start": 92, "end": 99 }, { "text": "Apple I", "label": "MISC", "start": 102, "end": 109 } ] } ] }
启动Redis:在本地安装并运行Redis
bashredis-server --protected-mode no --bind 0.0.0.0 --loglevel debug
配置环境变量:确保.env中设置
SERVICE_MODE=task SERVICES_BROKER=redis://172.17.0.1:6379
启动容器:使用前述docker run或docker-compose up命令启动服务
测试任务:运行以下Python脚本
pythonfrom docker.xuanyuan.run/celery import Celery celery = Celery(broker='redis://localhost:6379/0', backend='redis://localhost:6379/1') r = celery.send_task( 'ner_task', ( 'en', [ "Apple Inc. is an American multinational technology company that specializes in consumer electronics, computer software and online services.", "Apple was founded in 1976 by Steve Jobs, Steve Wozniak and Ronald Wayne to develop and sell Wozniak's Apple I personal computer." ], {"ner": {"top_n": 3}} ), queue='ner') r.get()
推荐通过https://github.com/linto-ai/linto-platform-stack%E8%BF%9B%E8%A1%8C%E9%83%A8%E7%BD%B2%EF%BC%8C%E4%BB%A5%E8%8E%B7%E5%BE%97%E5%AE%8C%E6%95%B4%E7%9A%84%E5%B9%B3%E5%8F%B0%E5%8A%9F%E8%83%BD%E6%94%AF%E6%8C%81%E3%80%82%E7%8B%AC%E7%AB%8B%E9%83%A8%E7%BD%B2%E6%97%B6%E9%9C%80%E7%A1%AE%E4%BF%9D%E6%B6%88%E6%81%AF%E4%BB%A3%E7%90%86%EF%BC%88%E5%A6%82Redis%EF%BC%89%E5%92%8C%E6%A8%A1%E5%9E%8B%E6%96%87%E4%BB%B6%E6%AD%A3%E7%A1%AE%E9%85%8D%E7%BD%AE%E3%80%82
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务