# rag-chatbot **Repository Path**: xtym/rag-chatbot ## Basic Information - **Project Name**: rag-chatbot - **Description**: 轻量级智能客服助手 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-04-01 - **Last Updated**: 2026-04-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 轻量级智能客服助手 🔗 **在线体验**: [http://8.138.125.64:7860](http://8.138.125.64:7860) ## 📖 项目简介 一个基于RAG架构的智能客服助手,专为**2GB内存环境**设计,完全基于免费API实现知识库问答。 ## ✨ 功能特性 - RAG完整流程:文档切分→向量化→相似检索→LLM生成 - 多轮对话记忆 - 内存占用 < 500MB - Docker一键部署,公网访问 ## 🛠️ 技术栈 | 组件 | 选型 | |------|------| | 后端 | FastAPI | | 前端 | Gradio | | AI框架 | LangChain | | 嵌入模型 | BAAI/bge-small-zh | | 向量库 | FAISS | | LLM | 智谱AI (免费) | ## 🚀 快速开始 ```bash # 1. 安装依赖 pip install -r requirements.txt # 2. 配置环境变量 # 创建 .env 文件,填入: ZHIPUAI_API_KEY=your_api_key_here # 3. 准备知识库 # 将知识文档放入 data/knowledge.txt # 4. 启动服务 # 终端1:启动后端 uvicorn backend.main:app --host 0.0.0.0 --port 8000 # 终端2:启动前端 python frontend/app.py 访问 http://localhost:7860 开始对话。 📁 项目结构 text ├── backend/ # FastAPI后端 │ ├── main.py │ └── rag/ # RAG核心模块 ├── frontend/ # Gradio前端 ├── data/ # 知识库文件 └── chroma_db/ # 向量库 🔧 性能优化 内存优化:手动管理嵌入,内存占用<500MB 缓存策略:LRU缓存,重复问答提速80% 异步处理:支持并发请求 检索优化:FAISS HNSW索引,检索<100ms 📊 测试数据 知识库:3个文档块 响应时间:1.2秒 内存占用:450MB 💡 项目亮点 资源受限下的工程实践:在2GB内存环境中完整实现RAG架构 成本控制:完全基于免费API,零成本运行 技术选型:对比Chroma后选择FAISS,降低内存占用 工程完整性:Docker化部署、公网访问、多轮对话 rag_project/ ├── backend/ # 后端核心代码 │ ├── main.py # 入口文件(必须) │ └── rag/ # RAG模块 │ ├── __init__.py # 包标识 │ ├── llm.py # LLM配置(必须) │ ├── embeddings.py # 嵌入模型(必须) │ ├── vector_store.py # FAISS封装(必须) │ ├── qa_chain.py # 问答链(必须) │ ├── ingest.py # 知识库入库(必须) │ └── config.py # 配置(必须) ├── frontend/ # 前端代码 │ └── app.py # Gradio应用(必须) ├── data/ # 知识库文件 │ └── knowledge.txt # 你的知识内容(必须) ├── chroma_db/ # FAISS索引目录 │ └── faiss_index/ # 索引文件(运行后生成) ├── .env # 环境变量(必须) ├── docker-compose.yml # Docker配置 ├── requirements.txt # 依赖列表 └── README.md # 项目说明