# ai **Repository Path**: dozen729/ai ## Basic Information - **Project Name**: ai - **Description**: AI项目测试 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-18 - **Last Updated**: 2026-03-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AI 智能助手 基于 RAG(检索增强生成)的知识库问答系统,支持多模型对话、图文交互和微信通知集成。 ## 项目简介 本项目是一个功能完整的 AI 对话系统,支持: - **多种 AI 模型**:智谱 AI (GLM-4)、豆包 - **RAG 知识库**:基于文档的智能问答,支持多种嵌入模型 - **多模态支持**:图文混合对话 - **微信集成**:支持发送消息和图片到微信 - **Web 界面**:简洁美观的交互界面 - **对话管理**:历史记录保存和恢复 ## 环境要求 ### 系统要求 - **操作系统**:Windows 10+ / macOS / Linux - **Python 版本**:Python 3.8 或更高版本 ### 硬件建议 - **内存**:建议 8GB 及以上 - **存储**:至少 5GB 可用空间(用于模型存储) - **网络**:稳定的互联网连接 ## 安装流程 ### 方式一:自动安装(推荐) 双击运行 `install.bat` 脚本,按提示完成安装。 ### 方式二:手动安装 ```bash # 1. 克隆或下载项目到本地 cd D:\dozen\ai # 2. 安装项目依赖 pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple ``` ### 依赖说明 项目包含以下主要依赖: | 类别 | 依赖库 | 说明 | |------|--------|------| | AI 框架 | langchain, langchain-community, langchain-core | LangChain 框架 | | LLM 支持 | zhipuai, openai | 智谱 AI 和 OpenAI 兼容接口 | | RAG 相关 | chromadb, sentence-transformers, pypdf | 向量数据库和文档处理 | | 深度学习 | torch, transformers, Pillow | 模型支持 | | Web 服务 | fastapi, uvicorn | Web 服务器 | ## 配置说明 ### API 密钥配置 创建 `.env` 文件(项目根目录),添加你的 API 密钥: ```env # 智谱 AI API 密钥(必需) ZHIPUAI_API_KEY=your_zhipu_api_key_here # 豆包 API 密钥(可选,如需使用豆包模型) DOUBAO_API_KEY=your_doubao_api_key_here ``` ### 获取 API 密钥 - **智谱 AI**:访问 [智谱 AI 开放平台](https://open.bigmodel.cn/) 注册获取 - **豆包**:访问 [火山引擎](https://console.volcengine.com/ark) 注册获取 ## 启动流程 ### Windows 系统 ```bash # 双击运行启动脚本 start_web.bat ``` ### macOS / Linux 系统 ```bash # 运行启动脚本 bash start_web.sh ``` ### 手动启动 ```bash # 运行 Web 服务器 python web_server.py ``` 启动成功后,终端会显示: ``` ================================================== 🚀 AI对话服务器启动中... ================================================== 📁 静态文件目录: html/static 📁 对话历史目录: html/history 🌐 服务地址: http://localhost:8000 ================================================== ``` ## 使用方式 ### 访问 Web 界面 1. 打开浏览器访问:`http://localhost:8000` 2. 首次使用需要配置 API 密钥(点击右上角设置按钮) 3. 选择对话模式开始使用 ### 对话模式说明 | 模式 | 说明 | 适用场景 | |------|------|----------| | **智谱 AI** | 使用智谱 GLM-4 模型进行对话 | 日常问答、创作 | | **智谱工具** | 支持微信工具调用的智谱 AI | 需要发送消息到微信 | | **豆包** | 使用字节跳动豆包模型 | 备用对话模型 | | **RAG BGE** | 基于 BGE 嵌入的知识库问答 | 基于 docs/ 目录文档的问答 | | **RAG Qwen3** | 基于 Qwen3-VL 的多模态问答 | 支持图片/视频的文档问答 | ### RAG 知识库使用 **模型下载(必需步骤)** 在使用 RAG 模式前,需要手动下载以下嵌入模型到项目目录: 1. **BGE 中文嵌入模型** - 下载地址:https://hf-mirror.com/BAAI/bge-small-zh-v1.5 - 下载后放置到项目目录:`./bge-small-zh-v1.5/` - 该模型用于 RAG BGE 模式的文本嵌入 2. **Qwen3-VL 多模态嵌入模型** - 下载地址:https://hf-mirror.com/Qwen/Qwen3-VL-Embedding-2B/tree/main - 下载后放置到项目目录:`./Qwen3-VL-Embedding-2B/` - 该模型用于 RAG Qwen3 模式,支持图片/视频内容理解 **使用步骤** 1. **准备文档**:将 PDF、TXT 或 MD 文件放入 `docs/` 目录 2. **初始化索引**:首次使用会自动创建向量索引 3. **切换模式**:在设置中切换到 RAG 模式 4. **开始问答**:基于文档内容进行智能问答 ### 微信功能使用 1. 确保微信桌面版已启动 2. 在设置中启用微信功能 3. 切换到"智谱工具"模式 4. 对话中要求发送消息到微信即可 ## 项目结构 ``` ai/ ├── docs/ # 知识库文档目录 ├── html/ # Web 前端文件 │ ├── static/ # 静态资源(CSS/JS) │ ├── templates/ # HTML 模板 │ └── history/ # 对话历史记录 ├── wechat-sender/ # 微信发送工具脚本 ├── chroma_db/ # BGE 向量数据库(自动生成) ├── chroma_db_zhipu/ # 智谱嵌入向量数据库(自动生成) ├── chroma_db_qwen3/ # Qwen3 向量数据库(自动生成) ├── .env # 环境变量配置 ├── requirements.txt # 项目依赖 ├── install.bat # 安装脚本 ├── start_web.bat # 启动脚本 ├── web_server.py # Web 服务器主程序 ├── vector_store.py # 向量存储管理 ├── rag_retriever.py # RAG 检索器 └── README.md # 项目说明文档 ``` ## 常见问题 ### 1. 安装失败 - 检查 Python 版本是否为 3.8+ - 尝试使用清华镜像源安装 - 确保 pip 已升级到最新版本 ### 2. RAG 模式无法使用 - 确保 `docs/` 目录存在并包含文档 - 检查是否已安装 sentence-transformers - 首次使用需要等待向量索引创建 ### 3. 微信功能不可用 - 确保微信桌面版已启动 - 检查 PowerShell 执行策略 - 确认 wechat_sender 模块已正确安装 ### 4. 端口被占用 如 8000 端口被占用,可修改 `web_server.py` 中的端口号: ```python uvicorn.run(app, host="0.0.0.0", port=8000) # 修改为其他端口 ``` ## 技术栈 - **后端框架**:FastAPI + Uvicorn - **AI 框架**:LangChain - **向量数据库**:ChromaDB - **嵌入模型**:BGE / Qwen3-VL / 智谱 AI - **前端**:原生 JavaScript + CSS ## 更新日志 ### v1.0.0 (初始版本) - 支持智谱 AI 和豆包对话 - 实现 RAG 知识库问答 - Web 交互界面 - 微信通知集成 - 多种嵌入模型支持 ## 许可证 本项目仅供学习和个人使用。 ## 联系方式 如有问题或建议,欢迎提交 Issue。