第一篇:教你轻松部署本地大模型(Ollama)

news2024/11/25 22:35:23

一、前言

搞研发的,想学习大模型的,很多都想本地部署一波,体验一下,部署是学习的第一步,我们不仅仅是要理论的巨人,还要成为实战的专家。不要恐惧,不要恐惧,不要恐惧,重要的问题说三遍,新手会面临很多问题:

1. 大模型能本地化部署吗?

2. 大模型本地化部署对硬件有什么要求没?

3. 大模型本地化部署难度大吗?

4. 大模型部署完后带UI界面吗?

当你跟着我部署完大模型后,这些问题将迎刃而解。

二、部署(跟我一起,别光看)

先学习最简单的部署方式,复杂的,大部分人hold不住。较为麻烦,我们作为学习,ollama安装已经够了。

1. 下载Ollama

Ollama是一个开源的 LLM(大型语言模型)服务工具,用于简化在本地运行大语言模型、降低使用大语言模型的门槛,使得大模型的开发者、研究人员和爱好者能够在本地环境快速实验、管理和部署最新的大语言模型。 

Ollama收录了哪些大模型呢?下面举几个典型的大模型:

GLM:清华开源的大模型,在国内较有名。

Qwen2: 百度的千问大模型。

Llama3:是 Meta 公司开源的备受欢迎的一个通用大语言模型。

如何查看Ollama支持哪些大模型,可以通过https://ollama.com/library查看。

Ollama的下载地址:https://ollama.com/

根据自己的操作系统下载,就可以了。

2. 安装Ollama

安装Ollama很简单,一路点点点就可以了。

需要注意的是:

OLLAMA_MODELS:模型文件存放目录,默认目录为当前用户目录(Windows 目录:C:\Users%username%.ollama\models,MacOS 目录:~/.ollama/models,Linux 目录:/usr/share/ollama/.ollama/models),如果是 Windows 系统建议修改(如:D:\OllamaModels),避免 C 盘空间吃紧。

像我的mac本,就是打开终端,然后cd ~/.ollama/

如何验证是否安装成功:

在终端执行ollama list,不报错就表示成功了。(如何打开终端,自行百度)

3. 部署大模型

Ollama支持很多大模型,我们可以通过以下页面查看:https://ollama.com/library。

作为学习,这里我推荐安装清华的GLM大模型。

拉取大模型
ollama pull glm4

如果拉取失败,可能是被强了,需要搭建梯子(VPN)。

我们可以通过指令看看有没有拉取成功:

ollama list
运行大模型
ollama run glm4

成功后是这样的:

4. 通过接口访问大模型

chat接口
curl http://localhost:11434/api/chat -d '{ "model": "glm4","messages":[{"role":"user","content": "为什么天空是蓝色的?"}]}'
generate接口 
curl http://localhost:11434/api/generate -d '{ "model": "glm4","prompt": "为什么天空是蓝色的?"}'

5. 部署大模型UI

这里需要VPN,这又是一道坎,淘宝和其他渠道自己去获取。

1)安装Node.js

下载并安装 Node.js 工具:https://nodejs.org/zh-cn,也可以指令安装。

2)下载ollama-webui工程代码
git clone https://github.com/ollama-webui/ollama-webui-lite ollama-webui
3)切换ollama-webui代码的目录
cd ollama-webui
4)安装npm或者yarn

推荐yarn,不容易出问题,使用npm需要一定的使用经验
设置 Node.js 工具包镜像源(下载提速):

npm config set registry http://mirrors.cloud.tencent.com/npm/
5)安装 Node.js 依赖的工具包

如何安装了npm,使用

npm install 

如果安装了yarn,使用

yarn install
6)启动 Web 可视化界面

npm run dev 或yarn run dev

7)网页访问大模型

http://127.0.0.1:3000/

如果使用IP地址的方式访问,可能会导致webui连接不上大模型,这个docker有关,麻烦能省就省。

6. 大模型API访问

