02-部署大模型工具Ollama以及使用

02-部署大模型工具Ollama以及使用


一、Ollama是什么?

官网:https://ollama.com/

在这里插入图片描述

二、Ollama下载、安装

①:下载

下载链接:https://ollama.com/download

在这里插入图片描述

在这里插入图片描述

②:安装

  • 双击运行即可

在这里插入图片描述

在这里插入图片描述

③:设置大模型下载路径

变量名: OLLAMA_MODELS
设置路径 D:\common\Ollama\dir
  • 添加用户变量
    在这里插入图片描述
  • 添加系统变量

在这里插入图片描述

  • 检查一下
echo %ollama_models%

在这里插入图片描述

4️⃣、设置监听的端口及全ip访问

01: 问题分析

  • 如何不设置默认端口11434默认IP地址为本机(127.0.0.1)这就造成只能本机才能访问运行ollama模型

在这里插入图片描述

02: 修改端口和监听ip地址

要更改侦听地址和端口,可以添加以下环境变量:

变量名:OLLAMA_HOST
变量值(端口)::114334

  • 指定 Ollama API 侦听地址和端口
  • 只填写端口号可以同时侦听(所有) IPv4 和 IPv6 的:8000端口

要使用 IPv6,需要 Ollama 0.0.20 或更新版本

  • 用户环境变量

在这里插入图片描述

  • 系统环境变量

在这里插入图片描述

03: 再次查看

  • 修改后重启电脑
  • 输入以下命令(监听的地址是任意地址)
netstat -an | findstr :11434

在这里插入图片描述

04: 访问测试

  • 使用其他机器访问测试
    在这里插入图片描述

三、运行大模型

必看常用命令

# 查看 Ollama 版本
ollama -v
 
# 查看已安装的模型
ollama list
 
# 删除指定模型
ollama rm [modelname]


ollama serve       启动ollama
ollama create      从模型文件创建模型
ollama show        显示模型信息
ollama run         运行模型
ollama pull        从注册表中拉取模型
ollama push        将模型推送到注册表
ollama list        列出模型
ollama cp          复制模型
ollama rm          删除模型
ollama help        获取有关任何命令的帮助信息

①:查看支持的大模型

在这里插入图片描述

②:查看运行命令

在这里插入图片描述

③:执行运行命令

  • 打开shell

在这里插入图片描述

ollama run qwen2:1.5b

在这里插入图片描述
在这里插入图片描述

④:测试

在这里插入图片描述

四、使用SpringAI集成Ollama

1️⃣、创建项目

01: 创建项目

  • 创建模块
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 项目依赖加载完成

在这里插入图片描述

02: 配置yaml

spring:
    application:
        name: spring-ai-02-ollama
    ai:
      ollama:
          base-url: http://10.211.55.6:11434   # 10.211.55.6是我的ollama运行机器的ip地址    ollama 默认端口号11434
          chat:
            options:
                model: qwen2:0.5b # ollama的模型名称

server:
    port: 19002

2️⃣、代码实现(聊天chat)

01: 方式一


@RestController
public class OllamaController {



    @Resource
    private OllamaChatModel ollamaChatModel;


    /**
     * 调用ollama (方式一)
     * @param msg
     * @return
     */
    @GetMapping("/ai/ollama")
    public String ollama(@RequestParam(value = "msg") String msg) {
        String called = ollamaChatModel.call(msg);
        System.out.println(called);
        return called;
    }
}

02: 测试(方式一)

在这里插入图片描述

03:方式二

    /**
     * 调用ollama (方式二)
     * @param msg
     * @return
     */
    @GetMapping("/ai/ollama2")
    public Object ollama2(@RequestParam(value = "msg") String msg) {
        ChatResponse response = ollamaChatModel.call(new Prompt(msg, OllamaOptions.create()
                .withModel("qwen2:1.5b") // ollama的模型名称
                .withTemperature(0.4F))); // 温度越高准确率越低
        System.out.println(response.getResult().getOutput().getContent());
        return response.getResult().getOutput().getContent();
    }

04:测试(方式二)

在这里插入图片描述

五、Ollama Web界面

①:Web界面

在这里插入图片描述

②:搭建部署Open WebUI

搭建部署Open WebUI有两种方式

01:搭建Docker环境Docker Desktop

安装笔记:

02:在docker中运行Open WebUI

  • Linux支持的续行符
docker run -d -p 3000:8080 \
--add-host=host.docker.internal:host-gateway \
-v D:\OOP\docker\images\open-webui:/app/backend/data \
--name open-webui \
--restart always ghcr.io/open-webui/open-webui:main

  • Windows中使用一行
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v D:\OOP\docker\images\open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

注意:将 -v 后面的路径 D:\OOP\docker\images\open-webui 改成自己的

  • 这是一个 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:\OOP\docker\images\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中也可以看到刚刚拉取的镜像

在这里插入图片描述

  • 容器正在运行中

在这里插入图片描述

03:访问测试

1.访问地址:http://localhost:3000

  • 容器启动之后要稍等一会(启动比较慢)

在这里插入图片描述

  • 创建账号、登录
    在这里插入图片描述

③:设置模型地址

在这里插入图片描述

在这里插入图片描述

④:聊天访问

01:qwen2模型(阿里云的)

在这里插入图片描述

02:gemma2模型(谷歌的开源模型)

  • 我又拉取了一个模型

在这里插入图片描述

在这里插入图片描述

六、Lab Chat界面(支持中文)

①:界面介绍

1.官方地址:https://lobehub.com/zh

2.GitHub 地址:https://github.com/lobehub/lobe-chat

在这里插入图片描述
在这里插入图片描述

  • 使用docker 部署的命令

在这里插入图片描述

②:部署 Lab Chat

1. 自己的私有设备上部署 LobeChat 服务

  • Linux支持的续行符
docker run -d -p 3210:3210 \
  -e OPENAI_API_KEY=sk-xxxx \
  -e ACCESS_CODE=lobe66 \
  --name lobe-chat \
  lobehub/lobe-chat
  • Windows中使用一行
docker run -d -p 3210:3210 -e OPENAI_API_KEY=sk-xxxx -e ACCESS_CODE=lobe66 --name lobe-chat lobehub/lobe-chat
- docker run: 这是 Docker 命令,用于启动一个新的 Docker 容器。

-d: 表示后台运行容器,不会阻塞终端输出。

-p 3210:3210: 将容器内部的 3210 端口映射到主机上的 3210 端口。这样,外部可以通过主机端口 3210 访问容器内的应用程序。

-e OPENAI_API_KEY=sk-xxxx: 设置环境变量 OPENAI_API_KEY 的值,此处可以随便写后续在页面中可以设置

-e ACCESS_CODE=lobe66: 设置环境变量 ACCESS_CODE 的值,此处替换为实际的访问代码。

--name lobe-chat: 为容器命名为 lobe-chat。

lobehub/lobe-chat: 指定要运行的 Docker 镜像,此处是 lobehub/lobe-chat 镜像。

2.执行命令 拉取镜像

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

③:访问测试

在这里插入图片描述

④:设置API-KEY和Ollama地址

在这里插入图片描述

  • 检查和获取模型列表


在这里插入图片描述

  • 可以看到模型列表

在这里插入图片描述

⑤:聊天测试

01:gpt4 测试

在这里插入图片描述

02:gemma2(谷歌开源模型)

在这里插入图片描述

在这里插入图片描述

七、大模型选择

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

七@归七

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值