如果你想运行自己的大型语言模型,比如 ChatGPT,你很幸运。到目前为止,Ollama 是我的最爱之一。
在本教程中,我们将在您的 Ubuntu 机器上使用 WebUI 设置 Ollama。这是运行自己的 LLM 进行学习和实验的好方法,而且它是私有的——所有这些都在你自己的机器上运行。
Ubuntu 系统
系统使用:buntu 24.04 LTS。 默认系统没有安装其他软件,可以涵盖你可能需要的依赖项。
因为要使用大模型,所以机器默认配备了一块 NVidia 卡,它有很大帮助,但也增加了复杂性,所以我们将介绍如何使用 Nvidia 卡进行安装。
检查您的驱动程序
如果您有 Nvidia 卡,则必须安装驱动程序并让它工作,以便 Ollama 使用它。
您可以检查
nvidia-smi -a
或
nvidia smi
以验证功能。
获取 Ollama
我们今天将使用的工具在我们的机器上运行大型语言模型是 Ollama。这是一款很棒的产品。它具有易于安装和使用,同时又非常强大的罕见组合。
因此,我们前往 Ollama.com
前往下载
对于 Linux,你会得到一个脚本:
curl -fsSL https://ollama.com/install.sh | sh
有些人对远程 shell 脚本执行感到紧张。如果你愿意,你可以拿起这个脚本,打开它,看看有没有你不喜欢的地方。
wget https://ollama.com/install.sh
我是第一次这样做,这里没有什么奇怪的可担心的。
运行脚本后,它应该如下所示:
请注意,它显示“已安装 NVIDIA GPU”。如果您有正确配置的 Nvidia 卡,您应该会看到这一点。
获得您的第一个模型
让我们找一个大型语言模型来玩。
回到 Ollama 页面,我们将单击模型。
在此页面上,如果您想尝试AI大模型的乐趣,可以从多种模型中进行选择。
这是我最近尝试过的 llama3 模型,反应速度很快捷。
在模型页面上,您可以通过下拉列表看到可用的不同模型:
我们可以看到一个 70B、8B,并用这个模型进行指令和文本模型。
70B 是参数的数量。
一般来说,越大越好,但它需要更多的 GPU 能力和内存。
70B需要更大的内存、cpu、显卡,否则会非常慢和卡顿。
8B 是一款出色、快速的型号,占用空间更小(4.7GB 对 40GB)。
文本模型:这些模型针对聊天和与您进行“对话”进行了更优化。
指示模型:这些模型经过微调,可以遵循提示的指令,并针对被要求执行某些操作进行了优化。
对于此测试,我们将使用 llama3:8b 模型。
执行
ollama run llama3:8b
首次运行此操作时,需要下载模型。它只执行一次,然后加载速度要快得多。
发送指令进行测试:
why is the sky blue?
我们可以看到反馈的提示界面。
要退出此界面,请键入
/bye
您可以关闭它或运行另一个模型。
使用 Python 访问 Ollama API
使用 Python 访问 Ollama 非常容易。
创建新的 Python 环境:
python3 -m venv ollamatest
source ollamatest/bin/activate
然后安装 Ollama 库
pip install ollama
然后,创建简单的 Python 脚本,如下所示:
import ollama
response = ollama.chat(model='llama3', messages=[
{
'role': 'user',
'content': '天空为什么是蓝色的?',
},
])
print(response['message']['content'])
并运行它!
为 Ollama 创建 Web 界面
这个开源项目,提供了一个webui,打开 WebUI。它现在支持除 Ollama 之外的其他功能。
这是一个挺不错的项目,但设置起来比较麻烦,它运行在 Docker 容器中。
如果您查看 OpenUI 页面上的说明,如果您想运行内置 Ollama 和 Nvidia GPU 支持的 OpenUI,他们会为您提供一个 docker 命令,可以立即对其进行设置。但是,如果您使用的是新机器怎么办?为此需要安装什么?
步骤如下:
1. 添加 Docker
sudo apt install docker.io
为 Docker 添加组:
sudo groupadd docker
将您自己添加到此组:
sudo usermod -aG docker ${USER}
然后注销并重新登录。
2. 安装 Nvidia Container Toolkit
需要安装它,以便 Docker 容器中的应用程序可以使用 GPU。完整的说明在这里,但这里是目前完成此操作的命令。
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
&& curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sed -i -e '/experimental/ s/^#//g' /etc/apt/sources.list.d/nvidia-container-toolkit.list
更新软件包列表:
sudo apt-get update
然后安装工具包:
sudo apt-get install -y nvidia-container-toolkit
并配置它:
sudo nvidia-ctk runtime configure --runtime=docker
现在你可以重新启动 docker,你应该准备好了。
sudo systemctl restart docker
太棒了,如果你没有错误,你就可以开始了。
3. 安装容器
现在运行以下命令:
docker run -d -p 3000:8080 --gpus=all -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama
它应该正在运行。
打开的 Web UI
加载 Web UI 后,您需要创建一个帐户。
在设置中,您可以从 Ollama 下载模型。请注意,您还可以输入 OpenAI 密钥并在此界面中使用 ChatGPT。这是一个强大的工具,您绝对应该检查一下。
现在你有一个美观的AI聊天界面了!
运行自己的本地 LLM 很有趣,您也不必担心月费或信息的泄露,它是完全私密的。