本地部署多模态大模型:结合 Ollama、Open-WebUI 与 Dify 实现智能对话
如何在个人电脑上本地部署多模态大模型。通过安装 Docker、配置 Ollama 及 Open-WebUI,用户可实现离线运行的大语言模型交互。支持 Windows、macOS 和 Linux 系统。教程涵盖模型下载、知识库问答、联网搜索功能,并演示了如何将 Ollama 接入 Dify 构建本地智能体。整个过程注重数据隐私与安全,适合希望掌握私有化 AI 部署的技术人员参考。

如何在个人电脑上本地部署多模态大模型。通过安装 Docker、配置 Ollama 及 Open-WebUI,用户可实现离线运行的大语言模型交互。支持 Windows、macOS 和 Linux 系统。教程涵盖模型下载、知识库问答、联网搜索功能,并演示了如何将 Ollama 接入 Dify 构建本地智能体。整个过程注重数据隐私与安全,适合希望掌握私有化 AI 部署的技术人员参考。

最近几年,随着 ChatGPT 的发布,越来越多的大模型涌现出来。用户体会到了大模型带来的便利,如知识问答、代码编写、语音合成、图像合成、智能对话等。大模型的参数量通常非常大,得益于大模型框架以及量化技术的发展,目前我们在个人电脑上也能够部署和推理大模型,既安全又隐私。
今天,介绍如何在个人电脑上通过 Ollama 和 OpenWeb-UI 搭建一个属于自己的多模态大模型,能够结合本地知识库进行智能问答、图像分析等,并结合 Dify 构建本地的智能体。支持 Windows、macOS、Linux。
本文主要介绍 macOS 的部署教程,因为主要用到 Docker,其他系统部署操作类似。
Ollama 是一个开源框架,专为在本地机器上便捷部署和运行大型语言模型(LLM)而设计。

Open WebUI(前身为 Ollama WebUI)是一个专为大型语言模型(LLM)设计的可扩展、功能丰富且用户友好的自托管 Web 管理工具,旨在为用户提供直观、高效的大模型交互体验。

Open WebUI 适用于多种场景,包括但不限于:
Docker 直接在官网安装 Docker Desktop 就行,根据自己的操作系统下载对应的安装包。大家一定要注意 Docker 的网址,可不要被坑了。

同样,ollama 也提供了非常简单的安装方式,直接在官网下载对应系统的安装包即可,同样也需要注意网址,不要被坑了。

安装完成之后,在命令行界面执行下面的命令:
ollama
如果出现下面的提示,则说明安装成功:

可以在 ollama 官网找到非常多的大模型,然后根据自己的显卡(MacOS M 芯片是内存)大小选择对应的模型。根据经验 12G 显存可以运行大概 7B 的模型。ollama 的模型库包含了热门的 llama3.2、qwen2.5、gemma2 等模型,都非常优秀。

由于本文主要是介绍在本地部署多模态大模型,因此主要下载 llava:13b 和 qwen:14b-chat 这两个模型,其他模型大家可以自行探索。在命令行执行下面的命令进行下载:
# 下载 llava:13b 模型
ollama pull llava:13b
# 下载 qwen:14b-chat
ollama pull qwen:14b-chat
下载完成后,提示如下:

在「电脑」->「属性」->「高级系统设置」->「环境变量」中,添加一行记录:
变量:OLLAMA_HOST
值:0.0.0.0
在 ~/.bashrc 中的最后一行添加下面的环境变量:
export OLLAMA_HOST=0.0.0.0
然后执行下面的命令使环境变量在当前 shell 生效:
source ~/.bashrc
重启 ollama 使得刚才设置的环境变量生效。
下面介绍一下如何安装和配置 Open-WebUI。
在命令行界面执行下面的命令,安装和启动 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
拉取镜像并启动容器完成之后,命令行界面如下:

在浏览器输入:http://127.0.0.1:3000,进入到 Open-WebUI 首页。首先注册一下账号密码:


注册完成并登录,进入到首页:

点击右上角的头像,选择「设置」,在弹出的窗口中选择「界面」,在「默认模型」中选择刚才下载的 llava:13b 模型:

接下来,让我们探索一下 Open-WebUI 的功能。
在首页,选择一张图片,并进行提问,可以看到大模型能够准确的识别出图片的内容和含义,并自动进行总结,同时还精准的识别除了我画的红色框:

在知识库页面上传一个文档:

然后在大模型首页的输入框里,按#选择知识库,并输入问题 Prompt,回车之后,open-webui 会先在知识库中检索相关的信息,并结合问题 Prompt 一起送入大模型。

Open-WebUI 支持联网搜索的功能,这里可以让 Open-WebUI 连接我们之前部署的 SearXNG 搜索引擎。
在「设置」界面,选择「联网搜索」,输入我们部署好的 SearXNG 搜索引擎的地址:

ollama 也可以和 Dify 进行结合,使用本地大模型来构建智能体。
进入到 Dify 首页,点击右上角的头像,选择「设置」:

在「模型供应商」选择 Ollama:

在弹出的界面中:
• 模型名称:填写用 ollama list 命令列出来的模型名 • 模型基础 URL:http://host.docker.internal:11434
点击保存即可。

尝试用 Ollama 搭建一个智能体,并将模型设置为刚才的 ollama 模型:

为了确保部署过程的顺利进行,以下列出了一些常见问题的解决方案及性能优化建议。
如果 3000 端口被占用,可以在 docker run 命令中修改 -p 参数,例如改为 -p 3001:8080,并在浏览器访问时指定端口号。
如果本地设备显存较小,建议选择更小的模型版本,如 llama3:8b 或 qwen:7b。可以通过量化技术进一步降低资源需求。
在使用 Docker 部署时,确保 --add-host=host.docker.internal:host-gateway 参数正确配置,以保证容器内服务能正确访问宿主机网络资源。
本文主要介绍了如何在本地安装 Ollama、Open-WebUI,并介绍了 Open-WebUI、Dify 结合 Ollama 的一些玩法,还有更多高阶功能等待你去探索。通过私有化部署,用户可以更好地控制数据隐私,同时享受大模型带来的智能化体验。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online