open-webui-自托管AI平台-开源项目


这个仓库 open-webui 是一个开源的项目,提供了一个可扩展、功能丰富且用户友好的自托管 AI 平台。以下是对该仓库的详细介绍:

项目概述

Open WebUI 是一个设计为完全离线运行的自托管 AI 平台,支持多种大型语言模型(LLM)运行器,如 Ollama 和 OpenAI 兼容的 API,还内置了用于检索增强生成(RAG)的推理引擎,是一个强大的 AI 部署解决方案。

主要特性

  1. 轻松设置:可以使用 Docker 或 Kubernetes(kubectl、kustomize 或 helm)无缝安装,支持 :ollama:cuda 标记的镜像。
  2. Ollama/OpenAI API 集成:能够轻松集成 OpenAI 兼容的 API,实现与 Ollama 模型的多功能对话。可以自定义 OpenAI API URL,连接到 LMStudio、GroqCloud、Mistral、OpenRouter 等。
  3. 精细权限和用户组:管理员可以创建详细的用户角色和权限,确保安全的用户环境,同时提供定制化的用户体验。
  4. 响应式设计:在桌面 PC、笔记本电脑和移动设备上都能提供无缝的使用体验。
  5. 移动渐进式 Web 应用(PWA):在移动设备上提供类似原生应用的体验,支持在本地主机上离线访问和无缝的用户界面。
  6. 完整的 Markdown 和 LaTeX 支持:提供全面的 Markdown 和 LaTeX 功能,提升与大语言模型的交互体验。
  7. 免提语音/视频通话:集成了免提语音和视频通话功能,实现更动态和交互式的聊天环境。
  8. 模型构建器:通过 Web UI 轻松创建 Ollama 模型,创建和添加自定义角色/代理,自定义聊天元素,并通过 Open WebUI Community 集成轻松导入模型。
  9. 原生 Python 函数调用工具:在工具工作区中提供内置的代码编辑器支持,通过添加纯 Python 函数实现与大语言模型的无缝集成。
  10. 本地 RAG 集成:支持检索增强生成(RAG),可以将文档交互无缝集成到聊天体验中,直接在聊天中加载文档或添加文件到文档库,并使用 # 命令访问。
  11. RAG 网络搜索:使用 SearXNGGoogle PSEBrave Search 等多种搜索引擎进行网络搜索,并将结果直接注入聊天体验。
  12. 网页浏览功能:使用 # 命令后跟 URL 可以将网站无缝集成到聊天体验中,丰富对话内容。
  13. 图像生成集成:支持使用 AUTOMATIC1111 API、ComfyUI(本地)和 OpenAI 的 DALL - E(外部)等选项进行图像生成,为聊天体验增添动态视觉内容。
  14. 多模型对话:可以同时与多种模型进行交互,利用它们的独特优势获得最佳响应。
  15. 基于角色的访问控制(RBAC):确保安全访问,只有授权人员可以访问 Ollama,并且只有管理员具有创建/拉取模型的专属权限。
  16. 多语言支持:通过国际化(i18n)支持,用户可以使用自己喜欢的语言使用 Open WebUI,并且项目正在积极寻求贡献者以扩展支持的语言。
  17. 管道和插件支持:使用 Pipelines Plugin Framework 可以将自定义逻辑和 Python 库无缝集成到 Open WebUI 中,例如函数调用、用户速率限制、使用监控、实时翻译和有毒消息过滤等。
  18. 持续更新:项目团队致力于定期更新、修复问题和添加新功能,不断改进 Open WebUI。

项目结构

仓库包含多个目录和文件,以下是一些主要的目录和文件及其作用: - backend:后端相关文件,包括数据库和文档等文件的 Docker 目录。 - cypress:可能包含用于测试的 Cypress 配置和测试脚本。 - .github:包含 GitHub 相关的配置文件,如工作流、问题模板等。 - package-lock.json:记录项目依赖的精确版本信息,确保在不同环境中安装相同版本的依赖。 - README.md:项目的介绍文档,包含项目概述、特性、安装说明等信息。

依赖信息

package-lock.json 文件中可以看出,项目依赖了许多第三方库,例如 estree-walkercodemirrord3-delaunay 等,这些库为项目提供了各种功能支持。

赞助信息

项目有一些赞助商,如 n8n、Warp 和 Tailscale,这些赞助商为项目的发展提供了支持。

文档和社区

项目提供了详细的文档,可访问 Open WebUI Documentation 了解更多信息。同时,项目还提供了 Discord 社区,方便用户交流和获取帮助。

如果你对该项目感兴趣,可以参考项目的 README 文件和文档进行安装和使用。

Github