如何使用Open WebUI+Ollama本地搭建类似deepseek的AI聊天助手

人工智能聊天助手已成为提高生产力和创造力的重要工具。从回答问题到自动完成某些任务,它们能帮你做很多事情。但是,这些工具大多需要连接到 OpenAI 和 Claude 等服务,这意味着你始终需要互联网接入。虽然这很方便,但也引发了对隐私、数据安全和对外部服务器依赖性的担忧。

如果您想使用人工智能聊天助手而不担心这些问题,您可以在本地机器或服务器上托管和运行自己的人工智能模型。这样您就可以完全控制自己的数据,还能根据自己的需要定制模型。

在本文中,我们将向您展示如何使用 Open WebUI 本地搭建一个属于个人的AI聊天助手,它可以在本地机器或服务器上运行,也可以离线运行。

什么是Open WebUI

Open WebUI 是一个开源网络界面,用于与各种大型语言模型(LLM)进行交互。

它具有许多功能,如支持检索增强生成(RAG)、图像生成、支持 Markdown 和 Latex、支持 SearXNG 的网络搜索、基于角色的访问控制等,这些功能使它可以与 ChatGPT 和 Claude 等流行服务相媲美。

系统先决条件

要启动并运行 Open WebUI,您需要具备以下条件:

  • Docker:在本文中,我们将使用 Docker 来运行 Open WebUI。这样,应用程序就被包含在内,不会直接干扰你的计算机系统。
  • Ollama:您还需要 Ollama 来运行模型。Ollama 是一款允许您协调多个模型的工具。它用于在开放式 WebUI 中运行模型。请按照我们的文章 Ollama 入门中的说明在计算机上安装和设置 Ollama(见下文)。

安装完 Docker 和 Ollama 后,请确保 Ollama 已在 127.0.0.1:11434localhost:11434 的 API 访问权限下运行。你可以通过运行以下命令来获取 Ollama 的版本:

curl http://localhost:11434/api/version

如果返回的是版本号,则说明 Ollama 运行正常,我们可以继续安装 Open WebUI。

系统要求

在安装 Open WebUI 和 Ollama 之前,请确保您的系统满足这些最低要求:

硬件要求

硬件 要求
CPU 多核现代处理器(建议 4 核以上)
内存 至少 8GB,建议使用 16GB 或更大容量
硬盘空间 基本安装至少需要 10GB 可用硬盘空间,另外还要为模型提供额外空间:

  • llama3.2: ~4GB
  • llama3.2-vision: ~8GB
  • 其他型号: 根据型号大小,每个型号 4-15GB
GPU 可选,但建议使用以获得更好的性能:

  • 支持 CUDA 的英伟达™(NVIDIA®)图形处理器(建议使用 8GB+ VRAM)
  • 或支持 ROCm 的 AMD GPU

软件要求

组件 要求
操作系统
  • Linux(建议使用 Ubuntu 20.04 或更新版本)
  • macOS 12 或更新版本(包括 M1/M2 支持)
  • 带 WSL2 的 Windows 10/11
Docker 最新稳定版本
浏览器 现代网络浏览器(Chrome、Firefox、Safari 或 Edge)

注:这些要求仅适用于运行基本模型。要求更高的模型或并发使用可能需要更强大的硬件。

安装过程

要安装并运行 Open WebUI,可以运行以下命令:

docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

如果这是第一次运行,该命令将下载 open-webui Docker 镜像。这可能需要一些时间,但后续运行会更快。下载映像后,它将启动容器,你可以在浏览器中访问位于 localhost:3000 的 Open WebUI。

注意,如果在浏览器中加载时出现错误,请稍等片刻。它可能仍在后台初始化和下载一些资源以完成设置。

当你看到下面的屏幕时,说明你已经成功安装了 Open WebUI,可以开始使用了

创建账户

首次访问 Open WebUI 时,系统会提示您创建一个管理员账户。您需要输入您的姓名、电子邮件和密码。

创建账户后,您将立即登录并看到以下界面。

选择模型

此时,我们仍无法与聊天助手互动,因为我们还没有选择模型。

要下载模型,可以点击顶部的“Select a model”选项。输入模型名称,例如 llama3.2,然后选择“Pull ‘llama3.2’ from Ollama.com”,如下图所示。

另外,由于模型是从 Ollama 库中下载的,我们也可以使用 Ollama CLI 直接下载。在我们的例子中,要下载“llama3.2”模型,我们可以运行

ollama pull llama3.2

同样,下载模型也需要一些时间。下载完成后,您可以从“Select a model”选项中选择模型。

模型比较指南

Open WebUI 通过 Ollama 支持多种型号。以下是常用模型的比较,可帮助您根据需要选择合适的模型:

模型 大小 关键特征 最适合于 限制
llama3.2 ~4GB
  • 一般文本生成
  • 代码补全
  • 分析任务
  • 一般聊天
  • 写作帮助
  • 代码帮助
  • 无图像处理
  • 知识库截止 2023 年
