使用说明
🌐 智能Web分析器
由LangChain、Ollama和Bright Data的模型上下文协议(MCP)提供支持的智能网络抓取和内容分析应用程序。
特性
✨ 智能网页抓取
- 支持多种网站类型(领英、推特/X、GitHub、新闻、博客和一般网页)
- 每个平台都有自定义处理的自动URL类型检测
- 缓存以提高重复URL的性能
🧠 AI驱动的分析
- 多种分析模式:摘要、关键点、分析和自定义查询
- 通过Ollama使用Gemma3 LLM进行智能内容理解
- 基于内容类型的上下文感知提示
📊 内容度量和可视化
- 字数统计和频率分析
- 句子和段落分析
- 阅读时间估算
- 使用Plotly进行交互式可视化
💡 聪明的建议
- 平台特定提示建议
- 常见查询的快速访问按钮
- 情境感知建议
📈 查询历史
- 跟踪最近的查询和交互
- 历史数据存储(最近50个条目)
- 快速统计仪表板
建筑
该应用程序使用以下组件:
Streamlit UI
↓
Enhanced Web Analyzer Engine
↓
LangChain + Ollama (Gemma3 LLM)
↓
Bright Data MCP
├─ URL Scraper
├─ LinkedIn Scraper
├─ Twitter/X Scraper
└─ Other Platform-Specific Scrapers
安装
先决条件
- Python 3.8+
- Ollama与Gemma3模型
- Node.js(用于Bright Data MCP集成)
- Bright Data API密钥
设置
-
克隆或下载项目
-
安装Python依赖项
pip install -r requirements.txt -
设置环境变量 创建一个
.env项目根目录中的文件:BRD_API_KEY=your_bright_data_api_key OLLAMA_MODEL=gemma3 -
确保Ollama正在运行
ollama run gemma3
用法
运行Streamlit应用程序:
streamlit run mcp_app.py
应用程序将在您的浏览器中打开 http://localhost:8501.
如何使用
-
启用URL上下文 (可选)
- 检查侧边栏中的“使用URL上下文”选项
- 输入要分析的任何URL
-
选择分析类型
- 总结:获得简明概述
- 要点:提取最重要的信息
- 分析:获得详细的见解
- 问题:提出有见地的问题
- 自定义:使用您自己的提示
-
输入您的问题
- 使用智能建议按钮进行快速提示
- 或者键入您的自定义问题
-
查看结果
- 获得AI驱动的响应
- 查看内容指标和词频图
- 在侧栏中跟踪分析历史记录
关键功能
analyze_text_metrics(text)
分析文本并返回指标,包括:
- 单词、句子和段落计数
- 每句平均字数
- 最常见的10个单词
- 预计阅读时间
detect_url_type(url)
标识URL类型并返回相应的表情符号和说明:
- 推特/X帖子🐦
- LinkedIn个人资料💼
- GitHub 仓库🐙
- 新闻/博客文章📰
- Youtube视频📺
- 维基百科文章📚
get_smart_suggestions(url, content)
根据URL和内容类型生成特定于平台的提示建议。
enhanced_handle_prompt(tools, is_url, url, user_prompt, analysis_type)
主要处理功能如下:
- 删除URL内容(如适用)
- 创建上下文感知提示
- 调用LLM
- 计算指标
- 保存到历史记录
依赖项
核心框架
- 流明 (1.40.0)-Web UI框架
- 语言链 (0.3.4)-LLM编排
- 郎链型胶原 (0.2.1)-Ollama整合
- langchain mcp适配器 (0.1.3)-MCP支持
数据和可视化
- 熊猫 (2.2.3)-数据操作
- 绘图 (5.24.1)-交互式图表
公用事业
- 意图tp (3.10.10)-异步HTTP
- 请求: (2.32.3)-HTTP请求
- 自然语言工具包 (3.9.1)-NLP工具
- 格式 (6.0.2)-YAML解析
配置
可以通过修改以下内容来定制应用程序:
- LLM模型:更改模型
initialize_llm()函数 - 页面布局:修改
st.set_page_config()参数 - CSS样式:更新样式部分中的自定义CSS
- 历史记录大小:调整中的历史记录限制
save_to_history() - 建议提示:修改
get_smart_suggestions()适用于不同的平台
故障排除
问题:“找不到BRD_API_KEY”
- 确保
.env文件存在于项目根目录中 - 验证API密钥设置是否正确
问题:“找不到Olama模型”
- 跑
ollama run gemma3下载模型 - 确保Ollama服务正在运行
问题:性能缓慢
- 检查您的互联网连接是否存在网络抓取
- 确保Olama有足够的资源
- 尝试使用较小的内容块
文件结构
mcp_project/
├── mcp_app.py # Main application file
├── requirements.txt # Python dependencies
├── .env # Environment variables (create this)
└── README.md # This file
未来的增强功能
- []支持PDF和文档分析
- []多语言支持
- []高级NLP功能(实体提取、情感分析)
- []查询历史的数据库存储
- []用于编程访问的API端点
- []高级过滤和搜索功能
- []将分析结果导出为各种格式
贡献
欢迎投稿!请随时提交问题或拉取请求。
许可证
这个项目是开源的,可以在MIT许可证下使用。
支持
对于问题或疑问,请在项目存储库中创建问题或联系维护人员。
内置于❤️ 使用Streamlit、LangChain和Bright Data MCP