🔎 检索增强生成 (RAG)
如果您使用的是 Ollama,请注意它默认为 2048 个令牌的上下文长度。这意味着检索到的数据可能根本不会被使用,因为它不适合可用的上下文窗口。为了改善检索增强生成 (RAG) 性 能,您应该在 Ollama 模型设置中将上下文长度增加到 8192+ 个令牌。
检索增强生成 (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 管道
专用的 RAG 管道通过视频 URL 总结 YouTube 视频,可以直接与视频转录进行流畅交互。这一创新功能允许您将视频内容融入到聊天中,进一步丰富您的对话体验。
文档解析
各种解析器从本地和远程文档中提取内容。有关更多信息,请参阅 get_loader
函数。
Google Drive 集成
当与启用了 Google Picker API 和 Google Drive API 的 Google Cloud 项目配对时,此功能允许用户直接从聊天界面访问他们的 Drive 文件并上传文档、幻灯片、表格等,并将它们作为上下文上传到您的聊天中。可以在 管理面板
> 设置
> 文档
菜单中启用。必须设置 GOOGLE_DRIVE_API_KEY 和 GOOGLE_DRIVE_CLIENT_ID
环境变量才能使用。
详细说明
- 创建一个 OAuth 2.0 客户端,并将授权 JavaScript 来源和授权重定向 URI 都配置为您用于访问 Open-WebUI 实例的 URL(如果有端口请包含端口)。
- 记下与该 OAuth 客户端关联的客户端 ID。
- 确保为您的项目启用 Google Drive API 和 Google Picker API。
- 还要将您的应用(项目)设置为测试状态,并将您的 Google Drive 电子邮件添加到用户列表中。
- 设置权限范围以包含这些 API 提供的所有内容。由于应用处于测试模式,Google 不需要验证即可允许应用访问有限测试用户的数据。
- 转到 Google Picker API 页面,然后单击创建凭据按钮。
- 创建一个 API 密钥,在应用程序限制下选择网站。然后添加您的 Open-WebUI 实例的 URL,与步骤 1 中的授权 JavaScript 来源和授权重定向 URI 设置相同。
- 在 API 密钥上设置 API 限制,仅允许访问 Google Drive API 和 Google Picker API。
- 将环境变量
GOOGLE_DRIVE_CLIENT_ID
设置为步骤 2 中 OAuth 客户端的客户端 ID。 - 将环境变量
GOOGLE_DRIVE_API_KEY
设置为步骤 7 中设置的 API 密钥值(不是步骤 2 中的 OAuth 客户端密钥)。 - 将
GOOGLE_REDIRECT_URI
设置为您的 Open-WebUI 实例的 URL(如果有端口请包含端口)。 - 然后使用这三个环境变量重新启动您的 Open-WebUI 实例。
- 之后,确保在
管理面板
<设置
<文档
<Google Drive
下启用了 Google Drive。