python或java的使用,将在下面的文章中讲解,这里将不展开。

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

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

相关文章

【数学建模】典型相关分析

典型相关分析(Canonical Correlation Analysis, CCA)是一种统计方法,用于寻找两个多变量数据集之间的线性关系。这种分析方法可以用来衡量两个数据集之间的相关性,并找出能够最好地解释这种相关性的变量组合。 典型相关分析的基本…

Android系列基础知识总结

四大组件 Activity Activity生命周期 不同场景下Activity生命周期的变化过程 启动Activity: onCreate()—>onStart()—>onResume(),Activity进入运行状态。Activity退居后台: 当前Activity转到新的Activity界面或按Home键回到主屏&a…

WebGL系列教程二(环境搭建及着色器初始化)

目录 1 前言2 新建html页面3 着色器介绍3.1 顶点着色器、片元着色器与光栅化的概念3.2 声明顶点着色器3.3 声明片元着色器 4 坐标系(右手系)介绍5 着色器初始化5.1 给一个画布canvas5.2 获取WebGL对象5.3 创建着色器对象5.4 获取着色器对象的源5.5 绑定着色器的源5.6 编译着色器…

好看好听的小猪包扩音器,轻巧便携更好用,得胜E10上手

我们以前在学校、景区等地方,都见过教师、讲解员所使用的扩音器,这类设备大多做得笨重粗糙,而且音质一般,声音特别粗糙刺耳,对使用者和旁观者影响都不好。最近我发现了一款得胜E10扩音器,大大提升了这种便携…

HTTPX 与 AIOHTTP 与 Requests:选择哪个?

Python 有三个众所周知的库用于发送 HTTP(超文本传输协议)请求: HTTPX、AIOHTTP 和 Requests。 所有这些都有其独特的优点和缺点。 通常,您需要对同步 HTTP 请求使用 Requests,在需要同步和异步混合时使用 HTTPX&#…

场景解决方案丨突破成本限制,中小企业如何快速搭建后台管理系统

信息化时代下业务数据量激增,云计算、物联网、人工智能等技术的成本大幅度降低及普及,这些变化推动着市场需求发生改变,使数字化转型成为各行业的共同趋势。在这一背景下,大型企业利用其经济和技术优势巩固市场领导地位&#xff0…

养宠浮毛严重怎么清理?希喂、范罗士、IAM宠物空气净化器真实测评

宠物毛发不等于宠物浮毛?这可真是问到我的知识盲区了。养猫来我已经接受了目光所及之处都是猫毛,可以心平气和的打扫被猫毛占据的屋子。自认为是很勤快的人,家里也一直保持着干净整洁,结果上星期鼻子不舒服去看医生,告…

发现一个有趣的滑动组件样式,并给它实现了

最近在浏览网站的时候看到一个有趣的滑动组件的样式,觉得很有趣。一时有兴趣就去用代码实现了一下: 这里我就不从零开始实现了,借用 Material UI Slider 快速实现,基本上就是重新写样式覆盖。 Material UI 上的 Slider 组件默认样…

面试产品经理,怎样描述过往经历,才能让面试官印象深刻?

金三银四求职季,你是不是也有面试的冲动!但面试并不是头脑一热就能取得好结果,在此之前,必须得有周全的准备,才能应对好面试官的“连环问”! 所以,给大家分享这篇产品经理面试干货文章&#xf…

【数学建模】相关系数

第一部分:相关系数简介 总体与样本: 总体:指研究对象的全体,比如全国人口普查数据。样本:从总体中抽取的一部分个体,如通过问卷调查收集的学生数据。 皮尔逊相关系数: 总体皮尔逊相关系数&…

GPIO(General Purpose Input/Output)输入/输出

GPIO最简单的功能是输出高低电平;GPIO还可以被设置为输入功能,用于读取按键等输入信号;也可以将GPIO复用成芯片上的其他外设的控制引脚。 STM32F407ZGT6有8组IO。分别为GPIOA~GPIOH,除了GPIOH只有两个IO,其余每组IO有…

