LLM大模型部署全攻略:Ollama、OpenLLM、LocalAI与Dify助力高效应用开发

AI大模型-王哥 2024-09-19 08:31:01 阅读 89

LLM大模型部署实战指南:Ollama简化流程,OpenLLM灵活部署,LocalAI本地优化,Dify赋能应用开发

1. Ollama 部署的本地模型(🔺)

Ollama 是一个开源框架,专为在本地机器上便捷部署和运行大型语言模型(LLM)而设计。,这是 Ollama 的官网地址:ollama.com/

以下是其主要特点和功能概述:

简化部署:Ollama 目标在于简化在 Docker 容器中部署大型语言模型的过程,使得非专业用户也能方便地管理和运行这些复杂的模型。

轻量级与可扩展:作为轻量级框架,Ollama 保持了较小的资源占用,同时具备良好的可扩展性,允许用户根据需要调整配置以适应不同规模的项目和硬件条件。

API支持:提供了一个简洁的 API,使得开发者能够轻松创建、运行和管理大型语言模型实例,降低了与模型交互的技术门槛。

预构建模型库:包含一系列预先训练好的大型语言模型,用户可以直接选用这些模型应用于自己的应用程序,无需从头训练或自行寻找模型源

在这里插入图片描述

1.1 一键安装

curl: (77) error setting certificate verify locations:CAfile: /data/usr/local/anaconda/ssl/cacert.pemCApath: none 报错原因: cacert.pem 的寻址路径 CAfile 不对,也就是在该路径下找不到文件。

解决方法:

找到你的 cacert.pem 文件所在位置 /path/to/cacert.pem。如果你没有该证书,可以先在 curl.se/ca/cacert.p… 下载,保存在某个目录中。设置环境变量

<code>export CURL_CA_BUNDLE=/path/to/cacert.pem

#将"/path/to/cacert.pem"替换为你的证书文件的实际路径。

export CURL_CA_BUNDLE=/www/anaconda3/anaconda3/ssl/cacert.pem

执行下载

curl -fsSL https://ollama.com/install.sh | sh

1.2 手动安装

ollama中文网:ollama.fan/getting-sta…

下载 ollama 二进制文件:Ollama 以自包含的二进制文件形式分发。将其下载到您的 PATH 中的目录:

sudo curl -L https://ollama.com/download/ollama-linux-amd64 -o /usr/bin/ollama

sudo chmod +x /usr/bin/ollama

2. 将 Ollama 添加为启动服务(推荐):为 Ollama 创建一个用户:

sudo useradd -r -s /bin/false -m -d /usr/share/ollama ollama

3.在 /etc/systemd/system/ollama.service 中创建一个服务文件:

#vim ollama.service

[Unit]

Description=Ollama Service

After=network-online.target

[Service]

ExecStart=/usr/bin/ollama serve

User=ollama

Group=ollama

Restart=always

RestartSec=3

[Install]

WantedBy=default.target

3. 然后启动服务:

sudo systemctl daemon-reload

sudo systemctl enable ollama

4. 启动 Ollama¶ 使用 systemd 启动 Ollama:

sudo systemctl start ollama

5. 更新,查看日志

#再次运行

sudo curl -L https://ollama.com/download/ollama-linux-amd64 -o /usr/bin/ollama

sudo chmod +x /usr/bin/ollama

#要查看作为启动服务运行的 Ollama 的日志,请运行:

journalctl -u ollama

6. 步骤7:关闭 Ollama 服务

#关闭ollama服务

service ollama stop

1.3 Linux内网离线安装Ollama

查看服务器CPU的型号

##查看Linux系统CPU型号命令,我的服务器cpu型号是x86_64

lscpu

2. 步骤2:根据CPU型号下载Ollama安装包,并保存到目录

下载地址: github.com/ollama/olla…

#x86_64 CPU选择下载ollama-linux-amd64

#aarch64|arm64 CPU选择下载ollama-linux-arm64

在这里插入图片描述

<code>#有网机器下载过来也一样

wget https://ollama.com/download/ollama-linux-amd64

下载到离线服务器上:/usr/bin/ollama ollama就是你下载的ollama-linux-amd64 改名了(mv),其他步骤一致

1.4 修改存储路径

Ollama模型默认存储在:

macOS: ~/.ollama/modelsLinux: /usr/share/ollama/.ollama/modelsWindows: C:\Users.ollama\models

如果 Ollama 作为 systemd 服务运行,则应使用以下命令设置环境变量systemctl:

通过调用 来编辑 systemd 服务systemctl edit ollama.service。这将打开一个编辑器。

Environment对于每个环境变量,在部分下添加一行[Service]:

直接在“/etc/systemd/system/ollama.service”增了2行:

[Service]

Environment="OLLAMA_HOST=0.0.0.0:7861"code>

Environment="OLLAMA_MODELS=/www/algorithm/LLM_model/models"code>

3. 保存并退出。

重新加载systemd并重新启动 Ollama:

systemctl daemon-reload

systemctl restart ollama

参考链接:github.com/ollama/olla…

使用 systemd 启动 Ollama:

sudo systemctl start ollama

6. 终止

