跳到主要内容

🔎 检索增强生成 (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 模板定制

通过 Admin Panel > Settings > Documents 菜单定制 RAG 模板。

RAG 嵌入支持

直接在 Admin Panel > Settings > Documents 菜单中更改 RAG 嵌入模型。此功能支持 Ollama 和 OpenAI 模型,使您能够根据需求增强文档处理。

RAG 功能中的引用

RAG 功能允许用户轻松跟踪输入到 LLMs 的文档上下文,并添加引用点。这确保了在聊天中使用外部来源的透明度和可追溯性。

增强的 RAG 管道

我们 RAG 嵌入功能的可切换混合搜索子功能通过 BM25 增强了 RAG 功能,并通过 CrossEncoder 进行重排序,以及可配置的相关性得分阈值。这为您的特定用例提供了更精确和定制化的 RAG 体验。

YouTube RAG 管道

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

文档解析

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

Google 云端硬盘集成

当与启用了 Google Picker API 和 Google Drive API 的 Google Cloud 项目配对时,此功能允许用户直接从聊天界面访问其云端硬盘文件,并上传文档、演示文稿、电子表格等,并将其作为上下文上传到您的聊天中。可以在 Admin Panel > Settings > Documents 菜单中启用。必须设置 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. 之后,确保在 Admin Panel < Settings < Documents < Google Drive 下启用了 Google 云端硬盘。