当前位置: 代码网 > 科技>操作系统>Windows > 本地部署大模型ollama+docker+open WebUI/Lobe Chat

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

2024年08月01日 Windows 我要评论
本篇基于windows环境下配置。


本篇基于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

在这里插入图片描述

加依赖

<dependency>
            <groupid>org.springframework.ai</groupid>
            <artifactid>spring-ai-ollama-spring-boot-starter</artifactid>
        </dependency>

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

配置

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

写代码

在这里插入图片描述

@restcontroller
public 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 individual (专为你打造的超级个人)
  • 现代化设计的开源 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/
    • 基于中文语言理解测评基准,包括代表性的数据集、基准(预训练)模型、语料库、排行榜;
    • 选择一系列有一定代表性的任务对应的数据集,做为测试基准的数据集,这些数据集会覆盖不同的任务、数据量、任务难度;
(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com