小工具知识网

当前位置: 首页 > 行业知识 > 本地部署大模型ollama+docker+open WebUI/Lobe Chat

行业知识

本地部署大模型ollama+docker+open WebUI/Lobe Chat

2026-11-01 11:11:14 来源:互联网转载

文章目录

  • 大模型工具Ollama
    • 下载
    • 安装
    • 运行
    • Spring Ai 代码测试
      • 加依赖
      • 配置
      • 写代码
      • ollama的web&Desktop
        • 搭建部署Open WebUI有两种方式
          • Docker Desktop
          • Docker部署Open WebUI
          • Docker部署Lobe Chat
            • 可以配置OpenAI的key
            • 也可以配置ollama
            • 大模型的选择

              本篇基于windows环境下配置

              大模型工具Ollama

              https://ollama.com/

              下载

              https://ollama.com/download

              windows环境下就安装windows版本

              安装

              点击下载的exe文件进行傻瓜式安装

              运行

              去ollama官网(models模块下)找大模型的名字,然后复制ollama的运行名字

              https://ollama.com/library

              ollama run qwen:4b

              Spring Ai 代码测试

              默认ollama会监听11434端口,可以使用下面命令查看

              netstat -ano | findstr 11434

              可以使用ollama list指令查看本地已经下好的大模型

              ollama list

              加依赖

                          org.springframework.ai            spring-ai-ollama-spring-boot-starter        

              或者使用23版以上的idea,创建spring项目的时候选最新版本,直接勾选上AI模块下的ollama模块

              配置

              spring:  application:    name: open-ai-05-ollama  ai:    ollama:      base-url: http://localhost:11434      chat:        options:          model: qwen:4b   

              写代码

              @RestControllerpublic class OllamaController {    @Autowired    private OllamaChatClient ollamaChatClient;    @RequestMapping(value = "/ai/ollama")    public Object ollama(@RequestParam(value = "msg") String msg){        String call = ollamaChatClient.call(msg);        System.out.println(call);        return call;    }    @RequestMapping(value = "/ai/ollama2")    public Object ollama2(@RequestParam(value = "msg") String msg){        ChatResponse response = ollamaChatClient.call(new Prompt(                msg,                OllamaOptions.create()                        .withModel("qwen:4b")                        .withTemperature(0.4f)));        String content = response.getResult().getOutput().getContent();        System.out.println(content);        return content;    }}

              ollama的web&Desktop

              看ollama的github主页下面有很多的web&Desktop,比较流行的是Open WenUI

              Open WenUI Github https://github.com/open-webui/open-webui

              Open WenUI 官网:https://github.com/open-webui/open-webui

              搭建部署Open WebUI有两种方式

              1. Docker方式(官网推荐)
              2. 源代码部署安装方式:(文档https://docs.openwebui.com/getting-started/)

              Docker Desktop

              windows环境下推荐使用Docker Desktop

              轻量化,界面化操作Docker容器

              官网下载安装包

              https://www.docker.com/products/docker-desktop/

              下载后傻瓜式安装即可,安装后需要重启,然后打开Docker Desktop后的界面如下:

              Docker部署Open WebUI

              在docker中运行Open WebUI

              在命令行运行docker指令

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

              这是一个 docker run 命令,用于启动一个新的 Docker 容器,下面是这个命令各个部分的解释:

              • docker run:这是 Docker 的命令,用于从指定的镜像启动一个新的容器;
              • -d:表示在“分离”模式下运行容器,即后台运行;
              • -p 3000:8080:端口映射,表示将宿主机的3000端口映射到容器的8080端口,当你访问宿主机的3000端口时,实际上会访问容器内的8080端口;
              • –add-host=host.docker.internal:host-gateway:这个选项向容器的 /etc/hosts 文件中添加一条记录,这通常用于让容器能够解析到宿主机的名称,并且将其 IP 地址设置为宿主机的网关地址,这在某些网络配置中很有用,尤其是当容器需要知道宿主机的地址时;
              • -v D:\dev\open-webui:/app/backend/data:卷挂载,这表示将宿主机的 D:\dev\open-webui 目录挂载到容器内的 /app/backend/data 目录,这样,容器和宿主机之间可以共享这个目录中的数据;
              • –name open-webui:为容器指定一个名称,这里是 open-webui;
              • –restart always:这个选项告诉 Docker 在容器退出时总是自动重启它,无论容器是因为何种原因退出,它都会自动重启;
              • ghcr.io/open-webui/open-webui:main:这是你要运行的 Docker 镜像的完整名称,ghcr.io 是 GitHub Container Registry 的地址,open-webui/open-webui 是镜像的仓库和名称,main是标签,通常表示该镜像的最新或主分支版本;

                第一次运行需要拉取镜像比较慢,等待执行完成

                这时候打开docker desktop就可以在images模块下看到拉取到的镜像

                我们在拉取镜像的时候指定了Web UI的端口为3000,所以访问3000端口即可

                http://localhost:3000/

                第一次会要求登录

                注册并登录

                上来后和Chatgpt的页面很像的。

                select model的地方选择上我们通过ollama部署的模型。然后就可以开心聊天了

                Docker部署Lobe Chat

                官网:https://lobehub.com/

                Github:https://github.com/lobehub/lobe-chat

                • Built for you the Super Inpidual (专为你打造的超级个人)
                • 现代化设计的开源 ChatGPT/LLMs
                • 聊天应用与开发的UI框架; 支持语音合成、多模态、可扩展的(function call)插件系统;
                • 一键免费拥有你自己的ChatGPT/Gemini/Claude/Ollama 应用;

                  Lobe Chat 部署

                  1. 使用 Vercel、Zeabur 或 Sealos 部署;
                  2. 使用 Docker 部署;
                  docker run -d -p 3210:3210 -e OPENAI_API_KEY=sk-xxxx -e ACCESS_CODE=lobe66 --name lobe-chat lobehub/lobe-chat

                  完整的部署文档:https://lobehub.com/zh/docs/self-hosting/start

                  同样的,在拉取完成后,docker desktop中也会有镜像,

                  同样的方式,访问我们指定的3210端口

                  这个需要点击设置去配置模型

                  可以配置OpenAI的key

                  注意代理的地址要在后面加上/v1

                  配置好后就可以访问openai

                  也可以配置ollama

                  本机默认代理地址可以不用配,模型列表中选上你的模型就可以使用了。

                  还可以加插件使用

                  也可以在本地部署更强大的模型,使用图片,文件,音频等模态

                  大模型的选择

                  • 大语言模型主要分为国外大模型 和 国内大模型;
                  • 国外大模型,可能受到一些限制,或者不稳定;
                  • 国内也有非常优秀的大模型,国内大模型排行榜:
                    • https://www.superclueai.com/
                    • 基于中文语言理解测评基准,包括代表性的数据集、基准(预训练)模型、语料库、排行榜;
                    • 选择一系列有一定代表性的任务对应的数据集,做为测试基准的数据集,这些数据集会覆盖不同的任务、数据量、任务难度;

上一篇:Linux PHP源码下载指南,轻松获取PHP源代码,启程Linux开发之旅!

下一篇:云服务器迁移怎么办?