浅谈人工智能之Windows:基于ollama进行本地化大模型部署

浅谈人工智能之Windows:基于ollama进行本地化大模型部署

引言

随着人工智能技术的飞速发展,大型语言模型(LLMs)已经成为推动自然语言处理领域进步的关键力量。然而,传统的云部署方式可能带来数据隐私、成本以及访问速度等方面的挑战。为了应对这些难题,Ollama作为一个开源项目应运而生,它极大地简化了在本地环境部署和管理大型语言模型的过程。本文将详细介绍如何利用Ollama工具,在您的个人设备或私有服务器上部署大模型,实现数据的完全控制与高效的模型应用。

Ollama简介

Ollama是由Meta公司开源的一个命令行工具,旨在帮助开发者和研究者在本地计算机上轻松部署和运行大型语言模型。它支持多种知名模型,如Llama 3、Code Llama等,通过Docker容器化技术,用户无需关心复杂的环境配置,即可快速启动模型服务。

准备工作

其实从网上搜索到的资料来看,基于Ollama部署大模型其实很简单,总共就3个步骤:

  1. 第一步:下载Ollama
  2. 第二步:下载大模型
  3. 第三步:使用Ollama命令运行大模型
    但是在实际的环境搭建中,仅仅上述步骤中会碰到各种各样的问题,在这里将遇到的问题一一给大家罗列,并且在网络受限的情况下,教大家如何解决。
    Ollama环境搭建
    第一步:进入Ollama进行对应的工具下载,官网地址如下:
    ollama官网
    第二步:我们可以在官方界面中直接下载Download进行下载
    在这里插入图片描述
    第三步:随后官网会根据你的操作系统自动让你自动对应系统版本
    在这里插入图片描述
    第四步:然后点击下载即可,如果网速好的情况下,就能够下载成功,但是我这边下载过程中经常出现如下错误
    在这里插入图片描述
    因此第一个问题出现:

下载超时,提示需要获取授权

问题解决如下:
第一步:登录Ollama对应的Github路径,地址如下,这里可以获取最新的Ollama版本:
ollama github地址
第二步:找到最新的版本,以我搭建的环境为例,目前Ollama最新版本是:v0.3.9,我们找到对应的Windows版本OllamaSetup.exe并且进行右键选择“复制链接地址”:
在这里插入图片描述

第三步:这步很关键,为了防止下载超时,加速下载文件,我们打开如下网站地址:
github加速网站

第四步:我们将上述复制的链接地址拷贝至打开的网站,例如我们的地址是:https://github.com/ollama/ollama/releases/download/v0.3.9/OllamaSetup.exe

在这里插入图片描述
第五步:此时发现,下载的文件会变快,然后待文件下载完成,双击OllamaSetup.exe进行安装,这里没有啥大的讲究,直接下一步安装即可。
第六步:OllamaSetup.exe环境变量设置,默认情况下我们按照好的OllamaSetup.exe的默认模型训练以后的路径会存放在:C:\Users\XXX.ollama路径下,但是由于我的C盘快满了,无法在该路径下进行放置,所以我们需要设置一个模型存放路径的环境变量。
第七步:右键“我的电脑”-属性-高级系统设置-高级-环境变量中,在系统环境变量点击新建:变量名字输入:OLLAMA_MODELS,变量值输入:D:\LLM\OllamaLLM\models(根据你实际需求进行设置)

在这里插入图片描述
第八步:设置完成以后进行保存退出,如果在设置的时候Ollama是开启的,请在任务栏右下角找到ollama图标,并且进行退出后再重新开启,请注意:Ollama是没有UI界面的,启动后只有这个图标。
在这里插入图片描述
至此,Ollama环境部署完成。

Ollama版本不匹配

建议一定要下载最新的Ollama版本,因为之前由于超时的问题没有解决,使得我在csdn上下载了一个比较低的版本v0.1.38,然后在部署完本地模型后运行模型的时候就出现如下问题

D:\LLM\qwen2>ollama run Qwen2-7B
Error: llama runner process has terminated: exit status 0xc0000409

