使用说明
电气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服务器。一旦支持,将更新文档。