|
Download docs/api/ner-api.md from RobinWu/nerserver: direct link, hf CLI and curl.
- Browser
- Download file 2.52 kB
-
https://huggingface.co/spaces/RobinWu/nerserver/resolve/main/docs/api/ner-api.md
- Command line
-
hf download hf://spaces/RobinWu/nerserver/docs/api/ner-api.md
-
curl -L -o ner-api.md https://huggingface.co/spaces/RobinWu/nerserver/resolve/main/docs/api/ner-api.md
2.52 kB
| # NER API 接口文档 | |
| Base URL: `http://localhost:4000` | |
| --- | |
| ## GET /health | |
| 健康检查。 | |
| **响应** | |
| ```json | |
| {"status": "ok"} | |
| ``` | |
| --- | |
| ## POST /extract | |
| 从文本中抽取命名实体。 | |
| **请求体** | |
| | 字段 | 类型 | 必填 | 默认值 | 说明 | | |
| |-------------|----------------|------|--------|------------------------------| | |
| | `text` | string | 是 | — | 待抽取的文本 | | |
| | `labels` | array[string] | 是 | — | 期望识别的实体类型列表 | | |
| | `threshold` | float [0, 1] | 否 | `0.5` | 置信度阈值,低于此值的结果过滤掉 | | |
| **请求示例** | |
| ```json | |
| { | |
| "text": "Elon Musk founded SpaceX in Hawthorne, California.", | |
| "labels": ["person", "organization", "location"], | |
| "threshold": 0.5 | |
| } | |
| ``` | |
| **响应体** | |
| | 字段 | 类型 | 说明 | | |
| |--------------------|---------------|------------------------------| | |
| | `entities` | array[Entity] | 抽取到的实体列表 | | |
| | `entities[].text` | string | 实体原文 | | |
| | `entities[].label` | string | 实体类型(与请求 labels 对应)| | |
| | `entities[].score` | float | 置信度分数,范围 [0, 1] | | |
| | `entities[].start` | int | 实体在原文中的起始字符偏移 | | |
| | `entities[].end` | int | 实体在原文中的结束字符偏移 | | |
| **响应示例** | |
| ```json | |
| { | |
| "entities": [ | |
| {"text": "Elon Musk", "label": "person", "score": 0.98, "start": 0, "end": 9 }, | |
| {"text": "SpaceX", "label": "organization", "score": 0.97, "start": 18, "end": 24}, | |
| {"text": "Hawthorne", "label": "location", "score": 0.91, "start": 28, "end": 37}, | |
| {"text": "California", "label": "location", "score": 0.95, "start": 39, "end": 49} | |
| ] | |
| } | |
| ``` | |
| **错误码** | |
| | HTTP 状态码 | 说明 | | |
| |-------------|-------------------------------------------| | |
| | `200` | 成功,`entities` 为空列表表示未抽取到结果 | | |
| | `422` | 请求参数校验失败(如 threshold 超出范围) | | |
| --- | |
| ## 说明 | |
| - 模型支持 **zero-shot** 识别,`labels` 可传入任意自定义类型,无需预定义。 | |
| - 服务启动时加载一次模型,所有请求复用同一实例。 | |
| - 在线文档(服务运行时可访问): | |
| - Swagger UI:`http://localhost:4000/docs` | |
| - ReDoc:`http://localhost:4000/redoc` | |