Linux快速部署大语言模型LLaMa3,Web可视化j交互(Ollama+Open Web UI)

本文在个人博客同步发布,前往阅读

1 介绍

本文将介绍使用开源工具Ollama(60.6k⭐)部署LLaMa大模型,以及使用Open WebUI搭建前端Web交互界面的方法。

我们先来过一遍几个相关的概念,对这块比较熟悉的朋友可跳过。

1.1 大规模语言模型

大规模语言模型(Large Language Models, LLMs),顾名思义是指在大量语料数据的基础上训练成的模型,能够模拟人类的语言风格生成较为生动的文本。这类模型的主要特征有:

  • 规模大:训练所使用的数据量非常庞大,有时超过1000亿个参数。
  • 复杂性高:模型结构比较复杂
  • 具有较好的上下文理解能力:大规模语言模型可以理解文本的上下文和细微差别

1.2 LLaMa

LLaMA是一种大规模语言模型,由Meta AI基于Transformer深度学习框架开发。该模型旨在生成各种风格的高质量文本(例如创意写作、对话甚至诗歌),能够胜任以下工作:

  • 自然语言处理(NLP):理解和生成自然语言。
  • 机器学习:根据数据和算法学习新的信息和技能。
  • 对话生成:可以与用户进行对话,并根据情况生成合适的回应。

1.3 Ollama

官网:Ollama

API文档:ollama/docs/api.md at main · ollama/ollama (github.com)

支持的模型列表:library

一款可以快速部署大模型的工具。

1.4 Open WebUI

官网:Open WebUI

相关介绍及源码:open-webui/open-webui: User-friendly WebUI for LLMs (Formerly Ollama WebUI) (github.com)

Open WebUI 是一个可视化的Web交互环境,它拥有清新简约的UI风格,具有可扩展、功能丰富、用户友好、自托管的特点,可以完全离线运行。它支持各种 LLM 运行程序,包括 Ollama 和 OpenAI 兼容的 API。

2 部署LLM服务

本文介绍的方法使用于Linux系统,同样适用于Windows系统的WSL(安装方法可参见我的这篇文章)。

2.1 部署Ollama

1、下载Ollama

Linux系统的安装命令如下:

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

※此外官方还提供了macOS和Windows的下载方式。

2、下载llama3模型

ollama run llama3

※在这里可以看到该命令的相关介绍。

上述命令将自动拉取模型,并进行sha256验签。处理完毕后自动进入llama3的运行环境,可以使用中文或英文进行提问,ctrl+D退出。

3、配置服务

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

打开配置文件:vim /etc/systemd/system/ollama.service,根据情况修改变量Environment

  • 服务器环境下:Environment="OLLAMA_HOST=0.0.0.0:11434"
  • 虚拟机环境下:Environment="OLLAMA_HOST=服务器内网IP地址:11434"

3、启动服务

启动服务的命令:ollama serve

首次启动可能会出现以下两个提示:

Couldn’t find ‘/home/用户名/.ollama/id_ed25519’. Generating new private key.

该提示表示文件系统中不存在ssh私钥文件,此时命令将自动帮我们生成该文件,并在命令行中打印相应的公钥。

Error: listen tcp 127.0.0.1:11434: bind: address already in use

看到该提示,大概率服务已在运行中,可以通过netstat -tulpn | grep 11434命令进行确认。

  • 若命令输出的最后一列包含“ollama”字样,则表示服务已启动,无需做额外处理。
  • 否则,可尝试执行下列命令重启ollama:
# ubuntu/debian
sudo apt update
sudo apt install lsof
stop ollama
lsof -i :11434
kill <PID>
ollama serve

# centos
sudo yum update
sudo yum install lsof
stop ollama
lsof -i :11434
kill <PID>
ollama serve

如果您使用的是MacOS,可在🔗这里找到解决方法。

4、在外网环境验证连接

方法一:执行curl http://ip:11434命令,若返回“Ollama is running”,则表示连接正常。

方法二:在浏览器访问http://ip:11434,若页面显示文本“Ollama is running”,则表示连接正常。

2.2 Ollama常用命令

