商业智能助理
一个基于Python的桌面应用程序,实现了模型上下文协议(MCP),允许Gemini使用摄入的网站数据和WhatsApp消息回答有关业务的问题。
特性
- 🌐 网站内容抓取和摄取
- 💬 WhatsApp聊天消息导入
- 🧠 使用ChromaDB向量存储进行语义搜索
- 🤖 使用Gemini Pro进行上下文感知响应
- 🖥️ 用户友好的Tkinter GUI界面
需求
- Python 3.10或更高版本
- Gemini API密钥
- ChromaDB用于矢量存储
- 必需的Python包(请参阅安装)
安装
- 克隆存储库:
git clone
cd business-intelligence-assistant- 创建并激活虚拟环境:
python -m venv .venv
source .venv/bin/activate # On Unix/macOS
# OR
.venv\Scripts\activate # On Windows- 安装所需的软件包:
pip install google-generativeai chromadb beautifulsoup4 requests tiktoken python-dotenv uuid pandas- 创建一个
.env使用您的配置文件:
cp .env.example .env- 编辑
.env并添加您的Gemini API密钥:
GEMINI_API_KEY=your_api_key_here
CHROMA_DB_PATH=./data/chromadb
DATA_DIR=./data用法
- 启动应用程序:
python main.py- 使用GUI可以:
- 使用“摄取网站”按钮摄取网站内容 - 使用“导入WhatsApp”按钮导入WhatsApp聊天导出 - 在查询输入字段中询问有关您业务的问题
数据源
网站摄入
- 输入要抓取的URL
- 自动提取和处理相关内容
- 使用源元数据存储文本块
WhatsApp导入
- 选择WhatsApp聊天导出文件(.txt)
- 处理消息和发件人信息
- 维护消息上下文和时间戳
发展
项目结构遵循模块化设计:
business-intelligence-assistant/
├── main.py # Application entry point
├── .env # Environment configuration
├── src/
│ ├── mcp/ # MCP protocol implementation
│ │ └── host.py
│ ├── llm/ # LLM integration
│ │ └── gemini_client.py
│ ├── vector/ # Vector store
│ │ └── chroma_store.py
│ ├── data/ # Data ingestion
│ │ ├── website_scraper.py
│ │ └── whatsapp_importer.py
│ ├── gui/ # User interface
│ │ └── app.py
│ └── utils/ # Utilities
│ └── logger.py
└── logs/ # Application logs日志记录
应用程序在 logs 目录:
app.log:主应用程序日志文件- 大小限制为1MB的旋转日志
- 包括时间戳、日志级别和组件信息
错误处理
该应用程序实现了全面的错误处理:
- 部件健康检查
- 优雅的故障恢复
- 用户友好的错误消息
- 用于故障排除的详细日志记录
贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 提交拉取请求
许可证
\[在此处插入您选择的许可证\]
支持
\[插入支持联系信息\]
