02-部署大模型工具Ollama以及使用
文章目录
一、Ollama是什么?
二、Ollama下载、安装
①:下载
②:安装
- 双击运行即可
③:设置大模型下载路径
变量名: 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界面
- Ollama的Web界面有很多
- 我们用比较流行的 Open WebUI
GitHub官网地址
:https://github.com/ollama/ollamaOpen WebUI GitHub地址
:https://github.com/open-webui/open-webuiOpen WebUI 官方地址
:https://www.openwebui.com
②:搭建部署Open WebUI
搭建部署
Open WebUI
有两种方式
- 方式一:
Docker方式
(官方推荐的方式
)- 方式二:
源码部署安装方式
(参考文档:https://docs.openwebui.com/getting-started/)
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(谷歌开源模型)
七、大模型选择
- 大模型排行榜网址:https://www.superclueai.com