simplify ai-chat.md
This commit is contained in:
parent
d7cfb68587
commit
b0585d16a0
114
doc/ai-chat.md
114
doc/ai-chat.md
@ -54,27 +54,6 @@
|
|||||||
- **优势**: 实现简单、维护成本低、Kimi K2原生支持
|
- **优势**: 实现简单、维护成本低、Kimi K2原生支持
|
||||||
- **扩展性**: 后续可轻松添加更多工具,无需修改路由逻辑
|
- **扩展性**: 后续可轻松添加更多工具,无需修改路由逻辑
|
||||||
|
|
||||||
#### 4.1.2 RAG知识库系统 ✅ **已实现**
|
|
||||||
- **存储方案**: FAISS向量数据库 + Django缓存系统
|
|
||||||
- **内容类型**: 文字、图片、视频、文档(支持HTML内容清理)
|
|
||||||
- **检索策略**: 语义搜索 + 相似度评分
|
|
||||||
- **更新机制**: 支持实时更新和版本控制
|
|
||||||
- **成本优化**: 本地处理,减少API调用
|
|
||||||
- **性能优化**: 多层缓存策略(向量缓存30天,搜索结果缓存1天)
|
|
||||||
|
|
||||||
**RAG流程**:
|
|
||||||
- **检索(Retrieval)**: 从本地知识库找到相关信息
|
|
||||||
- **增强(Augmentation)**: 将检索到的信息作为上下文
|
|
||||||
- **生成(Generation)**: Kimi K2基于增强的上下文生成回答
|
|
||||||
|
|
||||||
**技术实现细节**:
|
|
||||||
- **向量化模型**: `shibing624/text2vec-base-chinese` 中文嵌入模型
|
|
||||||
- **文本分割**: RecursiveCharacterTextSplitter,chunk_size=1000,overlap=200
|
|
||||||
- **缓存策略**: 文章内容哈希签名 + 向量存储序列化缓存
|
|
||||||
- **HTML处理**: BeautifulSoup清理HTML标签,提取纯文本内容
|
|
||||||
|
|
||||||
### 4.2 数据模型扩展
|
|
||||||
|
|
||||||
### 4.3 后端API设计
|
### 4.3 后端API设计
|
||||||
|
|
||||||
#### 4.3.1 AI聊天API
|
#### 4.3.1 AI聊天API
|
||||||
@ -126,73 +105,6 @@ class AIChatView(BaseView):
|
|||||||
'messages': [self._serialize_message(m) for m in messages]
|
'messages': [self._serialize_message(m) for m in messages]
|
||||||
})
|
})
|
||||||
|
|
||||||
#### 4.3.2 RAG服务API ✅ **已实现**
|
|
||||||
```python
|
|
||||||
# api/products/rag_service.py
|
|
||||||
|
|
||||||
class CachedLangChainRAG:
|
|
||||||
"""基于缓存的实时LangChain RAG服务"""
|
|
||||||
|
|
||||||
def search(self, query: str, max_results: int = 3, tenant_id: int = None) -> List[Dict[str, Any]]:
|
|
||||||
"""带缓存的搜索"""
|
|
||||||
# 多层缓存策略
|
|
||||||
# 1. 搜索结果缓存(1天)
|
|
||||||
# 2. 向量存储缓存(30天)
|
|
||||||
# 3. 文章列表缓存(30天)
|
|
||||||
|
|
||||||
def get_enhanced_context(self, query: str, max_results: int = 3, tenant_id: int = None) -> str:
|
|
||||||
"""获取增强的上下文信息"""
|
|
||||||
# 构建结构化的上下文信息
|
|
||||||
# 包含标题、相关度评分、内容摘要
|
|
||||||
```
|
|
||||||
|
|
||||||
## 5. RAG系统架构详解 ✅ **已实现**
|
|
||||||
|
|
||||||
### 5.1 核心组件
|
|
||||||
|
|
||||||
#### 5.1.1 文本处理管道
|
|
||||||
- **HTML清理**: BeautifulSoup解析,移除script、style等标签
|
|
||||||
- **文本分割**: 智能分块,保持语义完整性
|
|
||||||
- **元数据管理**: 文章ID、标题、租户ID、分块索引等
|
|
||||||
|
|
||||||
#### 5.1.2 向量化系统
|
|
||||||
- **嵌入模型**: 中文优化的text2vec-base-chinese
|
|
||||||
- **向量存储**: FAISS高性能相似度搜索
|
|
||||||
- **分块策略**: 1000字符分块,200字符重叠
|
|
||||||
|
|
||||||
#### 5.1.3 缓存优化系统
|
|
||||||
- **三级缓存架构**:
|
|
||||||
1. 搜索结果缓存(1天过期)
|
|
||||||
2. 向量存储缓存(30天过期)
|
|
||||||
3. 文章列表缓存(30天过期)
|
|
||||||
- **智能失效**: 基于内容哈希的缓存失效策略
|
|
||||||
- **性能监控**: 详细的耗时统计和性能分析
|
|
||||||
|
|
||||||
### 5.2 工作流程
|
|
||||||
|
|
||||||
```
|
|
||||||
用户查询 → 缓存检查 → 向量搜索 → 结果排序 → 上下文构建 → 返回增强信息
|
|
||||||
↓ ↓ ↓ ↓ ↓
|
|
||||||
查询哈希 多层缓存 相似度计算 评分排序 结构化输出
|
|
||||||
```
|
|
||||||
|
|
||||||
### 5.3 性能特性
|
|
||||||
- **响应时间**: 缓存命中时 < 10ms,首次查询 < 2s
|
|
||||||
- **并发支持**: 基于Django缓存的并发安全
|
|
||||||
- **内存优化**: 向量存储序列化缓存,避免重复计算
|
|
||||||
- **扩展性**: 支持多租户隔离,租户级缓存策略
|
|
||||||
|
|
||||||
## 7. 安全考虑
|
|
||||||
|
|
||||||
### 7.1 数据安全
|
|
||||||
- API密钥加密存储
|
|
||||||
- 用户隐私保护
|
|
||||||
- 内容审核机制
|
|
||||||
- 访问权限控制
|
|
||||||
|
|
||||||
### 7.2 系统安全
|
|
||||||
- 请求频率限制
|
|
||||||
- 异常监控告警
|
|
||||||
|
|
||||||
## 9. 项目计划
|
## 9. 项目计划
|
||||||
|
|
||||||
@ -218,12 +130,6 @@ class CachedLangChainRAG:
|
|||||||
- 性能优化
|
- 性能优化
|
||||||
- 生产环境部署
|
- 生产环境部署
|
||||||
|
|
||||||
### 9.2 里程碑
|
|
||||||
- Week 1: 完成核心架构和基础AI聊天功能 ✅ **已完成**
|
|
||||||
- Week 2: 完成知识库检索工具和RAG系统基础功能 ✅ **已完成**
|
|
||||||
- Week 3: 完成小程序AI聊天集成和内容管理
|
|
||||||
- Week 4: 完成测试、优化和上线
|
|
||||||
|
|
||||||
### 11.2 开发周期
|
### 11.2 开发周期
|
||||||
- **总周期**: 4周(压缩版)
|
- **总周期**: 4周(压缩版)
|
||||||
- **核心功能**: AI聊天、RAG知识检索、工具调用、小程序集成、基础内容管理
|
- **核心功能**: AI聊天、RAG知识检索、工具调用、小程序集成、基础内容管理
|
||||||
@ -256,26 +162,6 @@ class CachedLangChainRAG:
|
|||||||
- **新增**: 高性能缓存和向量检索
|
- **新增**: 高性能缓存和向量检索
|
||||||
- **新增**: 多租户知识库隔离
|
- **新增**: 多租户知识库隔离
|
||||||
|
|
||||||
## 12. RAG系统技术规格 ✅ **已实现**
|
|
||||||
|
|
||||||
### 12.1 性能指标
|
|
||||||
- **响应时间**: 缓存命中 < 10ms,首次查询 < 2s
|
|
||||||
- **并发能力**: 支持多租户并发访问
|
|
||||||
- **缓存效率**: 向量存储缓存命中率 > 90%
|
|
||||||
- **存储优化**: 支持大规模知识库(10万+文档)
|
|
||||||
|
|
||||||
### 12.2 技术特性
|
|
||||||
- **中文优化**: 专门针对中文内容优化的嵌入模型
|
|
||||||
- **智能分块**: 保持语义完整性的文本分割策略
|
|
||||||
- **多层缓存**: 搜索结果、向量存储、文章列表三级缓存
|
|
||||||
- **租户隔离**: 完整的多租户知识库隔离机制
|
|
||||||
|
|
||||||
### 12.3 扩展能力
|
|
||||||
- **模型切换**: 支持更换不同的嵌入模型
|
|
||||||
- **存储后端**: 可扩展支持其他向量数据库
|
|
||||||
- **缓存策略**: 可配置的缓存过期时间和策略
|
|
||||||
- **监控告警**: 内置性能监控和异常告警
|
|
||||||
|
|
||||||
TODO:
|
TODO:
|
||||||
- context length management
|
- context length management
|
||||||
- 小程序AI聊天界面集成
|
- 小程序AI聊天界面集成
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user