Token导航 LogoToken导航

MCP Server · 运维云端

Customer Sentiment Analysis

一款基于LangChain和Hugging Face LLMs的智能Python应用,可自动分类客户评论(旅行、住宿、餐饮)并分析情感倾向(正面、负面、中性)。

stdio官方级别未说明来源级核验工具 0
情感分析Python自然语言处理

快速开始

作者 / 组织
abhisekmisra-cap
提供方
abhisekmisra-cap

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Customer Sentiment Analysis 属于运维云端类 MCP Server,公开资料标注 0 个工具,通过stdio 本地进程接入,客户端适配情况以官方文档为准,有可以直接复制的安装命令;接入前先确认权限范围。

分类

运维云端

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

pip install -r requirements.txt

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 对应的运行时,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

客户评论分析器🤖

一个智能Python应用程序,使用 LangChain, 拥抱脸LLMs,以及 模型上下文协议(MCP) 自动将客户评论分为类别(旅行、住宿、食物)并分析他们的情绪(积极、消极、中立)。

特性✨

核心功能

  • 类别分类:自动将客户评论分类为:

- ✈️ 旅行(航班、航空公司、交通) - 🏨 住宿(酒店、住宿、住宿) - 🍽️ 食物(餐厅、餐饮、餐点)

  • 情感分析:确定注释是否为:

- 😊 积极的 - 😞 负面的 - 😐 中性

  • 批处理:通过进度跟踪一次分析多条评论
  • 统计仪表板:显示类别和情绪分布的交互式图表
  • 导出功能:将分析结果下载为CSV文件
  • 分析历史:使用时间戳跟踪所有以前的分析

技术特性

  • 模型上下文协议(MCP):用于生产部署的服务器客户端架构
  • 外部提示模板:易于定制的提示存储在单独的文件中
  • 网络界面:与MCP集成的Streamlit应用程序
  • 由AI驱动:通过Hugging Face使用Meta Llama 3.2模型
  • 同步MCP客户端:可靠的基于子流程的沟通

建筑🏗️

应用程序使用 模型上下文协议(MCP) 架构:

┌─────────────────┐         MCP Protocol        ┌──────────────────┐
│                 │◄────────────────────────────►│                  │
│  Streamlit App  │    JSON-RPC over stdio       │   MCP Server     │
│    (app.py)     │                              │  (mcp_server.py) │
└─────────────────┘                              └──────────────────┘
        │                                                 │
        │                                                 ▼
        │                                         ┌──────────────────┐
        │                                         │  LangChain +     │
        └─────────────────────────────────────────│  Hugging Face    │
                  via mcp_client.py               │  Analysis Logic  │
                                                  └──────────────────┘

看 ARCHITECTURE.md 获取详细的架构文档。

先决条件📋

  • Python 3.8或更高版本
  • 拥抱脸账户和API代币(在这里买一个)
  • API调用的Internet连接

安装🚀

  1. 克隆或导航到项目目录:
   cd "c:\Abhishek\Purdue-Python\Customer Sentiment Analysis"
  1. 安装所需的软件包:
   pip install -r requirements.txt

这将安装所有依赖项,包括:

- LangChain与拥抱脸的融合 - Streamlit用于web界面 - 服务架构的模型上下文协议(MCP) - 所有必需的AI/ML库

  1. 设置你的拥抱脸API代币:

从以下位置获取您的令牌:https://huggingface.co/settings/tokens

选项A:设置为环境变量(推荐):

   $env:HUGGINGFACEHUB_API_TOKEN='your_token_here'

选项B:出现提示时,在web界面中输入令牌

用法💻

Web应用程序(推荐)🌐

启动启用MCP的Streamlit web界面:

streamlit run app.py

应用程序将自动:

  • 在后台启动MCP服务器
  • 将客户端连接到服务器
  • 初始化AI模型

web界面提供:

  • 令牌输入:输入您的拥抱脸令牌进行连接
  • 单项评论分析:一次分析一条评论
  • 批次分析:同时处理多条评论
  • 加载样本数据:每个类别的预加载示例
  • 视觉统计:结果图表
  • 导出结果:以CSV格式下载分析
  • 分析历史:跟踪您之前的所有分析

命令行用法

运行独立分析器:

C:/Python313/python.exe customer_comment_analyzer.py

测试MCP服务器:

C:/Python313/python.exe mcp/mcp_server.py

测试MCP客户端:

C:/Python313/python.exe mcp/mcp_client.py

查看示例注释:

