# 品牌知识库(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. **检索质量评估**:自动评估检索结果的相关性