
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本项目实现了一个基于https://gate.ac.uk/%E7%9A%84%E6%96%87%E6%9C%AC%E5%A4%84%E7%90%86%E5%BA%94%E7%94%A8%E8%BF%90%E8%A1%8C%E5%99%A8%EF%BC%8C%E9%80%9A%E8%BF%87REST API进行通信。核心功能是向NLP服务发送文本并接收注释结果,它使用https://gate.ac.uk/family/embedded.html%E8%BF%90%E8%A1%8C%E4%BB%BB%E4%BD%95GATE%E5%BA%94%E7%94%A8%EF%BC%8C%E5%B9%B6%E9%80%9A%E8%BF%87https://spring.io/projects/spring-boot%E5%AE%9E%E7%8E%B0Web%E6%9C%8D%E5%8A%A1%E3%80%82
目前定义了3个JSON格式的端点:
/api/info:显示所用GATE应用的基本信息(来自配置文件)/api/process:处理单个文档并返回注释/api/process_bulk:处理文档列表并返回注释api-specs目录。在主目录执行以下命令构建应用:
bash./gradlew build
构建产物将放在app/build/libs目录。构建过程会运行测试,失败可能表示缺少第三方依赖。若要跳过测试仅构建:
bash./gradlew bootJar
运行测试:
bash./gradlew test
应用可作为独立Java程序或Docker容器运行。示例配置在app/src/resources/application.yaml,包含运行所需参数。推荐使用Docker镜像以满足依赖要求。
假设构建成功,运行命令:
bashjava [--Dspring.config.location=<服务配置目录>] -jar app/build/libs/app-*.jar
<服务配置目录>为包含自定义application.properties的目录,默认监听8095端口。
最新稳定镜像在Docker Hub:cogstacksystems/nlp-rest-service-gate:latest,开发版为dev-latest。也可通过本地Dockerfile构建。运行容器:
bashdocker run -p 8095:8095 \ -v <服务配置目录>:/app/nlp-service/config \ -v <GATE应用目录>:/gate/app/ \ cogstacksystems/nlp-rest-service-gate:latest
<服务配置目录>是自定义application.properties所在路径,<GATE应用目录>是GATE应用的路径,服务监听主机8095端口。
假设服务运行在localhost:8095,执行:
bashcurl -XPOST http://localhost:8095/api/process \ -H 'Content-Type: application/json' \ -d '{"content":{"text":"The patient was prescribed with Aspirin."}}'
返回结果示例:
json{ "result": { "text": "The patient was prescribed with Aspirin.", "annotations": [ { "end_idx":39,"majorType":"Drug","set":"","name":"ASPIRIN","start_idx":32,"language":"","id":12,"minorType":"ActiveComponent","text":"Aspirin","type":"Drug" }, { "end_idx":39,"majorType":"Drug","set":"","name":"ASPIRIN","start_idx":32,"language":"","id":13,"minorType":"Medication","text":"Aspirin","type":"Drug" } ], "metadata":{"document_features":{"gate.SourceURL":"created from String"}}, "success":true,"timestamp":"2019-12-04T09:51:32.246Z" } }
返回注释取决于所用GATE应用。示例使用基于GATE ANNIE Gazetteer的基础药物注释应用,数据来自https://www.accessdata.fda.gov/scripts/cder/daf/%E3%80%82%E4%BD%BF%E7%94%A8SNOMED CT或https://www.nlm.nih.gov/research/umls/index.html%E7%9A%84%E5%BA%94%E7%94%A8%E9%9C%80%E8%8E%B7%E5%8F%96%E7%89%88%E6%9D%83%E6%8C%81%E6%9C%89%E8%80%85%E8%AE%B8%E5%8F%AF%EF%BC%8C%E5%A6%82https://github.com/GateNLP/Bio-YODIE%E3%80%82
应用需要配置文件指定GATE应用及参数。
server.port:服务监听端口(默认8095)endpoint.single-doc.fail-on-empty-content:单文档处理时为空是否失败(默认false)application.name:应用名称application.version:版本application.language:语言application.params:应用特定参数GATE应用参数:
gateAppPath:GATE应用路径(必填)gateControllerNum:并行控制器数量(默认1)gateAnnotationSets:注释集(可选,默认*)gateIncludeAnnotationText:是否包含注释文本(可选,默认false)示例配置在app/src/main/resources/application.properties。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务