1、进入llama3运行环境:ollama run llama3

2、启动服务:ollama serve

3、重启ollama

systemctl daemon-reload
systemctl restart ollama

4、重启ollama服务

# ubuntu/debian
sudo apt update
sudo apt install lsof
stop ollama
lsof -i :11434
kill <PID>
ollama serve

# centos
sudo yum update
sudo yum install lsof
stop ollama
lsof -i :11434
kill <PID>
ollama serve

5、确认服务端口状态:netstat -tulpn | grep 11434

3 部署Open WebUI

1、下载Open WebUI

Open WebUI基于docker部署,docker的安装方法可以参考这篇知乎文章

Open WebUI既可以部署在服务端,也可以部署在客户端:

# 若部署在客户端,执行:
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

# 若部署在服务端,执行:
docker run -d -p 3000:8080 -e OLLAMA_BASE_URL=https://example.com -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

如果您的机器在国内,建议将--restart的参数值替换为ghcr.nju.edu.cn/open-webui/open-webui:main,下载速度会快非常多(见up主小杨生存日记的这篇文章)。

2、检查相关配置

下载完之后,就可以在浏览器访问了,地址为http://loacalhost:3000(客户端部署)或http://服务器ip:3000

页面加载完成后(这个过程可能需要一些时间),新注册一个账号并登录。

登录之后,点击页面顶端的齿轮⚙图标进入设置:

  1. 侧边导航栏-General,将语言设置为中文
  2. 侧边导航栏-连接,若“Ollama 基础 URL”这一项为http://host.docker.internal:11434,则表示ollama服务正常且连接成功;如果是空的,则需要回头检查一下ollama服务了
  3. 侧边导航栏-模型,一般会自动拉取ollama服务上部署好的模型,可选模型参看官方的这篇文档
  4. 其它的项目根据需要设置即可

3、选择模型

在顶端下拉框选择好模型,就可以开始提问啦!
在这里插入图片描述

参考文章

  • 30
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
LLaMA+Alpaca是一个基于PyTorch的自然语言处理框架,主要用于生成式对话模型的训练和部署。以下是搭建、部署、训练LLaMA+Alpaca的步骤: 1. 安装依赖项:在安装LLaMA+Alpaca之前需要安装以下依赖项: - Python 3.7或更高版本 - PyTorch 1.7或更高版本 - Transformers 4.0或更高版本 - Flask 2. 下载代码:可以从LLaMA+Alpaca的GitHub页面上下载代码,也可以使用以下命令从GitHub上克隆代码: ``` git clone https://github.com/microsoft/LLaMA.git ``` 3. 部署:可以使用以下命令启动LLaMA+Alpaca的部署: ``` cd LLaMA/deployment python app.py ``` 这将会在本地启动一个Flask服务器并提供对话API。 4. 训练模型:可以使用以下命令在LLaMA+Alpaca上训练对话模型: ``` python train.py \ --dataset_path <path-to-dataset> \ --tokenizer_name <tokenizer-name> \ --model_name_or_path <model-name-or-path> \ --output_dir <output-dir> \ --num_train_epochs <num-epochs> \ --per_device_train_batch_size <batch-size> \ --gradient_accumulation_steps <accumulation-steps> \ --learning_rate <learning-rate> ``` 其中,\<path-to-dataset>是对话数据集的路径,\<tokenizer-name>和\<model-name-or-path>分别是使用的tokenizer模型名称或路径,\<output-dir>是输出路径,\<num-epochs>是训练的epoch数,\<batch-size>是每个GPU上的批量大小,\<accumulation-steps>是梯度累积步骤数,\<learning-rate>是学习率。 5. 部署模型:可以使用以下命令将新训练的模型部署到Flask服务器上: ``` python update_model.py \ --model_path <path-to-model> \ --tokenizer_name <tokenizer-name> \ --model_name <model-name> ``` 其中,\<path-to-model>是新训练的模型路径,\<tokenizer-name>是使用的tokenizer名称,\<model-name>是新模型名称。 以上就是搭建、部署、训练LLaMA+Alpaca的步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值