🤖 本地AI代理(MCP风格)
   
一个完全自主的智能代理,完全在您的本地机器上运行。此应用程序结合了本地LLM的强大功能(问题2.5 通过 奥拉玛)使用现实世界的工具(网络搜索、股票市场、计算器等)来解决复杂的多步骤任务。
该项目是使用现代 客户端服务器 架构(React+FastAPI),并包括一个安全的用户身份验证系统。
______________________________________________________________________
🚀 主要特点
- 100%本地和私人:利用奥利玛获取情报。您的数据保留在您的计算机上(外部网络搜索除外)。
- 智能工具:
- 🌍 网络搜索: 获取最新消息和时事(DuckDuckGo)。
- 💰 股票价格: 实时财务数据(雅虎财经)。
- 🧮 计算器: 精确的数学运算(无LLM幻觉)。
- 🌤️ 天气: 实时天气预报。
- 📄 PDF摘要生成器: 上传、阅读和总结PDF文档。
- 📝 笔记: 将重要信息保存到本地文件。
- 多步推理: 代理可以执行一系列操作(例如,查找CEO->获取他们的出生年份->计算他们的年龄->保存到笔记中)。
- 用户系统: 使用JWT(JSON Web令牌)实现安全登录/注册功能。
- 现代UI: ChatGPT风格的界面(暗模式),对桌面和移动设备完全响应。
______________________________________________________________________
🛠️ 技术栈
后端(Python)
- FastAPI: 高性能异步API框架。
- LangGraph和LangChain: 用于代理编排和工具管理。
- 奥拉马: 用于运行本地LLM(qwen2.5:3b)。
- SQLite: 用户管理和聊天历史数据库。
- Passlib和Jose: 为了安全起见(密码哈希和JWT)。
前端(JavaScript)
- React+Vite: 用于快速和反应灵敏的用户界面。
- Axios: 用于处理API请求和拦截器。
- React路由器: 实现无缝导航。
- Lucide反应: 追求干净、现代的肖像。
______________________________________________________________________
⚙️ 安装和设置
先决条件
- 已安装Python 3.10+。
- 已安装Node.js和npm。
- 奥拉玛 安装并运行。
步骤1:设置AI模型
打开终端并拉动Qwen型号:
ollama pull qwen2.5:3b步骤2:后端设置
导航到项目根文件夹。
# Create venv
python -m venv venv
# Activate (Windows)
venv\Scripts\activate
# Activate (Mac/Linux)
source venv/bin/activate
# Install dependencies
pip install fastapi uvicorn langchain langchain-ollama langgraph duckduckgo-search yfinance wikipedia pypdf passlib[bcrypt] python-jose[cryptography] python-multipart启动后端服务器:
uvicorn api:app --reload服务器将在以下位置运行:http://127.0.0.1:8000
步骤3:前端设置
打开一个新终端并导航到客户端文件夹:
cd client
Install Node dependencies:
code
Bash
npm install
Start the React application:
code
Bash
npm run dev该应用程序将在以下网址访问:http://localhost:5173
______________________________________________________________________
📖 如何使用
- 打开浏览器 并前往
http://localhost:5173. - 创建帐户: 您将看到登录页面;点击“注册”进行注册。
- 开始聊天: 登录后,您将访问主聊天界面。
- 尝试以下提示:
- “搜索有关SpaceX的最新消息。” *(使用网络搜索)* - “苹果(AAPL)的股价是多少?” *(使用库存工具)* - “计算1550乘以4除以2。” *(使用计算器)* - “谁是特斯拉的首席执行官?他多大了?”
- 分析文档: 点击 回形针图标 上传和总结PDF。
______________________________________________________________________
📂 项目结构
PROJECT_ROOT/
├── agent_backend.py # Core Agent Logic, Tools, and Database functions
├── api.py # FastAPI Server (Routes, Auth, JWT, Prompts)
├── chat_history.db # SQLite Database (Auto-generated)
├── my_notes.txt # File for Agent notes
│
├── client/ # Frontend Folder (React)
│ ├── src/
│ │ ├── pages/ # Login & Register Pages
│ │ ├── api.js # Axios configuration & Interceptors
│ │ ├── App.jsx # Main Router
│ │ ├── ChatInterface.jsx # Chat UI Logic
│ │ └── index.css # Styling (CSS)
│ └── package.json
│
└── README.md # This file______________________________________________________________________
🛡️ 安全
- 密码散列: 密码通过以下方式安全散列
pbkdf2_sha256. - 身份验证: 通过以下方式保护通信 JWT公司 (JSON Web令牌)。
- 数据隔离: 每个用户只能访问自己的私人聊天历史记录。
______________________________________________________________________
👤 作者
Besmir Qerosi
