电气NER API和MCP服务
该项目为电气工程领域专门定制的命名实体识别(NER)提供服务。它既可以作为标准的RESTful API访问,也可以作为模型上下文协议(MCP)服务访问,从而可以轻松地集成到各种工作流中。
特性
- 双接口:可通过标准RESTful API和作为模型上下文协议(MCP)服务访问。
- 高性能:使用FastAPI和Uvicorn构建,用于快速、异步的请求处理。
- 专业NER模型:采用专为电气工程领域量身定制的微调NER模型。
- 无缝MCP集成:将核心NER功能作为MCP服务公开,以便与代理AI系统一起使用。
API文档
API提供了以下端点:
GET /
根终结点,用于验证服务是否正在运行。
- 成功响应(200):
{
"status": "running",
"timestamp": "2023-10-27T10:00:00.000Z",
"service": "Electrical NER API",
"version": "1.0.0"
}GET /health
基本健康检查终点。
- 成功响应(200):
{
"status": "healthy",
"timestamp": "2023-10-27T10:00:00.000Z",
"service": "Electrical NER API",
"version": "1.0.0"
}GET /all_entities
检索模型可以识别的所有可能实体组的列表。
- 成功响应(200):
[
"COMPONENT",
"DESIGN_PARAM",
"MATERIAL",
"EQUIPMENT",
"TECHNOLOGY",
"SOFTWARE",
"STANDARD",
"VENDOR",
"PRODUCT"
]POST /predict
从提供的输入文本中提取实体。
- 请求正文:
{
"text": "The LM358 operational amplifier from Texas Instruments needs a dual power supply."
}- 成功响应(200):
{
"success": true,
"message": "Entities detected successfully",
"entities": [
{
"entity_group": "PRODUCT",
"word": "LM358"
},
{
"entity_group": "COMPONENT",
"word": "operational amplifier"
},
{
"entity_group": "VENDOR",
"word": "Texas Instruments"
},
{
"entity_group": "DESIGN_PARAM",
"word": "dual power supply"
}
]
}- 错误响应(500):
{
"detail": "Error message explaining the failure."
}MCP(模型上下文协议)集成
该服务使用 fastapi-mcp 将其核心功能作为MCP操作公开。这允许AI代理或其他MCP兼容系统直接调用NER函数作为工具。
暴露的操作
extract_entities:对应于POST /predict终点。接受文本输入并返回提取的实体。get_all_entities:对应于GET /all_entities终点。返回所有可能的实体类型的列表。
设置和安装
- 克隆存储库:
git clone https://github.com/di37/nlp-fastapi-mcp-server.git
cd nlp-fastapi-mcp-server- 创建并激活虚拟环境:
python -m venv .venv
source .venv/bin/activate # On Windows, use `.venv\Scripts\activate`- 安装依赖项:
pip install -r requirements.txt运行应用程序
若要启动API服务器,请运行以下命令:
python api_mcp.py服务器将在以下时间可用 http://0.0.0.0:5152.
MCP配置
要从MCP客户端(如另一个AI代理)连接到此服务,请使用以下配置:
对于风帆:
{
"mcpServers": {
"electrical-ner-mcp":{
"serverUrl": "http://localhost:5152/mcp"
}
}
}对于光标:
{
"mcpServers": {
"electrical-ner-mcp":{
"url": "http://localhost:5152/mcp",
"transport": "streamable-http"
}
}
}Claude Desktop仍然不支持url MCP服务器。一旦支持,将更新文档。