该问题的主要原因就是版本比较老,无法进行兼容

大模型下载

由于网络限制,如果按照网上的教程进行Ollama大模型运行,命令如下:
ollama run qwen2:0.5b
运行完命令以后,你大概率会碰到如下问题:

/>ollama run qwen2:0.5b
pulling manifest
Error: pull model manifest: Get “https://registry.ollama.ai/v2/library/qwen2/manifests/0.5b”: tls: failed to verify certificate: x509: certificate signed by unknown authority

所有我们需要下载一个大模型,放到本地有进行处理后才能使用,因此本文教授大家如果下载模型,注意:ollama下载的模型需要的文件是以“.gguf”结尾,因为工作机配置有限,我们这里以qwen1_5-0_5b-chat-q2_k.gguf为例进行介绍
第一步:我们打开模型下载的网站,地址如下:
模型下载

第二步:我们在打开的网站上搜索“Qwen1.5-0.5B”,点击回车进行搜索
在这里插入图片描述
第三步:在跳出来的界面中,点击模型库
在这里插入图片描述
第四步:在跳出来的界面中,选择包含GGUF的模型库,如我们需要的qwen1_5-0_5b-chat模型库如下,点击对应的模型库进入模型下载界面
在这里插入图片描述
第五步:在跳出来的界面中,点击模型文件
在这里插入图片描述
第六步:在模型文件列表中,为了演示方便,我们下载一个比较小的模型,在对应的模型右侧点击下载:
在这里插入图片描述
至此,我们对应的大模型下载完成。

ollama模型创建

上述准备工作,我们已经准备了ollama和大模型,现在我们就准备本地将模型搭建起来
第一步:我们将新下载的模型放到一个目录下面,例如:D:\LLM\qwen1
在这里插入图片描述
第二步:我们新建一个Modelfile文件,并且将使用notepad++打开该文件,文件内容如下:

FROM qwen1_5-0_5b-chat-q2_k.gguf

输入完成以后进行保存,该文件内容跟你下载的大模型文件名称要一致哦,另外,你也可以添加一些参数,具体可参考如下网址:
千问模型设置
第三步:使用鼠标在刚才的路径:D:\LLM\qwen1下输入cmd命令
在这里插入图片描述
第四步:输入命令以后会跳出命令行窗口,我们在命令行窗口输入如下命令:

D:\LLM\qwen1>ollama create Qwen1 -f ./Modelfile

输入以后,我们可以看到如下内容

D:\LLM\qwen1>ollama create Qwen1 -f ./Modelfile
transferring model data 100%
using existing layer sha256:dafa51a44e4e9e3a96be7ad9232e3cc5bf819f90cc9b9f5ac5a848886977ecc1
using autodetected template chatml
using existing layer sha256:f02dd72bb2423204352eabc5637b44d79d17f109fdb510a7c51455892aa2d216
creating new layer sha256:21755018ac4e58739fdf5a28589d819b681e29666a77b776b60d4d3bb9df7607
writing manifest
success

当看到上述success时,我们可以看到我们的模型已经加载完成,然后大家是否还记得上述内容的模型路径设置,我们可以打开我们之前设置的模型放置的环境变量:D:\LLM\OllamaLLM\models,我们可以看到如下内容:
在这里插入图片描述
第五步:查看模型,我们使用如下命令查看模型列表

D:\LLM\qwen1>ollama list
NAME ID SIZE MODIFIED
Qwen1:latest 7f7343f3274f 298 MB 35 seconds ago

第六步:模型启动,我们通过如下命令进行模型启动

D:\LLM\qwen1>ollama run Qwen1

我们可以看到模型启动了,并且可以通过命令行中输入信息进行交流
在这里插入图片描述
至此,在windows环境下的ollama加载本地大模型环境搭建完成。

总结

通过Ollama,本地化部署大模型变得简单且高效。这不仅保障了数据的隐私安全,还提供了灵活的定制化选项和低成本的运行环境。无论是研究、开发还是个人学习,Ollama都是一个值得尝试的强大工具。随着模型和服务的持续迭代,未来本地化部署的体验和功能将会更加丰富和完善。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【滑动窗口】将 x 减到 0 的最小操作数

