Llama3是2024年4月Meta公司发布的最新一代开源语言大模型(LLM)。
下载&安装Ollama
Ollama 是一个免费的开源应用程序,它允许你在自己的电脑上运行各种大型语言模型,包括 Llama 3,即使是在资源有限的情况下也可以。Ollama 利用了 llama.cpp 的性能提升,这是一个开源库,旨在让你在相对较低的硬件要求下本地运行 LLMs。它还包括一种软件包管理器,允许你通过单一命令快速有效地下载和使用 LLMs。从Ollama官方下载链接中下载Ollama并安装。
Ollama 作为独立的二进制文件分发。将其下载到 PATH 中的目录:
sudo curl -L https://ollama.com/download/ollama-linux-amd64 -o /usr/bin/ollama
sudo chmod +x /usr/bin/ollama
启动服务
./ollama serve
Couldn't find '/root/.ollama/id_ed25519'. Generating new private key.
Your new public key is:
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOxXdKBfet9mavJLpu3HcqqNSILx4HIZdxBsWfhERqaQ
2024/07/05 10:49:01 routes.go:1064: INFO server config env="map[CUDA_VISIBLE_DEVICES: GPU_DEVICE_ORDINAL: HIP_VISIBLE_DEVICES: HSA_OVERRIDE_GFX_VERSION: OLLAMA_DEBUG:false OLLAMA_FLASH_ATTENTION:false OLLAMA_HOST:http://127.0.0.1:11434 OLLAMA_INTEL_GPU:false OLLAMA_KEEP_ALIVE: OLLAMA_LLM_LIBRARY: OLLAMA_MAX_LOADED_MODELS:1 OLLAMA_MAX_QUEUE:512 OLLAMA_MAX_VRAM:0 OLLAMA_MODELS:/root/.ollama/models OLLAMA_NOHISTORY:false OLLAMA_NOPRUNE:false OLLAMA_NUM_PARALLEL:1 OLLAMA_ORIGINS:[http://localhost https://localhost http://localhost:* https://localhost:* http://127.0.0.1 https://127.0.0.1 http://127.0.0.1:* https://127.0.0.1:* http://0.0.0.0 https://0.0.0.0 http://0.0.0.0:* https://0.0.0.0:* app://* file://* tauri://*] OLLAMA_RUNNERS_DIR: OLLAMA_SCHED_SPREAD:false OLLAMA_TMPDIR: ROCR_VISIBLE_DEVICES:]"
运行Llama3
打开Ollama,并打开另一个PowerShell窗口,输入下面命令运行Llama3(Parameter Size: 8B Quantization Level: Q4_0):
ollama run llama3
首次运行Llama3时Ollama会先自动下载Llama3(大小约为4.7GB)再运行。
[root@VM-4-16-centos ~]# ollama run llama3
pulling manifest
pulling 6a0746a1ec1a... 100% ▕████████████████████████████████████████████████▏ 4.7 GB
pulling 4fa551d4f938... 100% ▕████████████████████████████████████████████████▏ 12 KB
pulling 8ab4849b038c... 100% ▕████████████████████████████████████████████████▏ 254 B
pulling 577073ffcc6c... 100% ▕████████████████████████████████████████████████▏ 110 B
pulling 3f8eb4da87fa... 100% ▕████████████████████████████████████████████████▏ 485 B
verifying sha256 digest
writing manifest
removing any unused layers
success
>>> 1
A single digit!
Is there something specific you'd like to talk about or ask, or are we just starting a conversation? I'm
here to help with any questions or topics you'd like to explore.
输入下面命令运行Llama3(Parameter Size: 70B):
ollama run llama3:70b
首次运行Llama3:70B时Ollama会先自动下载大小约为39GB
[root@VM-4-16-centos ~]# ollama run llama3:70b
pulling manifest
pulling 0bd51f8f0c97... 31% ▕██████████████ ▏ 12 GB/ 39 GB 12 MB/s 35m55s
允许外网访问
linux系统
vi /etc/profile
export OLLAMA_HOST=0.0.0.0:11434
source /etc/profile
window 系统直接在系统环境变量中加入
OLLAMA_HOST=0.0.0.0:11434
将 Ollama 添加为启动服务(推荐)
为 Ollama 创建用户:
sudo useradd -r -s /bin/false -m -d /usr/share/ollama ollama
在以下位置创建服务文件:/etc/systemd/system/ollama.service
[Unit]
Description=Ollama Service
After=network-online.target
[Service]
ExecStart=/usr/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment="OLLAMA_HOST=0.0.0.0:11434"
[Install]
WantedBy=default.target
然后启动服务:
sudo systemctl daemon-reload
sudo systemctl enable ollama
启动完成之后测试一下
curl http://127.0.0.1:11434/api/chat -d '{
"model": "llama3:latest",
"messages": [
{ "role": "user", "content": "why is the sky blue?" }
]
}'
卸载
删除 ollama 服务:
sudo systemctl stop ollama
sudo systemctl disable ollama
sudo rm /etc/systemd/system/ollama.service
从 bin 目录中删除 ollama 二进制文件(、 或):/usr/local/bin/usr/bin/bin
sudo rm $(which ollama)
删除下载的模型和 Ollama 服务用户和组:
sudo rm -r /usr/share/ollama
sudo userdel ollama
sudo groupdel ollama
人机图形界面
这里使用Docker+ Open WebUI的方式[5]。Open WebUI是一个可扩展、功能丰富且用户友好的自托管Web用户界面,专为完全离线操作而设计。它支持各种大型语言模型(LLM)运行器,包括Ollama和兼容OpenAI的API。Open WebUI允许用户自定义提示、模型预设,并共享来自Open WebUI社区的聊天记录。这个界面的目的是提供一个平台,使用户能够有效地与不同的AI模型交互,无需通过在线服务,从而增强安全性和可靠性 。
如果台式机上没有GPU,打开一个cmd命令窗口并输入下面指令:
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
如果台式机上有GPU加速支持,打开一个cmd命令窗口并输入下面指令:
docker run -d -p 3000:8080 --gpus all --add-host=host.docker.internal:host-gateway --volume open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
Docker会先自动下载Open WebUI(大小约为1.2GB)再运行。打开网页浏览器,输入地址 http://localhost:3000/ 。
用 SSH 客户端登录到群晖后,依次执行下面的命令
# 新建文件夹 open-webui 和 子目录
mkdir -p /docker/open-webui/data
# 进入 open-webui 目录
cd /docker/open-webui
# 拉取镜像
docker pull ghcr.io/open-webui/open-webui:git-97a8491-cuda
# 如果拉不动的话加个代理,如果没有科学上网,很可能会拉不动,可以试试 docker 代理网站:https://dockerproxy.com/,但是会多几个步骤
docker pull ghcr.dockerproxy.com/v2/open-webui/open-webui:main
# 重命名镜像(如果是通过代理下载的)
docker tag ghcr.dockerproxy.com/open-webui/open-webui:main ghcr.io/open-webui/open-webui:main
# 删除代理镜像(如果是通过代理下载的)
docker rmi ghcr.dockerproxy.com/open-webui/open-webui:main
# 运行容器(仅CPU)
docker run -d \
--restart unless-stopped \
--name ollama-webui \
-p 11433:8080 \
-v $(pwd)/data:/app/backend/data \
-e OLLAMA_API_BASE_URL=http://zxse.cn:11434/api \
-e WEBUI_SECRET_KEY=TkjGEiQ@5K^j \
ghcr.io/open-webui/open-webui:main