update README
This commit is contained in:
parent
18057fd98d
commit
49f5ef6c50
|
|
@ -161,4 +161,5 @@ cython_debug/
|
|||
#.idea/
|
||||
|
||||
chroma_db/
|
||||
chat_history/
|
||||
chat_history/
|
||||
.idea/
|
||||
114
README.md
114
README.md
|
|
@ -1,3 +1,113 @@
|
|||
# RAG_proj
|
||||
# RAG智能客服系统
|
||||
|
||||
RAG小项目
|
||||
基于检索增强生成(RAG)技术的智能客服系统,支持知识库管理和对话问答功能。
|
||||
|
||||
## 功能特性
|
||||
|
||||
- **智能问答**:基于通义千问大模型,结合知识库进行精准回答
|
||||
- **历史记忆**:支持多轮对话,保持上下文连贯性
|
||||
- **知识库管理**:支持上传TXT文件构建向量知识库
|
||||
- **去重机制**:基于MD5自动检测重复内容,避免重复入库
|
||||
- **向量检索**:使用Chroma向量数据库存储和检索文档
|
||||
|
||||
## 技术栈
|
||||
|
||||
- **大语言模型**:通义千问 (Qwen3-max)
|
||||
- **嵌入模型**:DashScope text-embedding-v4
|
||||
- **向量数据库**:Chroma
|
||||
- **Web框架**:Streamlit
|
||||
- **核心框架**:LangChain
|
||||
|
||||
## 项目结构
|
||||
|
||||
```
|
||||
RAG_proj/
|
||||
├── app_qa.py # 智能问答Web界面
|
||||
├── app_file_uploader.py # 知识库上传Web界面
|
||||
├── rag.py # RAG服务核心类
|
||||
├── knowledge_base.py # 知识库管理服务
|
||||
├── vector_stores.py # 向量存储服务
|
||||
├── file_hisroty_store.py # 对话历史存储
|
||||
├── config_data.py # 配置文件
|
||||
├── data/ # 示例知识库文档
|
||||
│ ├── 尺码推荐.txt
|
||||
│ ├── 洗涤养护.txt
|
||||
│ └── 颜色选择.txt
|
||||
├── chroma_db/ # 向量数据库目录
|
||||
└── chat_history/ # 对话历史存储目录
|
||||
```
|
||||
|
||||
## 快速开始
|
||||
|
||||
### 1. 安装依赖
|
||||
|
||||
```bash
|
||||
pip install langchain langchain-community langchain-chroma streamlit dashscope
|
||||
```
|
||||
|
||||
### 2. 配置API密钥
|
||||
|
||||
设置DashScope API密钥(通义千问):
|
||||
|
||||
```bash
|
||||
export DASHSCOPE_API_KEY="your-api-key"
|
||||
```
|
||||
|
||||
### 3. 启动服务
|
||||
|
||||
**启动知识库上传界面:**
|
||||
```bash
|
||||
streamlit run app_file_uploader.py
|
||||
```
|
||||
|
||||
**启动智能问答界面:**
|
||||
```bash
|
||||
streamlit run app_qa.py
|
||||
```
|
||||
|
||||
## 使用说明
|
||||
|
||||
### 知识库管理
|
||||
|
||||
1. 打开知识库上传界面 (`app_file_uploader.py`)
|
||||
2. 上传TXT格式的知识文档
|
||||
3. 系统自动进行文本分割、向量化和存储
|
||||
4. 重复内容会自动跳过
|
||||
|
||||
### 智能问答
|
||||
|
||||
1. 打开智能问答界面 (`app_qa.py`)
|
||||
2. 在对话框中输入问题
|
||||
3. 系统会从知识库中检索相关内容并结合大模型生成回答
|
||||
4. 支持多轮对话,保持上下文记忆
|
||||
|
||||
## 配置说明
|
||||
|
||||
在 `config_data.py` 中可以修改以下配置:
|
||||
|
||||
| 配置项 | 默认值 | 说明 |
|
||||
|--------|--------|------|
|
||||
| `embedding_model_name` | text-embedding-v4 | 嵌入模型名称 |
|
||||
| `chat_model_name` | qwen3-max | 对话模型名称 |
|
||||
| `chunk_size` | 1000 | 文本分块大小 |
|
||||
| `chunk_overlap` | 100 | 文本分块重叠大小 |
|
||||
| `similarity_threshold` | 1 | 向量检索返回数量 |
|
||||
|
||||
## 示例知识库
|
||||
|
||||
项目内置了服装领域的示例知识库:
|
||||
|
||||
- **尺码推荐.txt**:身高体重与服装尺码对照表
|
||||
- **洗涤养护.txt**:不同材质服装的洗涤和养护指南
|
||||
- **颜色选择.txt**:肤色、场合、季节与服装颜色搭配建议
|
||||
|
||||
## 许可证
|
||||
|
||||
本项目采用 MIT 许可证,详见 [LICENSE](LICENSE) 文件。
|
||||
|
||||
## 注意事项
|
||||
|
||||
- 需要有效的 DashScope API 密钥才能正常使用
|
||||
- 知识库文件目前仅支持 TXT 格式
|
||||
- 向量数据库会自动持久化到 `./chroma_db` 目录
|
||||
- 对话历史存储在 `./chat_history` 目录
|
||||
|
|
|
|||
Loading…
Reference in New Issue