Files
ChouJuGEO/docs/features/KNOWLEDGE_BASE_FEATURE.md
2026-04-30 18:37:46 +08:00

148 lines
3.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 品牌知识库(RAG)功能说明
## 功能概述
品牌知识库是 GEO 工具的核心模块之一,基于 RAG(检索增强生成)技术,让用户能够上传品牌文档、产品手册、案例库等内容,在 AI 生成内容时自动检索并引用相关信息,确保生成内容的真实性和专业性。
## 核心价值
| 问题 | 解决方案 |
|------|----------|
| 品牌信息靠用户手动输入 | 自动从知识库检索相关内容 |
| 生成内容缺乏真实来源 | 引用真实的品牌文档和案例 |
| 批量内容同质化严重 | 基于不同文档片段生成差异化内容 |
## 功能特性
### 1. 多类型文档支持
| 文档类型 | 说明 | 分块策略 |
|---------|------|----------|
| 📝 通用文本 | 品牌介绍、行业分析等 | 按段落长度分块 |
| ❓ FAQ 问答 | 常见问题解答 | 按 Q&A 对分块 |
| 📦 产品文档 | 功能说明、技术架构 | 按章节标题分块 |
| 💼 客户案例 | 成功案例、客户证言 | 按段落长度分块 |
| 📑 Markdown 文档 | 技术文档、README | 按章节标题分块 |
### 2. 智能分块算法
```python
# FAQ 文档:按 Q&A 对分块
Q你们的产品有什么优势
A我们的产品具有以下核心优势...
# 产品文档:按章节分块
# 核心功能
功能说明内容...
# 通用文档:按长度分块(500字符/块,50字符重叠)
```
### 3. 关键词检索
- 基于关键词匹配的检索算法
- 支持文档类型过滤
- 返回相关度评分
### 4. 内容生成集成
生成内容时自动检索知识库,将相关片段注入 LLM 上下文:
```
用户选择关键词 + 平台
知识库检索相关文档片段
将检索结果注入 Prompt 上下文
LLM 基于真实信息生成内容
```
## 使用方式
### 1. 访问知识库
在应用中点击 **📚 品牌知识库** Tab。
### 2. 上传文档
**方式一:上传文件**
- 支持 TXT、Markdown、CSV 格式
- 选择文档类型
- 点击"导入知识库"
**方式二:粘贴文本**
- 输入文档名称
- 粘贴文档内容
- 选择文档类型
- 点击"导入知识库"
### 3. 搜索测试
在"搜索测试"区域输入查询,验证文档是否被正确索引和检索。
### 4. 来源验证
在"来源验证"区域粘贴 AI 生成的内容,检查其中的来源引用是否真实可信。
## 技术实现
### 核心模块
| 文件 | 说明 |
|------|------|
| `modules/knowledge_base.py` | 知识库核心模块 |
| `modules/ui/tab_knowledge.py` | 知识库管理 UI |
### 数据存储
知识库数据存储在 `knowledge_base/` 目录:
```
knowledge_base/
├── documents.json # 文档元数据
└── chunks.json # 文档分块数据
```
### API 接口
```python
from modules.knowledge_base import KnowledgeBase
# 初始化
kb = KnowledgeBase(storage_path="knowledge_base")
# 添加文档
kb.add_document(filename="产品说明.md", content="...", doc_type="product")
# 搜索
results = kb.search(query="产品有什么优势", top_k=5)
# 获取生成上下文
context = kb.get_context_for_generation(query="产品优势", brand="品牌名", platform="知乎")
```
## 最佳实践
### 文档准备建议
1. **FAQ 文档**:使用 `Q` / `A` 格式,每个 Q&A 对独立
2. **产品文档**:使用 Markdown 标题分隔不同功能模块
3. **案例文档**:包含具体的客户名称、使用场景、效果数据
4. **品牌介绍**:包含品牌定位、核心优势、差异化特点
### 文档质量要求
- ✅ 包含真实的品牌信息和数据
- ✅ 使用清晰的结构和标题
- ✅ 定期更新维护
- ❌ 避免过时或错误的信息
- ❌ 避免过于营销化的语言
## 后续优化方向
1. **向量检索**:接入 FAISS/ChromaDB,支持语义检索
2. **自动更新**:支持从官网/文档自动同步更新
3. **多语言支持**:支持中英文混合检索
4. **检索质量评估**:自动评估检索结果的相关性