C:/Python313/python.exe sample_comments.py

程序化使用

直接使用分析仪:

from customer_comment_analyzer import CustomerCommentAnalyzer

# Initialize the analyzer
analyzer = CustomerCommentAnalyzer(hf_token="your_token_here")

# Analyze a single comment
result = analyzer.analyze_comment("The flight was delayed but staff was helpful")
print(result)
# Output: {'comment': '...', 'category': 'AIRLINE', 'sentiment': 'NEUTRAL'}

# Analyze multiple comments
comments = [
    "Hotel room was amazing!",
    "Food was terrible",
    "Flight delayed again"
]
results = analyzer.analyze_batch(comments)
analyzer.print_results(results)

使用MCP客户端:

# Add mcp directory to path if needed
import sys
from pathlib import Path
sys.path.insert(0, str(Path.cwd() / "mcp"))

from mcp.mcp_client import SyncCommentAnalyzerClient

# Using context manager (recommended)
with SyncCommentAnalyzerClient() as client:
    result = client.analyze_comment("Great service!")
    print(result)
    
    # Batch analysis
    results = client.analyze_batch(["Comment 1", "Comment 2"])
    
    # Get statistics
    stats = client.get_statistics(results)
    print(stats)

使用示例注释:

from sample_comments import get_comments_by_category

# Get specific category comments
airline_comments = get_comments_by_category('airline')
hotel_comments = get_comments_by_category('hotel')
food_comments = get_comments_by_category('food')
mixed_comments = get_comments_by_category('mixed')
all_comments = get_comments_by_category('all')

项目结构📁

Langchain/
│
├── mcp/                            # Model Context Protocol implementation
│   ├── mcp_server.py               # MCP server exposing AI tools
│   ├── mcp_client.py               # MCP client library
│   ├── app_mcp.py                  # Streamlit app using MCP
│   └── README.md                   # MCP architecture documentation
│
├── prompts/                        # Prompt template files
│   ├── classification_prompt.txt   # Category classification template
│   ├── sentiment_prompt.txt        # Sentiment analysis template
│   └── README.md                   # Prompt customization guide
│
├── app.py                          # Streamlit web app (direct integration)
├── customer_comment_analyzer.py    # Core AI analysis logic
├── sample_comments.py              # Sample customer comments
├── example_usage.py                # Usage examples
├── requirements.txt                # Python dependencies
└── README.md                       # This file

运作原理🔧

  1. LangChain集成:使用LangChain的 HuggingFaceEndpoint 连接到Hugging Face模型
  2. 外部提示模板:提示存储在单独的文本文件中,便于自定义
  3. 模型上下文协议:用于基于服务的部署的可选MCP架构
  4. 链状结构:用于分类和情感分析的单独链
  5. 模型:使用Mistral-7B-Instruct-v0.2,一个强大的指令跟踪模型

架构选项

直接积分法 (app.py):

  • 简单、单流程设计
  • 直接调用分析器的函数
  • 有利于开发和原型制作

MCP架构 (mcp/app_mcp.py + mcp/mcp_server.py):

  • 客户端-服务器体系结构
  • 标准化协议通信
  • 更适合生产部署
  • UI和AI的独立扩展
  • 多客户端支持
  • 看 mcp/README.md 有关完整详细信息

提示模板

所有提示模板都外部化到 prompts/ 目录,无需更改代码即可轻松修改:

可用模板:

  • classification_prompt.txt -类别分类说明
  • sentiment_prompt.txt -情绪分析说明
  • README.md -带示例的完整定制指南

优点:

  • 编辑提示而不触摸代码
  • 用于快速更改的版本控制
  • 轻松进行不同提示的A/B测试
  • 无需重新部署即可快速更新

模板结构示例:

Classify the following customer comment into ONE of these categories: 
AIRLINE, HOTEL, or FOOD.
Only respond with one of these three words in uppercase.

Customer comment: {comment}

Category:

看 prompts/README.md 详细的定制示例包括:

  • 添加新类别
  • 实施少镜头学习
  • 更改情绪粒度
  • 自定义输出格式

输出示例📊

命令行输出:

================================================================================
CUSTOMER COMMENT ANALYSIS RESULTS
================================================================================

--- Comment 1 ---
Text: The flight was delayed by 3 hours and the staff was very rude.
Category: AIRLINE
Sentiment: NEGATIVE

--- Comment 2 ---
Text: Hotel room was clean and spacious. The breakfast buffet was amazing!
Category: HOTEL
Sentiment: POSITIVE

