当前位置: 首页 > news >正文

Ollama+OpenWebUI本地部署大模型

Ollama+OpenWebUI本地部署大模型

  • 前言
  • Ollama使用
    • Ollama安装
    • Ollama修改配置
    • Ollama 拉取远程大模型
    • Ollama 构建本地大模型
    • Ollama 运行本地模型:
      • 命令行交互
      • Api调用
      • Web 端调用
  • 总结

前言

Ollama是一个开源项目,用于在本地计算机上运行大型语言模型(LLMs)的工具,它的底层是使用Docker,所以支持类似Docker的构建方式,大模型就是它的镜像。它支持多种模型格式,包括但不限于GGUF,允许用户在没有高性能GPU或不希望使用云服务的情况下,利用个人计算机的资源来执行复杂的语言任务。

Ollama使用

Ollama安装

根据自己的平台选择下载对应的工具,下载地址
在这里插入图片描述
右击使用管理员权限安装,成功后会弹出下面框。
输入ollama list 可以查看本地有哪些模型

ollama list
在这里插入图片描述

想要查看支持哪些模型,可以点击官网中央仓库,支持的模型很多。
在这里插入图片描述

Ollama支持的参数:

Usage:
  ollama [flags]
  ollama [command]

Available Commands:
  serve       Start ollama
  create      Create a model from a Modelfile
  show        Show information for a model
  run         Run a model
  pull        Pull a model from a registry
  push        Push a model to a registry
  list        List models
  cp          Copy a model
  rm          Remove a model
  help        Help about any command

Flags:
  -h, --help      help for ollama
  -v, --version   Show version information

Ollama修改配置

在拉取Ollama 大模型之前,需要修改Ollma两个配置,直接在电脑环境变量中添加以下两个系统变量,一个是方便局域网法访问,一个是避免C盘被占用过大:

  • OLLAMA_HOST:修改为0.0.0.0:11434,以便局域网访问
  • OLLAMA_MODELS:默认为C盘,需要修改为其他磁盘。

在这里插入图片描述

退出重登Ollama,重新打开PowelShell窗口,输入本机的ip,返回running即为修改Ip成功 :
在这里插入图片描述

Ollama 拉取远程大模型

ollama pull以及ollama run都可以拉取大模型,run拉取后会直接运行大模型

ollama run codellama:7b

在这里插入图片描述
注意:可能会遇到以下类似的问题,大部分是网络环境问题。多试几次或者切换代理网络即可。

Error: pull model manifest: Get "https://registry.ollama.ai/v2/library/codellama/manifests/7b": dial tcp: lookup registry.ollama.ai: no such host

Ollama 构建本地大模型

Ollama除了可以使用官方自带的模型,也可以使用我们已经量化好的gguf模型。在模型所在位置,新建个Modelfile,内容如下:

FROM ./llama-2-7b-chat.Q4_K_M.gguf

# set prompt template
TEMPLATE """[INST] <<SYS>>{{ .System }}<</SYS>>

{{ .Prompt }} [/INST]
"""

# set parameters
PARAMETER stop "[INST]"
PARAMETER stop "[/INST]"
PARAMETER stop "<<SYS>>"
PARAMETER stop "<</SYS>>"

# set system message
SYSTEM """
You are a helpful assistant.
"""

使用PowerShell,切换到模型目录下,执行以下命令,构建模型

ollama create my-model2 -f .\Modelfile

创建成功后:

ollama list

在这里插入图片描述

Ollama 下载的模型默认情况下都是经过量化的,如果要使用未经量化的模型,可以在 huggingface(Hugging Face 起初是NLP机器学习服务商,开源了非常出名的自然语言处理应用构建的 transformers 库。随着大模型流行,Hugging Face转向了机器学习的社区服务,类似于代码服务的github) 下载指定的模型,并使用上述方式进行运行。

Ollama 运行本地模型:

命令行交互

ollama run my-model2

在这里插入图片描述

Api调用

Ollama run之后就可以直接使用api接口调用,调用方式POST:
url:

http://127.0.0.1:11434/api/generate

请求体,修改成你执行的model:

{
  "model": "codellama:7b",
  "prompt": "Why is the sky blue?",
    "format": "json",
  "stream": false
}