将 x 减到 0 的最小操作数 将 x 减到 0 的最小操作数题目思路讲解代码书写 将 x 减到 0 的最小操作数 题目 题目链接: 将 x 减到 0 的最小操作数 思路讲解 按照题目的思路去做这一题是非常恶心的, 因此我们采用正难则反思路. 将问题转换为: 求中间某一个最长的数组长度, 使…

hyperf json-rpc

安装 安装docker hyperf 安装 hyperf-rpc-server-v8 (服务端) docker run --name hyperf-rpc-server-v8 \ -v /www/docker/hyperf-rpc-server:/data/project \ -w /data/project \ -p 9508:9501 -it \ --privileged -u root \ --entrypoint /bin/sh \…

Unity学习路线

目录 一、Unity官方推荐路线二、AI总结的学习路线1、Unity学习路线图(文言一心)一、基础入门(初级)二、进阶提升(中级)三、高级深入(高级)四、专家级探索 注意事项 2、Unity学习路线…

【2024 CCF编程能力等级认证(GESP)C++ 】 计算机基础知识

目录 1. 引言2. 计算机系统结构2.1 中央处理器(CPU - Central Processing Unit)2.1.1 运算器 2.1.2 控制器2.1.3 性能指标2.2 存储器2.3 输入设备2.4 输出设备 3. 计算机系统层次结构4. 操作系统4.1 操作系统分类4.2 操作系统常见操作4.2.1 基本开关机操…

Mqtt消费端实现的几种方式

此处测试的mqtt的Broker是使用的EMQX 5.7.1&#xff0c;可移步至https://blog.csdn.net/tiantang_1986/article/details/140443513查看详细介绍 一、方式1 添加必要的依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spr…

直播相关概念

文章目录 1、腾讯云直播2、直播&#xff1a;视频直播3、常用的直播组合&#xff1a;4、推流&#xff1a;主播通过推流地址进行视频的推送5、拉流&#xff1a;观众通过拉流地址进行视频的播放6、准备工作6.1、进入腾讯云直播 1、腾讯云直播 直播即时聊天&#xff1a;打赏 文字 …

Linux运维--iptables防火墙命令以及端口号等详解(全)

Linux之iptable防火墙命令以及端口号等详解&#xff08;全&#xff09; 在Linux系统中&#xff0c;你可以使用firewalld和iptables来管理和设置防火墙规则。Firewalld是一个动态管理防火墙的工具&#xff0c;而iptables是一个更底层的工具&#xff0c;可以直接配置Linux内核的…

【重学 MySQL】一、数据库概述

【重学 MySQL】一、数据库概述 为什么要使用数据库数据库与数据库管理系统数据库&#xff08;Database&#xff09;数据库管理系统&#xff08;DBMS&#xff09;数据库与数据库管理系统的关系数据库是数据存储的容器数据库管理系统是数据库的管理者相互依存的关系数据库系统的组…

【网络安全】服务基础第一阶段——第六节:Windows系统管理基础---- DNS部署与安全

计算机智能识别并用IP地址定位&#xff0c;例如我们想要访问一个网页&#xff0c;其实是只能使用这个网页的IP地址&#xff0c;即四位的0&#xff5e;255来访问&#xff0c;但这一串数字难以记忆&#xff0c;于是就有了DNS&#xff0c;将难以记忆的数字转化为容易记忆的域名&am…

Elasticsearch 介绍

1、课程介绍 1.1 ES 8.x 演化进程 版本号发布日期多少个次要版本迭代历时8.02022年2月11日&#xff1f;至今7.02019年4月11日17个次要版本34个月6.02017年11月15日8个次要版本17个月5.02016年10月27日6个次要版本13个月 2、Elasticsearch 是什么 2.1 概念 2.1.1 标准定义 …

文件上传的学习