--- Comment 3 ---
Text: The pasta was undercooked and the service was slow.
Category: FOOD
Sentiment: NEGATIVE

================================================================================

SUMMARY STATISTICS
--------------------------------------------------------------------------------

Category Distribution:
  AIRLINE: 3 (33.3%)
  FOOD: 3 (33.3%)
  HOTEL: 3 (33.3%)

Sentiment Distribution:
  NEGATIVE: 4 (44.4%)
  NEUTRAL: 2 (22.2%)
  POSITIVE: 3 (33.3%)
================================================================================

定制🎨

自定义提示模板

在中编辑模板文件 prompts/ 要修改行为的目录:

示例:添加更多类别 (prompts/classification_prompt.txt):

Classify the following customer comment into ONE of these categories: 
AIRLINE, HOTEL, FOOD, CAR_RENTAL, or TOUR_PACKAGE.

Customer comment: {comment}

Category:

示例:添加情感粒度 (prompts/sentiment_prompt.txt):

Analyze the sentiment of the following customer comment.
Classify it as: VERY_POSITIVE, POSITIVE, NEUTRAL, NEGATIVE, or VERY_NEGATIVE.

Customer comment: {comment}

Sentiment:

看 prompts/README.md 了解更多定制示例和最佳实践。

使用不同的模型

您可以通过修改以下内容来更改“拥抱脸”模型 repo_id 在 CustomerCommentAnalyzer.__init__():

self.llm = HuggingFaceEndpoint(
    repo_id="google/flan-t5-large",  # Change to any compatible model
    temperature=0.3,
    max_new_tokens=512
)

流行的替代方案:

  • google/flan-t5-large -更小更快
  • HuggingFaceH4/zephyr-7b-beta -有助于指导
  • tiiuae/falcon-7b-instruct -高效的替代方案

使用自定义提示目录

您可以为提示模板指定自定义位置:

analyzer = CustomerCommentAnalyzer(
    hf_token="your_token",
    prompts_dir="path/to/custom/prompts"
)

故障排除🔍

常见问题

“未找到拥抱脸令牌”

  • 设置API令牌: $env:HUGGINGFACEHUB_API_TOKEN='your_token_here'
  • 或者在Streamlit侧栏中输入
  • 从以下位置获取令牌:https://huggingface.co/settings/tokens

模型加载缓慢

  • 首次加载需要几分钟(下载模型)
  • 后续的运行速度要快得多
  • 考虑使用较小的模型以加快加载速度

“超出费率限制”

  • 免费等级有请求限制
  • 在大批量之间等待几分钟
  • 升级到Hugging Face Pro以获得更高的限制
  • 考虑生产中的局部模型推理

MCP连接错误

  • 启动应用程序前,确保设置了环境变量
  • 检查MCP文件是否在 mcp/ 目录
  • 验证Python是否可以从mcp目录导入
  • 尝试直接版本(app.py)如果MCP问题持续存在
  • 检查控制台输出以获取详细的错误消息

“找不到提示模板文件”

  • 确保 prompts/ 目录存在
  • 检查一下 .txt 文件存在
  • 验证文件路径是否正确

令牌长度错误

  • 减少 max_new_tokens 参数在 customer_comment_analyzer.py
  • 使用较短的评论
  • 尝试使用具有更大上下文窗口的不同模型

性能提示

  • 对多条评论使用批量分析(更高效)
  • 缓存结果以避免重新分析相同的评论
  • 考虑单独运行MCP服务器以获得更好的性能
  • 使用GPU(如果可用)(需要CUDA设置)

API费率限制⚠️

免费拥抱脸API有价格限制:

  • 注意请求的数量
  • 考虑对大规模应用程序使用局部模型推理
  • 升级到Hugging Face Pro以获得更高的限制

未来的增强功能🚀

潜在的改进和功能:

  • \[ \] 本地模型支持 -在没有API调用的情况下本地运行模型
  • \[ \] 其他导出格式 -JSON、Excel、PDF报告
  • \[ \] 多语言支持 -分析多种语言的评论
  • \[ \] 自定义类别 -用户定义的分类类别
  • \[ \] 高级分析 -词云、趋势分析、关键短语提取
  • \[ \] 实时处理 -WebSocket支持实时评论流
  • \[ \] 数据库集成 -将结果存储在PostgreSQL/MongoDB中
  • \[ \] REST API -用于外部集成的HTTP API端点
  • \[ \] 认证 -用户帐户和API密钥管理
  • \[ \] 微调 -针对特定领域数据的自定义模型训练
  • \[ \] 置信度得分 -预测的概率分数
  • \[ \] A/B测试 -比较不同的提示和型号
  • \[ \] Docker支持 -集装箱化部署
  • \[ \] 云部署 -AWS/Azure/GCP部署指南