返回数据:

{
    "model": "codellama:7b",
    "created_at": "2024-05-18T08:05:25.3502395Z",
    "response": "{\n\"The sky appears blue because of a phenomenon called Rayleigh scattering, which occurs when sunlight interacts with the Earth's atmosphere. When light travels through a medium, such as air or water, it encounters particles that can scatter it in different directions. In the case of the Earth's atmosphere, the tiny molecules of gases, such as nitrogen and oxygen, scatter shorter wavelengths of light (like blue and violet) more than longer wavelengths (like red and orange). This is known as the Rayleigh scattering effect.\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",
    "done": false
}

Web 端调用

Ollama 如果想要在Web端使用,需要借助OpenWebUI 这个工具。OpenWebUI 是一个为大型语言模型(LLM)设计的开源Web界面,它提供了一个用户友好的交互方式来管理和运行这些模型。OpenWebUI 可以与不同的LLM运行程序集成,包括但不限于Ollama和OpenAI兼容的API

推荐使用docker 启动OpenWebUI,如果你的Ollama与OpenWebUI部署在同一服务器上,则使用以下命令

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

如果不是在同一机器,则加个参数OLLAMA_BASE_URL

docker run -d -p 3000:8080 -e OLLAMA_BASE_URL=http://10.11.24.27 -v open-webui:/app/backend/data --name ollama-web --restart always ghcr.io/open-webui/open-webui:main

启动后输入
http://localhost:3000/或者http://10.11.24.27:3000/会跳转到如下页面
在这里插入图片描述
点击注册,注册信息可以随意写,注册后跳转到该页面
在这里插入图片描述

选择模型后可以开始对话

在这里插入图片描述
OpenWebUI 也支持下载模型,点击setting 页面,输入模型qwen:0.5b

在这里插入图片描述
成功后会有提示
在这里插入图片描述
切换到qwen:0.5b问答。
在这里插入图片描述
整体来说OpenWebUI用起来会比较方便。

总结

Ollama极大简化了大模型私有部署步骤,使得大模型运行像Docker一样简单方便。Ollama 还提供Api的方式,集成Langchain等应用也就方便了很多,结合OpenWebUI可以体验类似ChatGpt的交互,方便使用。

相关文章:

  • 2025-03-15 Python深度学习2——Numpy库
  • 深入理解 Xtensa 架构 ESP32 内存架构(SRAM、IRAM、IROM、DRAM、DROM详解)
  • Anaconda 入门指南
  • 每日一题---
  • 正点原子[第三期]Arm(iMX6U)Linux移植学习笔记-4 uboot目录分析
  • 高频面试题(含笔试高频算法整理)基本总结回顾46
  • 【C/C++算法】从浅到深学习--- 前缀和算法(图文兼备 + 源码详解)
  • 2. qt写带有槽的登录界面(c++)
  • 【bug日记】 编译错误
  • pytest快速入门 - 目录:半天掌握pytest
  • 【idea代码ai插件】利用接入硅基流动的deepseekR1的api在idea里实现问答,辅助写代码
  • Python Cookbook-4.4 循环访问序列中的元素和索引
  • 数据分布偏移检测:保障模型在生产环境中的稳定性
  • Debain-12.9使用xinference部署音频模型/audio
  • 非模态对话框
  • Linux内核IPoIB驱动中的RSS队列选择机制分析
  • Python算法竞赛实战解题策略与技巧
  • 011【fate/extra link】【概率论与数理统计】大数定律与中心极限定理 ,数理统计的基本概念,常用的统计三大分布,正态总体的抽样分布定理
  • 机器学习编译器(二)
  • TBOX+OTA+UDS
  • CMG亚太总站:没有邀请韩国偶像团体举办巡回演出
  • 陈逸飞《黄河颂》人物造型与借鉴影像意义
  • 阿曼外交部:美伊谈判因故推迟
  • “非思”的思想——探索失语者的思想史
  • 万达电影去年净利润亏损约9.4亿元,计划未来三年内新增25块IMAX银幕
  • “80后”商洛市委副书记、市政府党组副书记赵孝任商洛市副市长