文件上传漏洞 文件上传漏洞是指由于程序员在对用户文件上传部分的控制不足或者处理缺陷&#xff0c;而导致的用户可以越过其本身权限向服务器上上传可执行的动态脚本文件。这里上传的文件可以是木马&#xff0c;病毒&#xff0c;恶意脚本或者WebShell等。“文件上传”本身没有…

计算机二级 C程序设计(2020B场)全解

A选项&#xff1a;C语言中&#xff0c;一共有3种结构。分别是顺序结构、选择结构&#xff08;else-if语句&#xff09;、循环结构&#xff08;for、while语句&#xff09;。因此&#xff0c;C语言具有结构化特征。 B选项&#xff1a;不仅能解决简单问题&#xff0c;3种基本结构…

WPF MVVM如何在ViewModel直接操作控件对象

早些年在WPF中使用COM组件时&#xff0c;需要在ViewModel中操作COM组件中的控件对象&#xff0c;但是这个控件对象又不支持绑定&#xff0c; 后面的解决办法是在窗口加载时&#xff0c;将控件对象以参数传递到Loaded事件的处理命令中&#xff0c;然后将这个对象记录下来&#…

Ubuntu 18.04升级gclibc为2.28版本

一、查看系统支持的 GLIBC 版本号 ​strings /lib/x86_64-linux-gnu/libc.so.6 | grep GLIBC_出现以下&#xff0c;说明到2.27版本&#xff0c;没有2.28版本&#xff0c;所以我们需要手动安装 GLIBC_2.2.5 GLIBC_2.2.6 GLIBC_2.3 GLIBC_2.3.2 GLIBC_2.3.3 GLIBC_2.3.4 GLIBC_…

Docker入门笔记

Docker 文章目录 Docker1. 下载 &#xff08;centos&#xff09;2. 部署 MySQL3. 常用命令4. 数据卷5. 自定义镜像6. Java 项目部署 1. 下载 &#xff08;centos&#xff09; 卸载旧版 yum remove docker \docker-client \docker-client-latest \docker-common \docker-lates…

84、 k8s的pod基础+https-harbor

一、pod基础&#xff1a; pod进阶&#xff1a;探针&#xff08;面试必问—扩缩容&#xff0c;挂载&#xff09; 1.1、pod的定义 pod是k8s里面的最小单位&#xff0c;pod也是最小运行容器的资源对象。 容器时基于pod在k8s集群当中工作。 在k8s集群当中&#xff0c;一个pod就…

第二阶段:机器学习经典算法-02决策树与随机森林-1.决策树概述

该视频主要讲述了决策树与随机森林算法的基本概念和构造过程。决策树是一个树形结构&#xff0c;用于进行一系列的决策&#xff0c;可以用于分类和回归问题。随机森林算法是基于决策树的集成学习算法&#xff0c;通过构建多棵决策树并结合它们的预测结果来提高分类准确率。视频…

asp.net core web api项目添加自定义中间件

前言 在asp.net core web api项目中&#xff0c;默认提供了很多的中间件&#xff0c;比如访问静态文件中间件UseStaticFiles&#xff0c;跨域配置中间件UseCors&#xff0c;路由中间件UseRouting,身份验证中间件UseAuthentication。 那么如何添加一些自定义的中间件呢。 需求…

java SpringBoot 使用ijpay对接微信支付-商家转账到零钱

使用的maven版本&#xff1a;2.9.11 由于ijpay中提供的实体类没有设置回调参数的属性&#xff0c; 这里是自定义一个实体类:InitiateBatchTransferRequest代码如下&#xff1a; package com.foo.web.controller.pay.wxpay;import com.ijpay.wxpay.model.v3.TransferDetailInput…

【办公软件】Excel如何开n次方根

在文章&#xff1a;【分立元件】电阻的基础知识中我们学习电阻值、电阻值容差标注相关标准。知道了标准将电阻值标准数列化。因此电阻值并非1Ω、2Ω、3Ω那样的整数&#xff0c;而是2.2Ω、4.7Ω那样的小数。 这是因为电阻值以标准数(E系列)为准。系列的“E”是Exponent(指数)…