跳到主要内容

🔎 检索增强生成 (RAG)

警告

如果您正在使用 Ollama,请注意其默认上下文长度为 2048 个 token。这意味着检索到的数据可能根本不会被使用,因为它不适合可用的上下文窗口。为提高检索增强生成 (RAG) 性能,您应在 Ollama 模型设置中将上下文长度增加8192 个或更多 token

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

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

本地和远程 RAG 集成

本地文档必须首先通过工作区区域的“文档”部分上传,才能在查询前使用 # 符号访问它们。单击聊天框上方显示的格式化 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 管道

专门用于通过视频 URL 总结 YouTube 视频的 RAG 管道,可以直接与视频转录进行流畅交互。这项创新功能让您能够将视频内容融入到聊天中,进一步丰富您的对话体验。

文档解析

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

Google 云端硬盘集成

当与启用了 Google Picker API 和 Google Drive API 的 Google Cloud 项目配对时,此功能允许用户直接从聊天界面访问其云端硬盘文件,并上传文档、幻灯片、表格等,并将其作为上下文上传到您的聊天中。可在 管理面板 > 设置 > 文档 菜单中启用。必须设置 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 云端硬盘电子邮件添加到“用户列表”中。
  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. 之后,请确保在 管理面板 < 设置 < 文档 < Google 云端硬盘 下启用了 Google 云端硬盘。