Open WebUI:Ollama 的图形界面

Open WebUI 是一个开源的网页界面,设计用于与本地(例如:Ollama)和通过兼容 OpenAIAPI 远程访问的大型语言模型LLM)进行交互。

该应用的界面设计与用户在 ChatGPTGeminiClaude.ai 等系统中体验的非常相似,使其易于使用和理解。同时,它还提供了HTTP API,允许开发者在自己的应用中利用其功能。

Open WebUI 的主要功能包括:

  • 通过一个用户友好响应式网页界面与语言模型交互。
  • 支持Open AI API,可向所有支持该接口的商业及非商业 LLM 引擎发送请求。
  • 支持本地模型(例如 LLaMA、Mistral 等),可直接通过 Ollama 引擎(直接)或通过其他引擎如 LM StudioLocalAI 等(得益于对 Open AI API 的兼容)访问。
  • 支持 Lite LLM(作为多个商业和本地 LLM 的代理)。
  • 高级聊天界面,具备:对话组织可自定义参数聊天分享等功能。
  • 界面布局自定义
  • 支持RAG检索增强生成)。
  • HTTP API,支持外部应用执行查询。
  • 模型构建器,用于定制使用的模型,带有预设的基本属性和行为。
  • 图像生成:利用商业服务如 Open AI 的 API 或本地组件(需相应计算能力)。
  • 网络信息检索,支持使用 SearXNGGoogle PSEBrave Search 等提供者。
  • 支持多语言
  • 管理用户群组及细粒度的权限

安装与配置

我们尝试使用 Open WebUI,结合 Docker 容器 [5][6],配合之前文章中已安装配置好的 Ollama [4]

命令如下:

# 如果 Ollama 服务未启动,启动它。
ollama serve &

// 访问 http://localhost:11434 应显示:Ollama is running

# 检查 Docker 是否安装并运行:
docker --version

# 创建 Docker 容器。
docker run -d -p 3000:8080 -e OLLAMA_API_URL=http://host.docker.internal:11434 --name open-webui ghcr.io/open-webui/open-webui:main

此命令创建并运行一个容器,其中运行 Open WebUI(容器内程序监听端口为 8080,但映射到宿主机的 3000 端口),并配置好将请求发送到本机运行的 Ollama 服务器。

地址 http://host.docker.internal:11434 用于告诉 DockerOllama 运行在与 Docker Desktop 相同的机器上。

当然,此命令仅适用于测试环境,生产环境需要指定其他参数,例如保证数据持久化的配置。

容器启动后,可通过浏览器访问 http://localhost:3000 进入 Open WebUI 界面。

系统会立即要求设置管理员账户:

此时系统已准备好接受查询:在 Open WebUI 输入的查询将发送给 Ollama,其响应会显示在同一界面。

本示例中用于查询的模型是之前文章中下载并安装在 Ollama 上的 Mistral:7b[4]

HTTP API 使用

可以通过API 端点[5]Open WebUI 进行查询,这些端点受身份验证保护。

身份验证有两种方式:

  1. 通过API Key
  2. 通过JWT 令牌(先调用接口提交用户名和密码,获取令牌,后续调用使用该令牌)。

要创建第一种方式的密钥,点击左下角的用户头像,然后进入设置->账户,点击创建新密钥

此后即可使用API Key进行调用,例如:

# 获取可用模型列表:
curl -X GET "http://localhost:3000/api/models" -H "Authorization: Bearer YOUR_API_KEY" -H "Content-Type: application/json"

# 发送查询请求:
curl -X POST http://localhost:3000/api/chat/completions -H "Authorization: Bearer YOUR_API_KEY" -H "Content-Type: application/json" -d '{"model": "mistral:7b","messages": [{"role": "user","content": "Why is the sky blue?"}]}'

完整列表可在 Open Web UI 官方网站查看[5]

图片画廊

来源与参考

  1. Open WebUI 官方网站。
  2. Open WebUI 功能 官方文档。
  3. OpenWebUI GitHub 仓库
  4. 本地运行 LLM 模型与 Ollama,本站博客。
  5. Open WebUI API 端点
  6. Windows 10 上安装配置 Docker,Ionos 网站。
  7. Docker 入门速成课程,TechWorld with Nana。

*** 本文为自动翻译,使用 n8n 和 OpenAI 实现。

1 year ago

Leave a Reply

Your email address will not be published. Required fields are marked *

评论审核已启用。您的评论可能需要一段时间后才能被显示。