实体提取与分类服务

GLiNER2 MCP服务器提供实体提取、文本分类和JSON提取功能,适用于自然语言处理任务。

  • by mrorigo
  • Python
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 mrorigo/gliner2-mcp

使用说明

闪光2 mcp

MCP服务器,将GLiNER2实体提取、分类和JSON提取作为工具公开。

快速入门

  1. 安装依赖项:
uv sync
  1. 运行MCP服务器:
uv run gliner2-mcp

环境配置

此服务器是通过环境变量配置的(可选地从以下位置加载 .env).

变量 默认值 描述
GLINER2_MODEL_ID fastino/gliner2-base-v1 GLiNER2模型id或路径。
GLINER2_DEVICE empty 传递给的设备覆盖 from_pretrained 当支持。
GLINER2_MAX_TEXT_LENGTH 0 最大输入长度。 0 禁用限制。
GLINER2_MCP_LOG_LEVEL INFO 服务器日志记录的日志级别。
GLINER2_MCP_ENV_FILE empty 读取上述变量之前要加载的env文件的路径。

如果 GLINER2_MCP_ENV_FILE 未设置,服务器将加载 .env 当它存在时,从工作目录中删除。

MCP工具

  • extract_entities(labels, text=None, filename=None) 返回标签到实体跨度的映射。
  • classify_text(schema, text=None, filename=None) 返回字段名到所选标签或标签列表的映射。
  • extract_json(schema, text=None, filename=None) 返回与提供的模式匹配的JSON对象。

对于所有工具,请提供以下工具之一 text 或 filename:

  • text:内联输入文本。
  • filename:相对于当前工作目录的UTF-8文本文件路径。拒绝绝对路径和在当前工作目录之外解析的路径。

出于兼容性考虑,旧camelCase别名仍然可用: extractEntities, classifyText, extractJson.

可用模型

拥抱脸上的GLiNER2家族模型

发展

uv sync --dev
uv run ruff check .

测试

运行默认测试套件(单元+合同测试):

uv sync --extra dev
uv run --extra dev pytest -q

运行真实模型集成测试(下载/加载实际GLiNER2权重):

GLINER2_MCP_RUN_INTEGRATION=1 uv run --extra dev pytest -q -m integration

建议的预发布检查:

uv run --extra dev pytest -q
GLINER2_MCP_RUN_INTEGRATION=1 uv run --extra dev pytest -q -m integration

许可证

MIT。看 LICENSE.