跳到主要内容

📚 Knowledge 知识库

赋予您的 AI 访问文档的能力,并让它找出重要的内容。

知识库(Knowledge)是您存储文件和集合(collections)的场所,您的 AI 可以对它们进行检索、读取和推理。上传 PDF、电子表格、代码或任何基于文本的文档。围绕项目、团队或主题构建专属的知识库集合。当模型需要寻求答案时,它将从您的知识库中抽取内容,而不是凭空猜测。

Notes(将完整文本注入到每条消息中)不同,知识库(Knowledge)采用检索增强生成(RAG)技术,按需检索并注入相关的文本块。这对于大型文档集来说是绝对正确的选择,因为在这些场景下,注入全部内容将直接撑爆上下文窗口。


为什么选择 Knowledge?

您的文档变得可被 AI 搜索

上传包含合同、技术规范或研究论文的文件夹。AI 可以基于语义进行搜索,而不仅仅是匹配关键词,并且能准确引用它找到答案的来源。

针对不同需求的两种检索模式

选择 Focused Retrieval(专注检索,即 RAG)以让 AI 高效检索大型文档集,或选择 Full Context(完整上下文模式)在精确性至关重要时逐字逐句地注入整篇文档。

基于原生函数调用的自主探索

在启用了 原生函数调用 的情况下,模型不仅仅是进行简单的搜索。它们可以自主浏览您的知识库、逐页阅读文件,并在不需要手动编写提示词(prompting)的情况下跨多个文档进行综合整理。

作用域限制让一切井然有序

将特定的知识库绑定到特定的模型,使其只检索与其相关的内容。或者,保持未绑定状态,让模型发现当前用户有权访问的所有知识库。


核心功能

📄 支持 9 种向量数据库ChromaDB 与 PGVector(官方维护),以及社区选项:Qdrant、Milvus、OpenSearch、Elasticsearch 等
🔍 混合检索BM25 关键词搜索 + 向量搜索,配合交叉编码器重排(reranking)以保证准确度
📑 支持 5 种文档提取引擎Tika、Docling、Azure、Mistral OCR 及自定义加载器
🤖 智能代理式检索模型自主浏览、检索并读取您的文档
📄 完整上下文模式无需文本分块即可注入完整文档
📦 导出与 API 支持将知识库备份为 zip 压缩包,并通过 REST API 进行管理

检索模式

在将文件或知识库附加到模型时,点击附加的项即可在不同的模式之间进行切换:

🔍 专注检索(默认)

使用 RAG 基于用户的查询查找并注入最相关的文本块。当启用了混合检索(ENABLE_RAG_HYBRID_SEARCH)时,检索会结合 BM25 关键词搜索与向量搜索,同时配合重排(reranking)以确保精确度。

最适用于只有特定章节与问题相关的超大型文档集。

📄 完整上下文 (Full Context)

将文件的完整内容注入到每条消息中。不进行文本分块,也不进行语义检索。无论原生函数调用如何设置,该内容都会被强制注入,因此模型无需调用任何工具即可直接访问。

最适用于短小的参考文档、风格指南,或者始终与当前对话密切相关的上下文内容。


智能代理式知识工具

在启用了 原生函数调用 的情况下,模型可以通过内置工具与您的知识库进行交互。具体显示哪些工具取决于模型是否绑定了特定的知识库:

工具 (Tool)已绑定知识库未绑定知识库描述
list_knowledge列出绑定到该模型的所有知识库、文件和笔记
list_knowledge_bases浏览可用的知识库及其包含的文件数
search_knowledge_bases按名称或描述查找知识库
query_knowledge_bases按语义相似度检索知识库名称/描述
search_knowledge_files✅(作用域限制)✅(所有)按文件名检索文件
query_knowledge_files✅(作用域限制)使用 RAG 管道搜索文件内容
view_file分页读取文件内容(默认 10K 字符,上限 100K)
view_knowledge_file从任何可访问的知识库中读取文件内容
view_note读取已附加的笔记

最核心的区别:list_knowledgelist_knowledge_bases 是互斥的。绑定知识库会限制模型仅能访问这些特定的文档。而不绑定则允许模型自行发现当前用户有权访问的所有知识库。

自主探索在使用前沿模型(frontier models)时效果最佳,因为它们能够智能地将搜索、浏览和综合分析串联起来。较小的模型在处理多步骤检索时可能会感到吃力。管理员可以在 Workspace > Models > Edit > Builtin Tools 中按模型禁用 Knowledge Base 工具类别。

有关内置智能代理工具的完整列表,请参阅 原生/智能代理模式工具指南

在原生函数调用模式下,知识库内容不会被自动注入

当启用了原生函数调用时,绑定的知识库内容不会被自动注入。模型必须显式调用知识工具来进行检索和提取。如果您的模型没有使用绑定的知识库:

  1. 添加系统提示词指令,指示模型使用 list_knowledgequery_knowledge_files
  2. 为该模型禁用原生函数调用,以恢复自动 RAG 注入行为。
  3. 将附件的模式切换到 Full Context 模式,以此完全绕过 RAG 流程。

设置知识库

  1. 点击侧边栏中的 Workspace(工作区),然后选择 Knowledge
  2. 点击 + New Knowledge,并输入名称和描述。
  3. 上传文件或添加现有的文档。
  4. Workspace > Models > Edit 中将该知识库绑定到某个模型,或在聊天中直接使用 # 引用它。

导出

管理员可以通过项菜单(三个点)> Export(导出)将整个知识库导出为 zip 压缩包。文件会被转换为 .txt 格式以确保极佳的通用兼容性。普通用户将不会看到导出选项。

API 访问

可以通过程序化 API 管理知识库:

  • POST /api/v1/files/ - 上传文件
  • GET /api/v1/files/{id}/process/status - 检查文件处理状态
  • POST /api/v1/knowledge/{id}/file/add - 将文件添加到特定的知识库中

文件的解析和处理是异步进行的。在将文件添加到知识库之前,您必须轮询状态接口,直到处理状态变更为完成,否则您将收到 “empty content”(空内容)错误。有关工作流的示例,请参阅 API Endpoints 文档


使用场景

项目文档库

将您团队的技术规范、架构设计文档和 Runbook 上传到知识库中。将其绑定到一个“项目助手”模型上。这样,AI 将基于您实际的专属文档来解答问题,而不是依赖通用的训练数据。

导入合同、公司政策和合规性监管文件。让 AI 帮您寻找特定的条款、跨协议对比条款,或者标记出不一致的地方。

研究文献综合分析

将数十篇研究论文导入同一个知识库中。AI 将跨所有论文进行检索,以解答复杂的学术疑问、寻找事实论据支撑,或识别出不同研究结论之间的矛盾点。


局限性

完整上下文模式下的上下文窗口

“使用整篇文档”会注入全部文本内容。将大型文档附加到上下文窗口较小的模型上,会严重挤占和吞噬对话历史记录空间。

API 上传的处理延迟

通过 API 上传的文件是异步解析处理的。在文件解析完成前尝试调用该文件,会直接静默失败或返回空结果。

原生函数调用改变了行为模式

启用原生函数调用会彻底改变知识库的工作方式。如果您的知识库突然停止返回结果,请检查是否在全局模型默认值中设置了 function_calling: native。详情请参阅 知识库排查指南

This content is for informational purposes only and does not constitute a warranty, guarantee, or contractual commitment. Open WebUI is provided "as is." See your license for applicable terms.