跳到主要内容

🔎 检索增强生成 (RAG)

注意

如果您正在使用 Ollama,请注意它的默认上下文长度为2048个标记。这意味着检索到的数据可能完全无法使用,因为它不符合可用的上下文窗口。为了提高检索增强生成 (RAG) 的性能,您应该在 Ollama 模型设置中将上下文长度增加到 8192+ 个标记

检索增强生成 (RAG) 是一种尖端技术,通过结合来自多种来源的上下文来增强聊天机器人的对话能力。它通过从本地和远程文档、网页内容,甚至是像 YouTube 视频这样的多媒体来源中检索相关信息来工作。检索到的文本会与预定义的 RAG 模板结合,并被前置到用户的提示中,从而提供更具信息性和上下文相关的响应。

RAG 的一个主要优势是能够访问和整合来自多种来源的信息,使其成为复杂对话场景的理想解决方案。例如,当用户提出与特定文档或网页内容相关的问题时,RAG 可以从该来源检索相关信息并将其整合到聊天响应中。RAG 还可以从多媒体来源(如 YouTube 视频)中检索和整合信息。通过分析这些视频的转录或字幕,RAG 可以提取出相关信息并将其整合到聊天响应中。

本地和远程 RAG 集成

本地文档必须首先通过工作区区域的 Documents 部分上传,以便在查询时通过 # 符号访问它们。点击聊天框上方出现的格式化 URL。一旦选择,文档图标将出现在 发送消息 上方,表示检索成功。

您还可以通过以 # 开头并跟随一个 URL 的方式加载文档到工作区区域。这可以帮助将网页内容直接整合到您的对话中。

RAG 的网页搜索

对于网页内容的整合,在聊天中以 # 开头,后跟目标 URL 发起查询。点击聊天框上方出现的格式化 URL。一旦选择,文档图标将出现在 发送消息 上方,表示检索成功。Open WebUI 会从 URL 中抓取并解析信息(如果可能)。

提示

网页通常包含诸如导航和页脚等冗余信息。为了获得更好的结果,请链接到页面的原始或易读版本。

RAG 模板定制

可以通过 管理面板 > 设置 > 文档 菜单来自定义 RAG 模板。

RAG 嵌入支持

可以直接在 管理面板 > 设置 > 文档 菜单中更改 RAG 嵌入模型。此功能支持 Ollama 和 OpenAI 模型,使您能够根据需求增强文档处理能力。

RAG 功能中的引用

RAG 功能允许用户通过添加的引用点轻松跟踪传递给大型语言模型 (LLM) 的文档上下文。这确保了在聊天中使用外部来源的透明性和责任性。

增强的 RAG 管道

我们的 RAG 嵌入功能的可切换混合搜索子功能通过 BM25 增强 RAG 功能,并由 CrossEncoder 提供重新排序功能,同时具有可配置的相关性分数阈值。这为您的特定用例提供了更加精确和定制的 RAG 体验。

YouTube RAG 管道

专用的 RAG 管道支持通过视频 URL 总结 YouTube 视频,实现与视频转录内容的直接交互。这一创新功能允许您将视频内容整合到对话中,进一步丰富您的聊天体验。

文档解析

多种解析器可从本地和远程文档中提取内容。有关更多信息,请参阅 get_loader 函数。

Google Drive 集成

当与启用了 Google Picker API 和 Google Drive API 的 Google Cloud 项目配对时,此功能允许用户直接从聊天界面访问他们的 Drive 文件,并上传文档、幻灯片、表格等内容作为聊天的上下文。可以通过 管理面板 > 设置 > 文档 菜单启用。必须设置 GOOGLE_DRIVE_API_KEY 和 GOOGLE_DRIVE_CLIENT_ID 环境变量以使用此功能。

详细说明

  1. 创建一个 OAuth 2.0 客户端,并将授权的 JavaScript 来源和授权的重定向 URI 配置为您用于访问 Open-WebUI 实例的 URL(包括端口,如果有)。
  2. 记录与该OAuth客户端相关的客户端ID。
  3. 确保为您的项目同时启用了Google Drive API和Google Picker API。
  4. 还需要将您的应用(项目)设置为测试模式,并将您的Google Drive邮箱添加至用户列表。
  5. 设置权限范围以包含这些API提供的所有功能。由于应用处于测试模式,Google不需要验证即可允许应用访问有限测试用户的数据。
  6. 转到Google Picker API页面,然后点击创建凭据按钮。
  7. 创建API密钥,并在“应用限制”下选择“网站”。然后添加您的 Open-WebUI 实例的 URL,与步骤1中的授权JavaScript来源和授权重定向URI设置相同。
  8. 在API密钥上设置API限制,仅允许访问Google Drive API和Google Picker API。
  9. 设置环境变量GOOGLE_DRIVE_CLIENT_ID为步骤2中的OAuth客户端的客户端ID。
  10. 设置环境变量GOOGLE_DRIVE_API_KEY为步骤7中设置的API密钥值(不是步骤2中的OAuth客户端密钥)。
  11. GOOGLE_REDIRECT_URI设置为我的Open-WebUI实例的URL(如有端口,请包含端口)。
  12. 然后用这三个环境变量重新启动您的Open-WebUI实例。
  13. 之后,请确保已在Admin Panel < Settings < Documents < Google Drive下启用Google Drive。