# local_rag **Repository Path**: yunstabc/local_rag ## Basic Information - **Project Name**: local_rag - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 1 - **Created**: 2025-12-16 - **Last Updated**: 2026-01-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🤖 Local RAG 项目说明 ## ✅ **项目概览** 这是一个基于本地知识库的检索增强生成(RAG)系统,集成了向量数据库、语义搜索和深度求索(DeepSeek)API,提供智能问答服务。 ## ✅ **核心技术栈** ### 📦 依赖组件 - **fastapi==0.124.0** - 现代化 Python Web 框架 - **langchain_text_splitters==1.0.0** - 文本分块处理 - **openai==2.9.0** - OpenAI API 客户端 - **pydantic==2.12.5** - 数据验证和序列化 - **qdrant_client==1.16.1** - 向量数据库客户端 - **sentence_transformers==5.1.2** - 语义嵌入模型 ### 🔧 核心服务 - **Qdrant 向量数据库** - 本地向量存储与检索 - **Sentence Transformers** - 文本嵌入生成(shibing624/text2vec-base-chinese 模型) - **DeepSeek Chat API** - 大语言模型推理服务 ## ✅ **系统架构** ### 📁 项目结构 ``` local_rag/ ├── main_api.py # FastAPI 主服务,提供流式问答接口 ├── common.py # 公共配置和工具函数 ├── init_vector_db.py # 向量数据库初始化脚本 ├── index.html # 前端聊天界面 ├── test.py # 测试脚本 ├── requirements.txt # 依赖包清单 └── doc/ # 文档存储目录 ``` ### 🔄 工作流程 1. **文档处理**: 使用 RecursiveCharacterTextSplitter 将文档分块(400字符/块,50字符重叠) 2. **向量化**: 使用中文语义模型将文本转换为768维向量 3. **存储**: 向量数据存储到本地 Qdrant 数据库(默认端口6333) 4. **检索**: 用户查询时进行语义相似度搜索,获取相关上下文 5. **生成**: 结合检索到的上下文,调用 DeepSeek API 生成回答 ## ✅ **功能特性** ### 🎯 核心功能 - **智能问答**: 基于本地知识库的精准问答 - **流式响应**: 实时流式输出,提升用户体验 - **语义搜索**: 基于 embedding 的相似度检索 - **文档管理**: 支持批量文档导入和向量化 ### 🌟 技术亮点 - **全栈本地化**: 向量数据库和知识库均可本地部署 - **高效检索**: 支持批量向量插入和相似度搜索 - **实时交互**: FastAPI + Server-Sent Events 实现流式通信 - **中文优化**: 专门针对中文场景优化的语义模型 ## ✅ **部署指南** ### 🚀 快速启动 1. **安装依赖** ```bash pip install -r requirements.txt ``` 2. **初始化向量数据库** ```bash python init_vector_db.py ``` 3. **启动 API 服务** ```bash uvicorn main_api:app --reload --host 0.0.0.0 --port 8000 ``` 4. **访问前端界面** - 打开 `index.html` 文件 - 或部署到 Web 服务器 ### ⚙️ 环境配置 - **Qdrant**: 默认 `localhost:6333` - **DeepSeek API**: 需配置 `DEEPSEEK_API_KEY` 环境变量 - **文档路径**: 默认 `./doc/1.txt`(UTF-8编码) ## ✅ **API 接口** ### 📡 流式问答接口 - **端点**: `POST /stream_answer` - **参数**: ```json {"question": "你的问题"} ``` - **返回**: Server-Sent Events 流式文本响应 ## ✅ **应用场景** - 📚 **企业知识库问答** - 🎓 **教育辅助系统** - 💼 **客服智能助手** - 📖 **文档智能检索** - 🔍 **专业领域咨询** --- 这个项目展现了一个完整的 RAG 系统实现,从文档处理到智能问答的全流程,特别适合需要构建本地化知识问答系统的场景。