Skip to main content

🔎 检索增强生成 (RAG)

warning

如果您使用的是 Ollama,请注意它默认为 2048 个令牌的上下文长度。这意味着检索到的数据可能根本不会被使用,因为它不适合可用的上下文窗口。为了改善检索增强生成 (RAG) 性能,您应该在 Ollama 模型设置中将上下文长度增加到 8192+ 个令牌。

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

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

本地和远程 RAG 集成​

本地文档必须首先通过工作空间区域的文档部分上传,然后才能在查询前使用 # 符号访问它们。点击聊天框上方出现的格式化 URL。一旦选择,发送消息 上方会出现一个文档图标,表示成功检索。

您还可以通过以 # 开头的提示,后跟 URL,将文档加载到工作空间区域。这可以帮助将网络内容直接融入到您的对话中。

RAG 的网络搜索​

对于网络内容集成,在聊天中以 # 开始查询,后跟目标 URL。点击聊天框上方出现的格式化 URL。一旦选择,发送消息 上方会出现一个文档图标,表示成功检索。如果可能,Open WebUI 会获取并解析来自 URL 的信息。

tip

网页通常包含导航和页脚等无关信息。为了获得更好的结果,请链接到页面的原始或阅读器友好版本。

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. 之后,确保在 管理面板 < 设置 < 文档 < Google Drive 下启用了 Google Drive。