llama3.2-vision ~8GB
  • 图像理解
  • 视觉分析
  • 多模态任务
  • 图像分析
  • 视觉质量保证
  • 基于图像的任务
  • 所需资源较多
  • 响应时间较慢

选择模型时,应考虑以下因素:

  • 硬件能力:确保您的系统能满足模型的要求
  • 使用案例:将模型的功能与您的特定需求相匹配
  • 响应时间:较大的模型通常响应时间较慢
  • 存储空间:考虑用于存储模型的可用磁盘空间

与聊天助手互动

选定模型后,您就可以开始与聊天助手互动了。您可以在聊天框中输入问题或提示,聊天助手会做出相应回复。

如果您提出的问题或提示与您选择的模型相关,回复效果会更好。例如,如果您选择的是“llama3.2”模型,您可以问与常识、琐事或该模型训练过的任何其他主题相关的问题。

例如,您可以问以下问题

  • 印度尼西亚的首都是哪里?
  • 魔戒一书的作者是谁?
  • 水的沸点是多少?

但请注意,“llama3.2”可能无法准确回答实时事件,因为该模型仅使用 2023 年之前的数据进行训练。

故障排除指南

使用 Open WebUI 时,您可能会遇到一些常见问题。下面介绍如何解决这些问题:

Docker容器无法启动

  • 症状:Docker 容器无法启动或立即崩溃
  • 检查端口 3000 是否已在使用中:
    lsof -i :3000

    如果正在使用,要么停止冲突的服务,要么在 docker 运行命令中更改端口

  • 验证 Docker 守护进程正在运行:
    systemctl status docker
  • 查看 Docker 日志:
    docker logs open-webui

连接Ollama失败

  • 症状:“Cannot connect to Ollama”错误信息
  • 验证 Ollama 正在运行:
    curl http://localhost:11434/api/version
  • 检查 Docker 是否可以访问 Ollama:
    docker exec open-webui curl http://host.docker.internal:11434/api/version
  • 重新启动这两项服务:
    systemctl restart ollama
    docker restart open-webui

模型下载问题

  • 症状:模型下载失败或超时
  • 检查可用磁盘空间:
    df -h
  • 尝试通过 Ollama CLI 下载:
    ollama pull modelname
  • 清除 Ollama 缓存并重试
    rm -rf ~/.ollama/models/*

高级功能

使用RAG(检索增强生成)

RAG 允许您使用自己的知识库来增强模型的响应。以下是设置方法:

1. 准备文件:您的知识库可以包括 PDF、TXT、DOCX 和 MD 文件。只需将这些文件放到指定的知识库目录中,确保它们格式正确、可读即可。

2. 配置 RAG 设置

{
"rag_enabled": true,
"chunk_size": 500,
"chunk_overlap": 50,
"document_lang": "en"
}

使用SearXNG设置网络搜索

将网络搜索功能整合到聊天助手中:

docker run -d \
--name searxng \
-p 8080:8080 \
-v searxng-data:/etc/searxng \
searxng/searxng

然后配置 Open WebUI 以使用 SearXNG:

  1. 转到 Settings > Advanced
  2. 启用网络搜索
  3. 输入 SearXNG URL:http://localhost:8080
  4. 配置搜索参数(可选)

基于角色的访问控制

配置不同的用户角色和权限:

角色 权限 用户用例
Admin 完整的系统访问权限 系统管理
Power User 模型管理、RAG 配置 高级用户
Basic User 仅聊天互动 普通用户

利用多模态功能

开放式 WebUI 还支持多模态功能,这意味着您可以在生成文本的同时生成图像,或将图像作为提示输入的一部分。

不过,要做到这一点,您需要一个具有多模态功能的模型。在本例中,我们可以使用“llama3.2-vision”。您可以像以前一样从 Open WebUI 界面下载模型,或者使用 Ollama CLI 直接下载:

ollama pull llama3.2-vision

下载完成后,选择模型并上传图片到聊天助手。您可以单击 + 按钮并将其与提示一起提交。

在这个例子中,我会使用一张图片,即 Openverse 的《红色自行车》,并询问这张图片的主要焦点是什么?

事实上,它能够回答这个问题,甚至还知道自行车的颜色,如下图所示。

小结

Open WebUI 是一款功能强大的工具,可让您在本地机器或服务器上托管和使用人工智能聊天助手。它提供了与各种大型语言模型(LLM)交互的用户友好界面。

对于那些担心隐私、数据安全和依赖外部服务器的人来说,这是一款完美的工具。有了 Open WebUI,您可以完全控制数据和隐私,还能根据自己的需要定制模型。

对于想尝试使用人工智能聊天助手并建立自己的自定义模型的开发人员来说,这也是一个很好的工具。使用 Open WebUI,您可以轻松托管和运行您的模型,并使用简单直观的界面与它们进行交互。

© 版权声明
THE END
喜欢就支持一下吧
点赞20 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容