原文链接
https://novusai-saas.github.io/en/en/docs/api-reference/tenant-api/knowledge-base-management-api.md知识库管 理API
目录
简介
本文件为知识库管理API的详细技术文档,涵盖知识库的创建、配置、文档上传、检索查询等核心功能接口,并深入解释向量嵌入、关键词检索、混合检索等RAG相关接口。文档还包含文档解析、分块处理、元数据管理的实际使用示例,以及知识库权限控制、访问统计、性能监控的技术实现,并解释知识库在多租户环境中的隔离和共享机制。
项目结构
知识库管理API主要分布在以下模块中:
- API层:平台端与企业端分别提供独立的路由与权限控制
- RAG引擎:解析、分块、嵌入、检索等核心处理流程
- 数据模型与Schema:定义知识库、文档、分块的数据结构与约束
- 中间件:多租户隔离与权限控制
图表来源
章节来源
核心组件
- 知识库模型:定义知识库基本信息、嵌入配置、分块配置、检索配置及状态管理
- 知识库Schema:定义创建、更新、查询的请求与 响应数据结构
- API控制器:平台端与企业端分别提供CRUD、文档管理、检索测试等接口
- RAG处理链:解析、分块、嵌入、检索的完整流水线
- 中间件:多租户隔离与权限控制
章节来源
架构概览
知识库管理API采用分层架构,API层负责路由与权限控制,RAG引擎负责文档处理,数据层负责持久化与约束,中间件负责多租户隔离。
图表来源
详细组件分析
知识库模型与Schema
- 知识库模型包含嵌入模型、视觉/音频/视频模型、分块策略、检索模式、统计指标等字段
- Schema定义了创建、更新、查询的请求与响应结构,包含字段长度、取值范围、默认值等约束
- 平台端Schema支持scope与企业分配,企业端Schema仅支持本企业范围
图表来源
章节来源
平台端知识库API
- 提供全企业知识库查询、统计监控、文档管理、检索测试等接口
- 支持scope为global/shared/admin的多级可见性与分配机制
- 提供回收站、进度查询、重试失败文档等功能
图表来源
章节来源
企业端知识库API
- 提供企业内知识库CRUD、文档上传/管理、检索测试、重新向量化等接口
- 严格的企业所有权验证,确保只对企业自有知识库进行变更操作
- 支持Redis实时进度查询、断点续传、批量QA导入等高级功能
图表来源
章节来源
RAG处理链:解析、分块、嵌入
- 解析器支持PDF、DOCX、TXT、Markdown、CSV、XLSX、HTML、URL、PPTX、图片、音频、视频等11种格式
- 分块器支持递归、句子、语义、段落四种策略,具备重叠与结构感知能力
- 嵌入服务通过AI网关调用外部模型,支持单条与批量生成
图表来源
章节来源
多租户隔离与权限控制
- 知识库模型通过scope与owner_tenant_id表达投放范围
- 企业端API严格验证知识库所有权,防止跨企业变更
- 平台端API支持scope为global/shared/admin的分配机制
- 中间件确保请求在正确的企业上下文中执行
图表来源
章节来源
依赖分析
- API层依赖服务层与Schema,服务层依赖模型与RAG引擎
- RAG引擎内部模块解耦,通过统一接口交互
- 数 据层通过SQLAlchemy ORM与数据库交互
图表来源
章节来源
性能考虑
- 批量嵌入:嵌入服务默认批量大小为100,减少API调用次数
- 分块策略:递归分块器优先使用语义分隔符,避免硬切导致的语义断裂
- 缓存失效:重新向量化后清除检索缓存,保证查询一致性
- 进度查询:使用Redis存储实时进度,降低数据库压力
故障排除指南
- 文件类型不支持:检查文件扩展名与MIME类型,确认解析器支持
- 文档重复:根据file_hash去重,避免重复上传
- 权限不足:企业端API对非自有知识库的操作会被拒绝
- 处理失败:通过重试接口恢复,保留error_stage用于断点续传
章节来源
结论
知识库管理API提供了完整的RAG工作流,从文档解析、分块、嵌入到检索查询,覆盖了企业知识库管理的核心需求。通过多租户隔离与权限控制,确保了不同企业间的资源安全。平台端与企业端API分别满足全局监控与企业自治的需求,配合丰富的配置选项与性能优化,能够适应多样化的应用场景。
附录
- 支持的文件格式:PDF、DOCX、TXT、Markdown、CSV、XLSX、HTML、URL、PPTX、图片(JPG/PNG/WebP/GIF)、音频、视频
- 分块策略:递归、句子、语义、段落
- 检索模式:向量检索、关键词检索、混合检索
- 配置参数:嵌入维度、分块大小、重叠、top_k、阈值等