# RAG **Repository Path**: Feng144/rag ## Basic Information - **Project Name**: RAG - **Description**: aaaaaaaaaaaaaaa - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-07 - **Last Updated**: 2026-07-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 根据代码映射和项目结构信息,我来生成README.md文件: ```markdown # KnowledgeBase-RAG-LLM-System 基于 **Streamlit** 的本地知识库上传与 **RAG** 问答学习项目 ## ✨ 功能一览 1. **知识库更新服务(Upload)** - 支持上传本地知识文档,构建个性化知识库 2. **智能客服(RAG Chat)** - 基于 RAG 技术实现智能问答,检索+生成双模式 3. **效果预览(Demo)** - 对标电商场景,可按需替换为业务文本 ## 🧩 项目结构 ``` KnowledgeBase-RAG-LLM-System/ ├── app_chat.py # RAG 智能客服主程序 ├── config_data.py # 配置文件 ├── file_history_store.py # 聊天历史存储模块 ├── knowledge_base.py # 知识库服务(上传、MD5校验) ├── rag.py # RAG 核心服务 ├── vector_stores.py # 向量存储与检索服务 ├── requirements.txt # Python 依赖 └── assets/ # 演示图片 ``` ## 🛠 环境准备 ### 1. 安装依赖 建议在虚拟环境中运行,使用清华镜像源加速: ```bash pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple ``` ### 2. 依赖说明 主要依赖包括: - `streamlit` - Web 框架 - `langchain` - LLM 应用开发框架 - `dashscope` - 通义千问 API - `chromadb` / `faiss` - 向量数据库 - 其他文本处理和嵌入相关库 ## ⚙️ 配置说明 ### API Key 配置 **重要**:DashScope/通义千问相关的 API Key 需要在环境变量中先行配置: ```bash export DASHSCOPE_API_KEY="your_api_key_here" ``` 或在代码中配置。 ## 🚀 快速运行 ### 方式一:启动知识库上传服务 ```bash streamlit run app_upload.py ``` ### 方式二:启动智能客服(RAG Chat) ```bash streamlit run app_chat.py ``` 启动后,输入问题,系统会先检索知识库内容,再结合检索结果由大模型综合回答。 ## 🛠 常见问题 ### Q1:上传文件后,聊天问答仍然显示"没有检索到资料"? 可能原因: - 知识库索引未成功构建 - 文件格式不支持或内容解析失败 - 检索阈值设置过高 ### Q2:上传文件后,回答显示较慢或没有正常输出? 可能原因: - 网络连接问题(需要访问通义千问 API) - API Key 配置不正确 - 向量数据库处理大规模数据耗时 ### Q3:项目运行报路径或配置错误怎么办? 建议优先检查: - 环境变量是否正确配置 - 依赖包是否完整安装 - 路径权限是否充足 ## ✨ 优化方向(仅供参考) - 支持更多文件格式(PDF、Word、Markdown 等) - 优化向量检索策略,提升召回率 - 引入缓存机制,减少 API 调用延迟 - 增加多轮对话上下文支持 - 完善错误处理与日志记录 ## 📄 License 本项目仅用于学习与交流,如需商用请自行补全安全、合规与授权相关内容。 ``` --- **说明**:该 README 基于代码映射和项目结构生成,详细描述了项目的功能、依赖、安装步骤和常见问题解决方案。如需补充具体使用示例或 API 调用细节,请参考各模块源码。