文档助理
集成MCP Server的AI文档助手
一个复杂的文档分析系统,将尖端的人工智能与现代架构相结合。专为符合CBUAE标准的财务合规分析而设计。
✨ 特性
- MCP服务器:高性能模型上下文协议服务器
- Flask前端:Grok风格的黑白设计
- 智能分析:人工智能驱动的文档理解和检索
- 实时处理:与您的文档进行交互式对话
- 智能高速缓存:性能优化的查询处理
- Docker支持:容器化部署就绪
🏗️ 建筑
- MCP服务器:生产准备就绪,配备全面的工具处理程序
- BGE嵌入:BAAI/bge用于语义搜索
- FAISS矢量商店:闪电般快速的相似性搜索
- Phi-3法学硕士:通过Ollama集成的Microsoft Phi-3
- 异步处理:高性能异步架构
🚀 快速开始
先决条件
- Python 3.8+
- Ollama(当地法学硕士)
安装
# Clone and enter directory
git clone https://github.com/aseefmohammed/document-assistant.git
cd document-assistant
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Start Ollama (in separate terminal)
ollama pull phi3
# Run the application
python -m uvicorn api:app --host 127.0.0.1 --port 8001 --reload访问 http://127.0.0.1:8001 开始使用助手。
📚 用法
- 上传文档:添加您的PDF、DOCX或TXT文件
- 提出问题:键入有关您内容的自然语言问题
- 获取见解:收到附有源引用的详细答案
- 进一步探索:使用暂停/恢复控件以实现更好的交互
�️ 建筑
├── index.html # Sophisticated frontend interface
├── api.py # FastAPI backend server
├── main.py # Core document assistant logic
├── src/ # Core processing modules
│ ├── document_processor.py
│ ├── embedding_engine.py
│ ├── retrieval_engine.py
│ └── llm_interface.py
├── config/ # Configuration settings
└── data/ # Document storage and vector DB🎨 设计理念
少即是多:干净的排版,最少的干扰,最大限度地关注内容。
性能优先:轻量级前端,高效后端,快速响应时间。
使用者中心:直观的交互、清晰的反馈、优雅的错误处理。
⚙️ 配置
中的关键设置 config/settings.py:
# LLM Model
llm_model_name: str = "phi3:latest"
# Processing
chunk_size: int = 1000
top_k_documents: int = 10
# Interface
api_host: str = "127.0.0.1"
api_port: int = 8001🔧 API终点
GET /-Web界面POST /query-提问POST /upload-上传文件GET /status-系统状态GET /health-健康检查
📱 响应式设计
界面很好地适应了:
- 桌面:全宽体验,最佳间距
- 药片,平板:布局紧凑,保持可读性
- 移动:具有手势支持的触摸优化界面
🚢 部署
Docker(推荐)
docker-compose up --build传统
# Production server
gunicorn -w 4 -k uvicorn.workers.UvicornWorker api:app🧠 AI模型
嵌入: BAAI/bge-small-en -快速、准确的语义理解
生成: phi3:latest -高效的本地语言模型
矢量数据库: FAISS -闪电般快速的相似性搜索
______________________________________________________________________
*专为具有企业级绩效的现代财务合规分析而设计。*