cesium.js 入门到精通(5)

现在我们看这个地图是 属于一个平面的 如果我们想把这个弄成 那种真实的高低起伏的 山脉 或者 其他的建筑显示 我们可以使用 添加地形 terrainProvider: new Cesium.CesiumTerrainProvider({url: "./terrains/gz",}), 这是一个参数 配置 地形 整体代码 <templa…

vba发邮件:如何设置自动化发送电子邮件?

vba发邮件的技巧有哪些&#xff1f;VBA如何调用outlook发邮件&#xff1f; VBA发邮件功能是一个非常实用的工具&#xff0c;能够帮助用户自动发送电子邮件&#xff0c;减少手动操作的时间和错误。AokSend将详细介绍如何通过VBA发邮件来实现自动化发送电子邮件的设置。 VBA发邮…

macOS上谷歌浏览器的十大隐藏功能

谷歌浏览器&#xff08;Google Chrome&#xff09;在macOS上拥有一系列强大而隐蔽的特性&#xff0c;这些功能能显著提高您的浏览体验。从多设备同步到提升安全性和效率&#xff0c;这些被低估的功能等待着被发掘。我们将逐步探索这些功能&#xff0c;帮助您最大化利用谷歌浏览…

让人眼前一亮的软件测试简历,收不到面试邀请算我输

不知道大家的简历是不是都写成下面这样 根据需求文档进行需求分析 熟悉业务流程&#xff0c;明确测试点 根据测试点设计测试用例 参与评审测试用例 提交和回归跟踪缺陷&#xff0c;确认修复完成之后关闭Bug 通过使用Fiddler进行抓包分析并定位前后端Bug 使用简单的SQL语…

【北京迅为】《STM32MP157开发板使用手册》- 第二十五章Cortex-M4 GPIO_LED实验

iTOP-STM32MP157开发板采用ST推出的双核cortex-A7单核cortex-M4异构处理器&#xff0c;既可用Linux、又可以用于STM32单片机开发。开发板采用核心板底板结构&#xff0c;主频650M、1G内存、8G存储&#xff0c;核心板采用工业级板对板连接器&#xff0c;高可靠&#xff0c;牢固耐…

什么是线程池?从底层源码入手,深度解析线程池的工作原理

导航&#xff1a; 【Java笔记踩坑汇总】Java基础JavaWebSSMSpringBootSpringCloud瑞吉外卖/谷粒商城/学成在线设计模式面试题汇总性能调优/架构设计源码解析 目录 一、什么是线程池&#xff1f; 1.1 基本介绍 1.2 创建线程的两种方式 1.2.1 方式1&#xff1a;自定义线程池…

山峰个数【python实现】

思路见此处 def get_mountain_peaks(height):peak_count 0n len(height)if n 0:#如果一个山高都没有&#xff0c;return 0return 0for i in range(1,n-1):if height[i] > height[i-1] and height[i] > height[i1]:peak_count 1if height[0] > height[1] and n &g…

TimedRotatingFileHandler 修改 suffix 后 backupCount 设置失效无法自动删除文件

本文主要分析 TimedRotatingFileHandler 在实际使用中 backupCount 设置未生效的问题。源码分析显示&#xff0c;文件删除依赖于后缀 suffix 的正则匹配&#xff0c;如果自定义了 suffix 格式&#xff0c;必须同步更新 extMatch 的正则表达式&#xff08;保证正则表达式可以正常…

国庆出游季,南卡Runner Pro5骨传导耳机让旅途更完美!

国庆长假将至&#xff0c;无论是计划一场远行还是近郊的户外活动&#xff0c;一款适合的耳机都能让旅途更加愉快。南卡Runner Pro5骨传导耳机以其独特的设计和功能&#xff0c;成为了国庆出行的理想伴侣。 首先&#xff0c;骨传导耳机通过颅骨传递声音&#xff0c;避免了传统耳…