当前位置: 首页>后端>正文

手把手教你在云上搭建本地大语言模型

大语言模型LLM现在已经不是什么新鲜事物了,虽然线上ChatGPT、Gemini、Claude等各家大模型飞速迭代,但是收费高、区域限制、隐私难以保证等问题始终难以解决。事实上,除了在线大模型以外,离线(本地部署)大模型也是一个很好的选择。比如大家都知道谷歌前阵子发布了Gemini,但可能有人不知道其还发布了开源的大模型Gemma,初次以外还有HuggingFace上也有很多出色的开源模型可供选择,比如Llama、Mistral等等。
本文简要介绍一下基于开源项目ollama如何在云上部署一个本地大语言模型。

买云服务器
GPU对于大部分LLM来说是必不可少的,仅有CPU虽然有时也能跑,但是问答速度无法忍受,如果希望长期将LLM融入工作生活中,一个带有GPU的稳定服务器比不可少。笔者以华为云的ECS为例,在选购实例的时候筛选GPU加速型即可,带上N卡模型跑起来嗖嗖快。

手把手教你在云上搭建本地大语言模型,第1张
  • OS版本:Centos 8.x
  • Docker:Centos安装docker

安装Ollama

Ollama是一个用户本地LLM部署的开源平台,支持Linux\Windows等多平台部署,基于Docker安装ollama可以简化后续的配置步骤。另外,让Docker能使用GPU资源还需要一些额外的工具,使用GPU与只有CPU的场景下性能差异天壤之别。

CPU Only

如果你的机器没有GPU,可以采用这种方式部署

docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama

Nvidia GPU
如果你的机器有GPU,那么可以采用这种方式部署

配置yum仓库

curl -s -L https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo \
    | sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo

安装Nvidia容器工具包

sudo yum install -y nvidia-container-toolkit
sudo systemctl restart docker

配置Docker使用NVIDIA驱动

docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama

启动本地大模型,这里以llama2为例:

docker exec -it ollama ollama run llama2

模型下载完以后会开启命令行模式,可以看到在GPU加持下相应速度还是很快的


手把手教你在云上搭建本地大语言模型,第2张

Ollama 还支持很多市面上其他开源大模型(大模型列表 ollama.com/library),下面是一些列子:

Model Parameters Size Download
Llama 2 7B 3.8GB ollama run llama2
Mistral 7B 4.1GB ollama run mistral
Dolphin Phi 2.7B 1.6GB ollama run dolphin-phi
Phi-2 2.7B 1.7GB ollama run phi
Neural Chat 7B 4.1GB ollama run neural-chat
Starling 7B 4.1GB ollama run starling-lm
Code Llama 7B 3.8GB ollama run codellama
Llama 2 Uncensored 7B 3.8GB ollama run llama2-uncensored
Llama 2 13B 13B 7.3GB ollama run llama2:13b
Llama 2 70B 70B 39GB ollama run llama2:70b
Orca Mini 3B 1.9GB ollama run orca-mini
Vicuna 7B 3.8GB ollama run vicuna
LLaVA 7B 4.5GB ollama run llava
Gemma 2B 1.4GB ollama run gemma:2b
Gemma 7B 4.8GB ollama run gemma:7b

API

Ollama平台也提供给了REST API进行问答和模型管理,不过目前这个版本API没有认证鉴权功能,如果需要的话只能自己在前端包装一个API网关实现认证,可以考虑用华为云APIG配置。
下面是一个调用模型问答的例子,可以指定要使用的模型名字

curl http://localhost:11434/api/chat -d '{
  "model": "mistral",
  "messages": [
    { "role": "user", "content": "why is the sky blue?" }
  ]
}'

更多详情见API文档

Chatbot UI

Chatbot Ollama提供了一个类似ChatGPT的简单WEB UI,可以让你的对话体验更好一些,项目支持docker部署。

  • 克隆工程到本地
git clone https://github.com/ivanfioravanti/chatbot-ollama.git
  • 修改配置
    在下载的工程目录下有个Dockerfile文件,需要修改其中的ollama主机IP,可以使用主机本地的私网IP
ENV OLLAMA_HOST="http://host.docker.internal:11434"
  • 本地构建
docker build -t chatbot-ollama .
docker run -p 3000:3000 chatbot-ollama

之后就可以通过ip:3000端口访问了

手把手教你在云上搭建本地大语言模型,第3张

最后Ollama Github README文档中还提到了很多现成的WEB和桌面插件,感兴趣的朋友可以一探究竟。


https://www.xamrdz.com/backend/34a1939009.html

相关文章: