Ollama+OpenWebUI本地部署大模型

news2025/3/16 16:48:23

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的交互,方便使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2316155.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何打包数据库mysql数据,并上传到虚拟机上进行部署?

1.连接数据库&#xff0c;使得我们能看到数据库信息&#xff0c;才能进行打包上传 2. 3. 导出结果如下&#xff0c;是xml文件 4.可以查询每个xml文件的属性&#xff0c;确保有大小&#xff0c;这样才是真实导出 5跟着黑马&#xff0c;新建文件夹&#xff0c;并且把对应的东西放…

Vue 自定义指令深度解析与应用实践

文章目录 1. 自定义指令概述1.1 核心概念1.2 指令生命周期 2. 自定义指令基础2.1 指令注册2.2 指令使用 3. 指令钩子函数详解3.1 钩子函数参数3.2 钩子函数示例 4. 自定义指令应用场景4.1 表单自动聚焦4.2 权限控制4.3 图片懒加载 5. 高级应用技巧5.1 动态指令参数5.2 指令修饰…

Android 手机启动过程

梳理 为了梳理思路&#xff0c;笔者画了一幅关于 Android 手机启动的过程图片内容纯属个人见解&#xff0c;如有错误&#xff0c;欢迎各位指正

Unity 开发资源汇总 | 插件 | 模型 | 源码(不断更新中,建议收藏)

&#x1f493; 欢迎访问 Unity 打怪升级大本营 Unity是一个强大的游戏开发平台&#xff0c;它提供了丰富的工具和资源&#xff0c;让开发者能够创造出令人惊叹的游戏和交互式体验。无论你是初学者还是经验丰富的开发者&#xff0c;Unity的生态系统中总有一些资源可以帮助你提升…

JVM崩溃时产生的文件 hs_err.pid.log

hs_err.pid.log hs_err.pid.log&#xff1a;当jvm崩溃时&#xff0c;会生成一个hs_err_pid.log文件&#xff0c;并且把它存放到程序目录下&#xff0c;可以通过该文件来定位导致jvm崩溃的原因。 jvm崩溃&#xff0c;是由jvm自身的bug或者本地方法执行错误引起的&#xff0c;本…

聊聊 Redis 的一些有趣的特性(上)

聊聊 Redis 的一些有趣的特性&#xff08;上&#xff09; 一、持久化 Redis 是内存数据库&#xff0c;数据全部保存在内存中。如果服务器发生宕机&#xff0c;内存中的数据将会全部丢失。为防止系统崩溃后数据丢失&#xff0c;Redis 提供了持久化功能&#xff0c;可将内存中的…

使用OpenCV和MediaPipe库——抽烟检测(姿态监控)

目录 抽烟检测的运用 1. 安全监控 (1) 公共场所禁烟监管 (2) 工业安全 2. 智能城市与执法 (1) 城市违章吸烟检测 (2) 无人值守管理 3. 健康管理与医疗 (1) 吸烟习惯分析 (2) 远程监护 4. AI 监控与商业分析 (1) 保险行业 (2) 商场营销 5. 技术实现 (1) 计算机视…

怎么有效降低知网AIGC率

在学术创作日益规范且数字化检测技术不断发展的当下&#xff0c;知网 AIGC 检测成为了众多创作者关注的焦点。许多人苦恼于如何有效降低知网 AIGC 率&#xff0c;让自己的作品在通过检测的同时&#xff0c;彰显出真实的创作水平与独特性。接下来&#xff0c;我们就深入探讨降低…

C语言每日一练——day_8

引言 针对初学者&#xff0c;每日练习几个题&#xff0c;快速上手C语言。第八天。&#xff08;连续更新中&#xff09; 采用在线OJ的形式 什么是在线OJ&#xff1f; 在线判题系统&#xff08;英语&#xff1a;Online Judge&#xff0c;缩写OJ&#xff09;是一种在编程竞赛中用…

Mac中nvm切换node版本失败,关闭终端再次打开还是之前的node

Mac中使用 nvm 管理 node 版本&#xff0c;在使用指令&#xff1a;nvm use XXX 切换版本之后。 关闭终端&#xff0c;再次打开&#xff0c;输入 node -v 还是得到之前的 node 版本。 原因&#xff1a; 在这里这个 default 中有个 node 的版本号&#xff0c;使用 nvm use 时&a…

更改 Windsuf 插件 Market

前言 之前一直用 VScode&#xff0c;现在全部迁移到 Windsuf 了&#xff0c;但是&#xff0c;Windsuf 默认的插件市场里没有我喜欢的主题……我又有点强迫症&#xff0c;所以&#xff0c;把Windsuf 默认的插件市场换成 VScode 的&#x1f611; 不废话 原本的&#xff1a; 改…

Vue 过滤器深度解析与应用实践

文章目录 1. 过滤器概述1.1 核心概念1.2 过滤器生命周期 2. 过滤器基础2.1 过滤器定义2.2 过滤器使用 3. 过滤器高级用法3.1 链式调用3.2 参数传递3.3 动态过滤器 4. 过滤器应用场景4.1 文本格式化4.2 数字处理4.3 数据过滤 5. 性能优化与调试5.1 性能优化策略5.2 调试技巧 6. …

​AI时代到来,对电商来说是效率跃升,还是温水煮青蛙

​凌晨三点的义乌商贸城&#xff0c;95后创业者小王&#xff0c;静静地盯着屏幕上的AI工具&#xff0c;竟露出了笑容。这个月他的跨境玩具店销量提升了不少&#xff0c;从之前的状态翻了3倍&#xff1b;而且团队人数有所变化&#xff0c;从5人缩减到了2人&#xff08;其中包括他…

Androidstudio实现一个app引导页(超详细)

文章目录 1. 功能需求2. 代码实现过程1. 创建布局文件2. 创建引导页的Adapter3. 实现引导页Activity4. 创建圆点指示器的Drawable5. 创建“立即体验”按钮的圆角背景 2.效果图 1. 功能需求 1、需要和原型图设计稿对应的元素保持一致的样式。 2、引导页需要隐藏导航栏&#xff…

[思考记录]关于AI辅助独立思考

本来是写两个反思类的记录&#xff0c;已经有了一些思路&#xff0c;并且都写了个开头。但手欠&#xff0c;去试着问了下AI&#xff0c;发现它的分析总结比我透彻。额......既然你这么厉害&#xff0c;那就你来&#xff0c;我向你学&#xff01; 那么&#xff0c;后续我再做类似…

CVPR-2025 | 长程视觉语言导航平台与数据集:迈向复杂环境中的智能机器人

作者&#xff1a;Xinshuai Song, Weixing Chen, Yang Liu, Weikai Chen, Guanbin Li, Liang Lin 单位&#xff1a;中山大学&#xff0c;Independent Researcher&#xff0c;鹏城实验室 项目主页&#xff1a;https://hcplab-sysu.github.io/LH-VLN 论文地址&#xff1a;https…

Apifox Helper 自动生成API接口文档

在我们开发过程中我们在编写请求地址和编写请求参数的时候特别花费时间耗费了我们很多时间&#xff0c;作为一个程序员&#xff0c;更应该把精力时间集中在开发上&#xff0c; Apifox Helper 是 Apifox 团队针对 IntelliJ IDEA 环境所推出的插件&#xff0c;可以在 IDEA 环境中…

历年云南大学计算机复试上机真题

历年云南大学计算机复试机试真题 在线评测&#xff1a;传送门&#xff1a;pgcode.cn 喝饮料 题目描述 商店里有 n 中饮料&#xff0c;第 i 种饮料有 mi 毫升&#xff0c;价格为 wi。 小明现在手里有 x 元&#xff0c;他想吃尽量多的饮料&#xff0c;于是向你寻求帮助&#x…

Postman中Authorization和Headers的区别

案例 笔者在进行token验证的时候碰到的问题 一般如果是进行token验证&#xff0c;大部分是在Headers下面添加token名称及token的值 这样&#xff1a;后端提取请求头的token即可 还有一种是&#xff0c;左侧选择Bearer Token&#xff0c;右侧添加token的值,后端传递的 大概…

python使用openai的api的时候声明不要走系统代理,默认是走的

配置了以上的方式&#xff0c;还是不行。因为项目默认使用的是国内的大模型服务商&#xff0c;但是接口是和openapi通用的&#xff0c;所以可以直接使用&#xff0c;但是项目中有的链接还是要走系统代理的&#xff0c;所以就需要将两者区分开&#xff0c;配置openapi不走系统代…