终止(ollama加载的大模型将会停止占用显存,此时ollama属于失联状态,部署和运行操作失效,会报错:

Error: could not connect to ollama app, is it running?需要启动后,才可以进行部署和运行操作

systemctl stop ollama.service

终止后启动(启动后,可以接着使用ollama 部署和运行大模型)

systemctl start ollama.service

1.5 启动LLM

下载模型

ollama pull llama3.1

ollama pull qwen2

在这里插入图片描述

运行大模型

<code>ollama run llama3.1

ollama run qwen2

在这里插入图片描述

查看是否识别到大模型: <code>ollama list, 如果成功, 则会看到大模型

ollama list

NAME ID SIZE MODIFIED

qwen2:latest e0d4e1163c58 4.4 GB 3 hours ago

使用该ollama ps命令查看当前已加载到内存中的模型。

NAME ID SIZE PROCESSOR UNTIL

qwen2:latest e0d4e1163c58 5.7 GB 100% GPU 3 minutes from now

nvidia-smi查看

+---------------------------------------------------------------------------------------+code>

| NVIDIA-SMI 535.86.10 Driver Version: 535.86.10 CUDA Version: 12.2 |

|-----------------------------------------+----------------------+----------------------+

| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |

| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |

| | | MIG M. |

|=========================================+======================+======================|

| 0 Tesla V100-SXM2-32GB On | 00000000:00:08.0 Off | 0 |

| N/A 35C P0 56W / 300W | 5404MiB / 32768MiB | 0% Default |

| | | N/A |

+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+

| Processes: |

| GPU GI CI PID Type Process name GPU Memory |

| ID ID Usage |

|=======================================================================================|

| 0 N/A N/A 3062036 C ...unners/cuda_v11/ollama_llama_server 5402MiB |

+---------------------------------------------------------------------------------------+

启动后,我们可验证是否可用:

curl http://10.80.2.195:7861/api/chat -d '{

"model": "llama3.1",

"messages": [

{ "role": "user", "content": "why is the sky blue?" }

]

}'

1.6 更多其他配置

Ollama 可以设置的环境变量

OLLAMA_HOST:这个变量定义了Ollama监听的网络接口。通过设置OLLAMA_HOST=0.0.0.0,我们可以让Ollama监听所有可用的网络接口,从而允许外部网络访问。

OLLAMA_MODELS:这个变量指定了模型镜像的存储路径。通过设置OLLAMA_MODELS=F:\OllamaCache,我们可以将模型镜像存储在E盘,避免C盘空间不足的问题。

OLLAMA_KEEP_ALIVE:这个变量控制模型在内存中的存活时间。设置OLLAMA_KEEP_ALIVE=24h可以让模型在内存中保持24小时,提高访问速度。

OLLAMA_PORT:这个变量允许我们更改Ollama的默认端口。例如,设置OLLAMA_PORT=8080可以将服务端口从默认的11434更改为8080。

OLLAMA_NUM_PARALLEL:这个变量决定了Ollama可以同时处理的用户请求数量。设置OLLAMA_NUM_PARALLEL=4可以让Ollama同时处理两个并发请求。

OLLAMA_MAX_LOADED_MODELS:这个变量限制了Ollama可以同时加载的模型数量。设置OLLAMA_MAX_LOADED_MODELS=4可以确保系统资源得到合理分配。

Environment=“OLLAMA_PORT=9380” 没有用

这样指定:Environment="OLLAMA_HOST=0.0.0.0:7861"code>

指定 GPU 本地有多张 GPU,如何用指定的 GPU 来运行 Ollama? 在Linux上创建如下配置文件,并配置环境变量 CUDA_VISIBLE_DEVICES 来指定运行 Ollama 的 GPU,再重启 Ollama 服务即可【测试序号从0还是1开始,应是从0开始】。

vim /etc/systemd/system/ollama.service

[Service]

Environment="CUDA_VISIBLE_DEVICES=0,1"code>

1.7 Ollama常见命令

重启 ollama

systemctl daemon-reload

systemctl restart ollama

2. 重启 ollama 服务

ubuntu/debian

sudo apt update

sudo apt install lsof

stop ollama

lsof -i :11434

kill <PID>

ollama serve

Ubuntu

sudo apt update

sudo apt install lsof

stop ollama

lsof -i :11434

kill <PID>

ollama serve

确认服务端口状态:

netstat -tulpn | grep 11434

配置服务

为使外网环境能够访问到服务,需要对 HOST 进行配置。

打开配置文件:

vim /etc/systemd/system/ollama.service

根据情况修改变量 Environment:

服务器环境下:

Environment="OLLAMA_HOST=0.0.0.0:11434"code>

虚拟机环境下:

Environment="OLLAMA_HOST=服务器内网IP地址:11434"code>

1.8 卸载Ollama

如果决定不再使用Ollama,可以通过以下步骤将其完全从系统中移除:

(1)停止并禁用服务:

sudo systemctl stop ollama

sudo systemctl disable ollama

(2)删除服务文件和Ollama二进制文件:

sudo rm /etc/systemd/system/ollama.service

sudo rm $(which ollama)

(3)清理Ollama用户和组:

sudo rm -r /usr/share/ollama

sudo userdel ollama

sudo groupdel ollama

通过以上步骤,不仅能够在Linux平台上成功安装和配置Ollama,还能够灵活地进行更新和卸载。

在这里插入图片描述

大模型&AI产品经理如何学习

求大家的点赞和收藏,我花2万买的大模型学习资料免费共享给你们,来看看有哪些东西。

1.学习路线图

在这里插入图片描述

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

2.视频教程

网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己整理的大模型视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

在这里插入图片描述

在这里插入图片描述

(都打包成一块的了,不能一一展开,总共300多集)

因篇幅有限,仅展示部分资料,需要点击下方图片前往获取

3.技术文档和电子书

这里主要整理了大模型相关PDF书籍、行业报告、文档,有几百本,都是目前行业最新的。

在这里插入图片描述

4.LLM面试题和面经合集

这里主要整理了行业目前最新的大模型面试题和各种大厂offer面经合集。

在这里插入图片描述

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

在这里插入图片描述

1.AI大模型学习路线图

2.100套AI大模型商业化落地方案

3.100集大模型视频教程

4.200本大模型PDF书籍

5.LLM面试题合集

6.AI产品经理资源合集

👉获取方式:

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

在这里插入图片描述



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。