Open WebUI 简介
Open WebUI(原名Ollama WebUI)是一个为语言模型(LLMs)设计的友好Web用户界面,支持包括Ollama和OpenAI兼容API在内的多种LLM运行器。项目旨在为用户提供一个直观、响应式、快速且易于安装的聊天界面。
Open WebUI 特性 ⭐
-
• 🖥️ 直观界面:我们的聊天界面灵感来自于 ChatGPT,确保了用户友好的体验。
-
• 📱 响应式设计:在桌面和移动设备上都能享受无缝体验。
-
• ⚡ 快速响应:享受快速且响应迅速的性能。
-
• 🚀 轻松设置:使用 Docker 或 Kubernetes (kubectl, kustomize 或 helm) 无缝安装,享受无忧体验。
-
• 💻 代码语法高亮:通过我们的语法高亮特性享受增强的代码可读性。
-
• ✒️🔢 全面支持 Markdown 和 LaTeX:通过全面的 Markdown 和 LaTeX 功能提升你的 LLM 体验,丰富交互。
-
• 📚 本地 RAG 集成:通过开创性的检索增强生成(RAG)支持,深入未来的聊天交互。这项特性将文档交互无缝集成到你的聊天体验中。你可以直接将文档加载到聊天中,或轻松将文件添加到你的文档库中,使用提示中的
#
命令轻松访问它们。在其 alpha 阶段,可能会出现偶尔的问题,因为我们正在积极改进和增强这项特性,以确保最佳性能和可靠性。 -
• 🌐 网页浏览能力:使用
#
命令后跟 URL 将网站无缝集成到你的聊天体验中。这项特性允许你直接将网页内容纳入你的对话中,增强你的互动的丰富性和深度。 -
• 📜 预设提示支持:使用聊天输入中的
/
命令即时访问预设提示。轻松加载预定义的对话启动器,加速你的互动。通过 Open WebUI 社区[1] 集成轻松导入提示。 -
• 👍👎 RLHF 注释:通过点赞和点踩赋予你的消息力量,便于创建用于人类反馈强化学习(RLHF)的数据集。利用你的消息来训练或微调模型,同时确保本地保存数据的保密性。
-
• 🏷️ 对话标记:轻松分类和定位特定聊天,以便快速参考和简化数据收集。
-
• 📥🗑️ 下载/删除模型:直接从网页 UI 轻松下载或移除模型。
-
• ⬆️ GGUF 文件模型创建:直接从网页 UI 上传 GGUF 文件轻松创建 Ollama 模型。简化的流程,提供从你的机器上传或从 Hugging Face 下载 GGUF 文件的选项。
-
• 🤖 多模型支持:无缝切换不同的聊天模型,进行多样化的互动。
-
• 🔄 多模态支持:无缝与支持多模态互动的模型互动,包括图片(例如,LLava)。
-
• 🧩 模型文件构建器:通过网页 UI 轻松创建 Ollama 模型文件。创建和添加角色/代理,自定义聊天元素,并通过 Open WebUI 社区[2] 集成轻松导入模型文件。
-
• ⚙️ 多模型对话:轻松与多个模型同时互动,利用它们的独特优势获得最佳响应。通过并行利用多样化的模型集增强你的体验。
-
• 💬 协作聊天:通过无缝地组织群聊,利用多个模型的集体智能。使用
@
命令指定模型,在你的聊天界面内启用动态多样的对话。沉浸在编织进你的聊天环境中的集体智能中。 -
• 🔄 再生历史访问:轻松回顾和探索你的整个再生历史。
-
• 📜 聊天历史:轻松访问和管理你的对话历史。
-
• 📤📥 导入/导出聊天历史:无缝地将你的聊天数据移入和移出平台。
-
• 🗣️ 语音输入支持:通过语音交互与你的模型互动;享受直接与模型对话的便利。此外,探索在沉默3秒后自动发送语音输入的选项,以获得流畅的体验。
-
• ⚙️ 高级参数的精细控制:通过调整如温度等参数,并定义你的系统提示,将对话定制到你的特定偏好和需求,获得更深层次的控制。
-
• 🎨🤖 图像生成集成:使用 AUTOMATIC1111 API (本地) 和 DALL-E 无缝集成图像生成能力,用动态视觉内容丰富你的聊天体验。
-
• 🤝 OpenAI API 集成:无缝集成 OpenAI 兼容的 API,与 Ollama 模型一起进行多功能对话。自定义 API 基础 URL 以链接 LMStudio, Mistral, OpenRouter 等。
-
• ✨ 多个 OpenAI 兼容 API 支持:无缝集成和定制各种 OpenAI 兼容的 API,增强你的聊天互动的多功能性。
-
• 🔗 外部 Ollama 服务器连接:通过配置环境变量,无缝链接到托管在不同地址的外部 Ollama 服务器。
-
• 🔀 多个 Ollama 实例负载均衡:轻松将聊天请求分布在多个 Ollama 实例上,以提高性能和可靠性。
-
• 👥 多用户管理:通过我们直观的管理面板轻松监督和管理用户,简化用户管理流程。
-
• 🔐 **基于角色的访问控制 (RBAC)**:确保通过限制权限安全访问;只有授权的个人才能访问你的 Ollama,而独家模型创建/拉取权限则保留给管理员。
-
• 🔒 后端反向代理支持:通过 Open WebUI 后端与 Ollama 之间的直接通信加强安全性。这个关键特性消除了在 LAN 上暴露 Ollama 的需要。从网页 UI 发送到 ‘/ollama/api’ 路由的请求将从后端无缝重定向到 Ollama,增强了整个系统的安全性。
-
• 🌟 持续更新:我们致力于通过定期更新和新功能改进 Open WebUI。
安装指南
Open WebUI提供了多种安装方法,包括Docker、Docker Compose、Kustomize和Helm。
但不管你使用那种安装方法,都绕不过从huggingface.co
下载whisper
模型,也行你运行半天,最后卡在这里,报错退出,
RUN python -c "import os; from faster_whisper import WhisperModel; WhisperModel(os.environ['WHISPER_MODEL'], device='cpu', compute_type='int8', download_root=os.environ['WHISPER_MODEL_DIR'])"
这时候就需要这句神奇的命令了,
ENV HF_ENDPOINT "https://hf-mirror.com"
这句话的意思是从https://hf-mirror.com
镜像,而不是https://huggfacing.co
官网下载所需的模型。
如果你想npm
以及 Python包安装环节速度更快些,可以这样做
RUN npm config set registry https://mirrors.huaweicloud.com/repository/npm/
RUN pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
pip
镜像有多个可选,具体哪个速度快,每一个人不同,这里把几个镜像都放这里,你可以根据需要选择
https://pypi.tuna.tsinghua.edu.cn/simple
https://pypi.doubanio.com/simple/
https://mirrors.aliyun.com/pypi/simple/
https://mirrors.ustc.edu.cn/pypi/web/simple
npm
的镜像也有比较多的选择
淘宝 NPM 镜像:https://registry.npm.taobao.org
阿里云 NPM 镜像:https://npm.aliyun.com
腾讯云 NPM 镜像:https://mirrors.cloud.tencent.com/npm/
华为云 NPM 镜像:https://mirrors.huaweicloud.com/repository/npm/
网易 NPM 镜像:https://mirrors.163.com/npm/
中国科学技术大学开源镜像站:http://mirrors.ustc.edu.cn/
清华大学开源镜像站:https://mirrors.tuna.tsinghua.edu.cn/
自行根据需要选择一个快的镜像。
修改后的Dockerfile,
# syntax=docker/dockerfile:1
FROM node:alpine as build
ENV NPM_REGISTRY "https://mirrors.huaweicloud.com/repository/npm/"
WORKDIR /app
# wget embedding model weight from alpine (does not exist from slim-buster)
RUN wget "https://chroma-onnx-models.s3.amazonaws.com/all-MiniLM-L6-v2/onnx.tar.gz" -O - |
tar -xzf - -C /app
RUN npm config set registry ${NPM_REGISTRY}
COPY package.json package-lock.json ./
RUN npm ci
COPY . .
RUN npm run build
FROM python:3.11-slim-bookworm as base
ENV ENV=prod
ENV PORT ""
ENV OLLAMA_API_BASE_URL "/ollama/api"
ENV OPENAI_API_BASE_URL ""
ENV OPENAI_API_KEY ""
ENV WEBUI_SECRET_KEY ""
ENV SCARF_NO_ANALYTICS true
ENV DO_NOT_TRACK true
ENV HF_ENDPOINT "https://hf-mirror.com"
ENV PIP_REPO "https://mirrors.aliyun.com/pypi/simple/"
#Whisper TTS Settings
ENV WHISPER_MODEL="base"
ENV WHISPER_MODEL_DIR="/app/backend/data/cache/whisper/models"
WORKDIR /app/backend
# install python dependencies
COPY ./backend/requirements.txt ./requirements.txt
RUN pip3 config set global.index-url ${PIP_REPO}
RUN pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu --no-cache-dir
RUN pip3 install -r requirements.txt --no-cache-dir
# Install pandoc and netcat
# RUN python -c "import pypandoc; pypandoc.download_pandoc()"
RUN apt-get update
&& apt-get install -y pandoc netcat-openbsd
&& rm -rf /var/lib/apt/lists/*
# RUN python -c "from sentence_transformers import SentenceTransformer; model = SentenceTransformer('all-MiniLM-L6-v2')"
RUN python -c "import os; from faster_whisper import WhisperModel; WhisperModel(os.environ['WHISPER_MODEL'], device='cpu', compute_type='int8', download_root=os.environ['WHISPER_MODEL_DIR'])"
# copy embedding weight from build
RUN mkdir -p /root/.cache/chroma/onnx_models/all-MiniLM-L6-v2
COPY --from=build /app/onnx /root/.cache/chroma/onnx_models/all-MiniLM-L6-v2/onnx
# copy built frontend files
COPY --from=build /app/build /app/build
# copy backend files
COPY ./backend .
CMD [ "bash", "start.sh"]
如果你想进一步提速,就得配置Docker的镜像 以及Debian的镜像了。
手工安装
如果手工安装,根据系统不同, 使用相应的命令来设置环境变量,
-
• Linux/macOS
export HF_ENDPOINT=https://hf-mirror.com
-
• Windows Powershell
$env:HF_ENDPOINT = "https://hf-mirror.com"
-
• Windows CMD
set HF_ENDPOINT="https://hf-mirror.com"
引用链接
[1]
Open WebUI 社区: https://openwebui.com/[2]
Open WebUI 社区: https://openwebui.com/
原文始发于微信公众号(alitrack):一行代码让你免魔法部署Open-WebUI
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/243533.html