
FaceTron MCP Server

2025.05.11
0
Python人脸识别嵌入服务器其它
FaceTron 是一个高性能、模块化的人脸识别嵌入服务器,支持 ONNX Runtime,具有动态多模型加载功能,可在本地机器到可扩展的云环境中运行。它提供了 OpenAPI 规范(OAS)端点,兼容 MCP 元数据,并集成了 OpenTelemetry。
View on GitHub
Overview
基本能力
产品定位
FaceTron 是一个专注于人脸识别和嵌入的高性能服务器,适用于需要离线或在线人脸识别功能的场景。
核心功能
- 人脸嵌入推理:接受人脸图像,检测人脸并返回标准化的向量嵌入。
- 动态多模型支持:通过
/models
接口加载多个 ONNX 模型(如 ArcFace、SCRFD、Glint360K)。 - 人脸检测与可视化:返回带有边界框和对齐人脸裁剪的图像。
- OpenAPI 3.1 和 Swagger UI:内置交互式 API 文档,便于集成。
- OpenTelemetry 追踪:集成 OpenTelemetry 支持,兼容 Jaeger。
- 模块化设计:支持未来扩展,如 TensorFlow 和 PyTorch 运行时。
- MCP 元数据支持:在 OpenAPI 规范中暴露模型信息,兼容模型连接器协议(MCP)。
适用场景
- 本地或云端的人脸识别服务。
- 需要多模型动态加载的人脸识别应用。
- 需要可视化人脸检测结果的应用。
- 需要集成 OpenTelemetry 追踪的应用。
使用教程
使用依赖
- 克隆仓库并进入目录:
git clone https://github.com/13shivam/facetron.git
cd facetron
- 将 ONNX 模型添加到
/models
目录。
安装教程
- 创建
.env
文件:
MODEL_DIR=models
LOG_LEVEL=info
OTEL_EXPORTER_OTLP_ENDPOINT=http://host.docker.internal:4317
DISABLE_OTEL=false
- 使用 Docker 启动服务器:
docker-compose up -d
或使用 pip 安装依赖并启动服务器:
pip install -r requirements.txt
python main.py
调试方式
-
访问 Swagger UI: http://127.0.0.1:8000/docs#/
-
访问 Jaeger UI 查看追踪: http://localhost:16686/search
-
运行测试脚本:
python local_tester_client.py
- 使用 curl 测试推理 API:
curl --location 'http://localhost:8000/infer' --header 'Content-Type: application/json' --form 'model_name="buffalo"' --form 'image_format="jpg"' --form 'file=@"/path/to/your/image.jpg"'