# LangChainRAG Vibecoding项目 **Repository Path**: lei-ya-dong/vibecoding_langchainrag ## Basic Information - **Project Name**: LangChainRAG Vibecoding项目 - **Description**: Vibecoding编写 LangChainRAG项目 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-08 - **Last Updated**: 2026-10-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 电商知识库 RAG 问答系统 基于 **LangChain** 框架的企业级 RAG(检索增强生成)知识库问答系统,面向电商商品场景。 ## 技术栈 | 层级 | 技术 | |------|------| | 框架 | FastAPI + LangChain + LangGraph | | LLM | 通义千问 (阿里云 DashScope) | | Embedding | 阿里云 text-embedding-v2 | | 向量数据库 | Chroma | | 关系数据库 | SQLite | | 缓存 | Redis | | 前端 | Vue 3 + Element Plus + TypeScript | | 部署 | Docker Compose | ## 快速启动 ### 1. 配置 API Key 编辑 `backend/.env`,填入阿里云百炼 API Key: ``` DASHSCOPE_API_KEY=sk-xxxxxxxxxxxxxxxx SECRET_KEY=change-this-to-random-string ``` ### 2. Docker 一键启动 ```bash docker-compose up -d ``` - 前端:http://localhost - 后端 API 文档:http://localhost:8000/docs - 管理员账号:admin / 123456 ### 3. 本地开发启动 **后端:** ```bash cd backend pip install -r requirements.txt uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload ``` **前端:** ```bash cd frontend npm install npm run dev ``` ## 项目结构 ``` langchain-rag-qa/ ├── backend/ │ ├── app/ │ │ ├── main.py # FastAPI 入口 │ │ ├── config.py # 配置管理 │ │ ├── api/ # REST 路由 │ │ │ ├── auth.py # 用户认证 │ │ │ ├── knowledge.py # 知识库管理(管理员) │ │ │ ├── chat.py # RAG 问答 + SSE 流式 │ │ │ └── admin.py # 管理员仪表盘 │ │ ├── core/ │ │ │ ├── security.py # JWT + 密码哈希 │ │ │ ├── database.py # SQLAlchemy + SQLite │ │ │ ├── document.py # 文档解析/分块 │ │ │ ├── deps.py # 依赖注入 │ │ │ └── rag/ │ │ │ ├── chain.py # RAG Chain 组装 │ │ │ ├── retriever.py # 混合检索 + BM25 │ │ │ ├── embeddings.py# Embedding 管理 │ │ │ └── prompts.py # Prompt 模板 │ │ ├── models/ # SQLAlchemy 模型 │ │ ├── schemas/ # Pydantic 模型 │ │ └── services/ # 业务服务层 │ └── requirements.txt ├── frontend/ │ └── src/ │ ├── views/ # 页面组件 │ │ ├── Login.vue # 登录 │ │ ├── Register.vue # 注册 │ │ ├── Chat.vue # 问答主界面 │ │ ├── KnowledgeManage.vue # 知识库管理 │ │ └── AdminDashboard.vue # 仪表盘 │ ├── api/ # API 封装 │ ├── stores/ # Pinia 状态管理 │ └── router/ # Vue Router ├── docker-compose.yml └── README.md ``` ## 功能清单 - [x] 用户注册/登录/修改密码(JWT 认证) - [x] 管理员账号预置(admin/123456) - [x] 知识库管理:创建、上传文档、解析、分块、向量化 - [x] 文档类型:PDF / TXT / DOCX / MD / CSV - [x] RAG 问答:流式输出 (SSE) + 知识库引用展示 - [x] 多用户多会话管理,历史永久保存 - [x] 管理员仪表盘:系统统计 - [x] 答案反馈(点赞/踩) - [x] 混合检索(向量 + BM25)+ RRF 融合 - [x] 企业级性能优化:重排序、缓存、查询缓存 ## 费用预估 | 项目 | 预估 | |------|:---:| | 知识库向量化(100篇文档) | ~3 元 | | 日常问答(日均100次/月) | ~3 元 | | 毕设期间总计 | **6-10 元** | 阿里云新用户通常有免费额度。