🧠 MCP-HF:使用拥抱面部的多功能处理器
📘 概述

MCP-HF (使用Hugging Face的多功能处理器)是一个全栈演示项目,灵感来自 新闻Gabriel/mcp-langchain.\ 它演示了如何构建一个能够通过多个NLP任务分析文本的小型模块化系统——所有这些任务都由一个简单的路由器层编排。
后端(Flask+Hugging Face)根据输入文本或用户选择的模式自动决定运行哪些任务——摘要、情感分析或关键字提取。\ 前端(React+Vite)提供了一个干净的UI来输入文本和查看结果。
______________________________________________________________________
⚙️ 特性
- 🧩 路由器层:根据文本长度或显式模式自动路由请求。
- ✂️ 摘要:用途
facebook/bart-large-cnn以生成简洁的摘要。 - 💬 情感分析:用途
distilbert-base-uncased-finetuned-sst-2-english用于极性检测。 - 🪄 关键字提取:用途
KeyBERT随着sentence-transformers/all-MiniLM-L6-v2关键术语。 - ⚡ 模块化和可扩展:轻松插入其他Hugging Face模型或任务。
- 🧪 后端测试:包括带有模拟ML模型的pytest测试,用于快速本地测试。
______________________________________________________________________
🧱 项目结构
mcp-hf-project/
│
├── backend/ # Flask API
│ ├── app.py # Main API logic
│ ├── requirements.txt # Dependencies
│ ├── tests/ # Unit tests with pytest
│ └── README.md
│
├── frontend/ # React + Vite app
│ ├── src/
│ │ ├── App.jsx # Main component
│ │ └── main.jsx # Entry point
│ ├── package.json
│ └── README.md
│
└── README.md # (this file)______________________________________________________________________
🚀 入门指南
🧩 1.后端设置
cd backend
python -m venv .venv
.venv\Scripts\activate.ps1
pip install -r requirements.txt
python app.pyAPI将运行于: http://localhost:7860/api/analyze
🧠 API请求示例
POST/api/分析
{
"text": "Artificial intelligence is transforming industries around the world.",
"mode": "keywords"
}响应示例
{
"decision": "keywords",
"keywords": ["artificial intelligence", "industries", "transforming"]
}______________________________________________________________________
💻 2.前端设置
cd frontend
npm install
npm run dev然后打开Vite-dev服务器(通常 http://localhost:5173).
粘贴一些文本,选择模式(auto, summary, sentiment, keywords, all),然后单击 分析.
______________________________________________________________________
🧪 3.运行测试
所有后端测试都位于 backend/tests.
他们模拟重型机器学习模型进行快速测试:
cd backend
pytest -v预期产量:
test_api.py::test_analyze_keywords PASSED
test_api.py::test_analyze_summary PASSED______________________________________________________________________
⚡ 定制
您可以在运行后端之前通过设置环境变量切换到其他Hugging Face模型:
export SUMMARIZER_MODEL="google/pegasus-xsum"
export SENTIMENT_MODEL="nlptown/bert-base-multilingual-uncased-sentiment"
export EMBEDDING_MODEL="sentence-transformers/all-mpnet-base-v2"然后重新启动Flask服务器。
______________________________________________________________________
🧰 技术栈
后端:
- 烧瓶+烧瓶CORS
- 拥抱脸变换器
- KeyBERT+句子转换器
- Pytest
前端:
- React+Vite
- 用于API调用的Axios
______________________________________________________________________
🧩 架构摘要
后端模仿轻量级的“MCP路由器”:
- 路由器 检查文本(或显式模式)。
- 通往一个或多个处理“能力”的路径
- 摘要器, 情绪分析器,以及 关键字提取器 产生结果。
- 组合响应被发送到前端。
这种模块化使得添加新功能变得容易,例如翻译、实体识别或主题分类。
______________________________________________________________________