使用的技术🛠️

核心技术

  • Python 3.13 -程序设计语言
  • LangChain -LLM编排和链管理
  • 拥抱脸变换器 -人工智能模型访问和管理
  • Mistral-7B-说明书-0.2 -指令遵循语言模型

Web和UI

  • 溪流 -交互式web应用程序框架
  • 熊猫 -数据操作和CSV导出

模型上下文协议

  • MCP-SDK -模型上下文协议实现
  • httpx -用于异步操作的HTTP客户端
  • 派丹蒂克 -数据验证

AI/ML库

  • 火炬(PyTorch) -深度学习框架
  • 句子 -标记化
  • 加速 -模型优化
  • 拥抱面中心 -模型存储库访问

快速入门指南🚀

1.获取您的拥抱脸令牌

访问https://huggingface.co/settings/tokens并创建免费令牌

2.设置环境变量

$env:HUGGINGFACEHUB_API_TOKEN='your_token_here'

3.选择您的界面

Web界面(最简单):

C:/Python313/python.exe -m streamlit run app.py

MCP版本(生产):

C:/Python313/python.exe -m streamlit run mcp/app_mcp.py

命令行:

C:/Python313/python.exe customer_comment_analyzer.py

4.开始分析!

  • 在web界面中输入评论,或
  • 在您自己的脚本中使用Python API

文档📚

  • README.md (此文件)-主要文档和设置指南
  • mcp/README.md -模型上下文协议架构详细信息
  • 提示/README.md -提示模板定制指南
  • 代码注释-所有Python文件中的内联文档

项目特性概述

功能直接版本MCP版本
Web界面✅ app.py✅ mcp/app_mcp.py
单项评论分析✅✅
批量处理✅✅
统计仪表板✅✅
CSV导出✅✅
分析历史✅✅
外部提示✅✅
客户端-服务器体系结构❌✅
独立缩放❌✅
多个客户端❌✅
生产就绪良好更好

许可证📄

这个项目是为了教育目的而创建的。

贡献🤝

欢迎投稿!以下是您可以提供帮助的方式:

  1. 报告Bug -打开一个包含详细信息的问题
  2. 建议功能 -分享您的改进想法
  3. 改进文档 -帮助使文档更清晰
  4. 提交PR -修复错误或添加功能
  5. 分享反馈 -让我们知道您是如何使用它的

支持💬

对于问题或疑问:

  1. 检查 故障排除 以上章节
  2. 审查 mcp/README.md 针对MCP特定问题
  3. 检查 提示/README.md 用于快速定制
  4. 审查 LangChain文档
  5. 访问 拥抱脸文档
  6. 检查 模型上下文协议文档

致谢🙏

采用令人惊叹的开源技术构建:

  • LangChain团队为优秀的编排框架
  • 拥抱人脸,使人工智能模型访问民主化
  • Mistral AI用于强大的指令跟踪模型
  • Streamlit用于直观的web框架
  • 标准化模型上下文协议团队

______________________________________________________________________

由以下材料制成❤️ 使用LangChain、Hugging Face、模型上下文协议和Streamlit

*快乐分析! 🎉*

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

情感分析Python本地部署文本分类自然语言处理客户反馈分析AI应用

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

看服务状态

查询容器、日志和监控指标,定位异常。

执行部署变更

在权限范围内触发发布、回滚和环境切换。

核对资源用量

汇总用量,找出闲置和超额的部分。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 运行环境,换机器要重新装一遍。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在运维云端场景里让模型直接调用外部能力的人。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Customer Sentiment Analysis

MCP World · 本页

0stdio有1 个2026-05-17
Ui Tars Desktop 8a825770

MCP World

0stdio有1 个2026-05-17
Elie222 MCP

MCP World

0未说明未标注1 个2026-05-17
Arizeai Phoenix MCP

MCP World

0stdio有3 个2026-05-17
Unity MCP 87ee506e

MCP World

42HTTP有2 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Customer Sentiment Analysis 怎么安装?

公开资料给出的安装命令是 pip install -r requirements.txt,运行环境为 未标注。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Customer Sentiment Analysis 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

Customer Sentiment Analysis 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Customer Sentiment Analysis 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Customer Sentiment Analysis 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP