您想在自己的计算机上运行类似 ChatGPT 的聊天机器人吗?
最简单的方法
如果您在 Windows 中使用 WSL,则可以运行一个简单的批处理文件,并且效果可能会很好。超级简单。
克隆存储库:
git clone https://github.com/oobabooga/text-generation-webui.git
然后运行批处理文件:
start_wsl.bat
它会要求您选择 GPU/平台设置:
它已启动并运行:
如果这有效,请跳到运行 WebUI步骤。
但如果失败(我见过),您必须手动执行。以下是在 WSL 中手动安装它的说明。这也是在常规旧 Linux 中安装它的说明。让我们开始吧。
安装Anaconda
我在 WSL 中使用 Ubuntu。这是我们将运行的命令:
sudo apt-get update
是个好主意
sudo apt-get install wget
切换到tmp目录:
cd /tmp
然后,我们要从这个目录中获取最新版本的安装脚本。在撰写本文时,这是 Linux-x86_64 的最新版本:
wget https://repo.anaconda.com/archive/Anaconda3-2023.09-0-Linux-x86_64.sh
这个脚本很大。下载完成后,您应该看到如下内容:
然后你需要验证它:
sha256sum Anaconda3-2023.09-0-Linux-x86_64.sh
如果您没有看到任何错误,则可以开始:
现在是时候运行它了!
bash Anaconda3-2023.09-0-Linux-x86_64.sh
接受许可条款(如果您想使用它)并按 Enter 键。
它会询问您要将其安装在哪里。我选择了默认位置:
它会询问您是否要自动初始化 Conda。我做了很多 Python 的事情,所以我选择 yes。选择最适合您的方式。
现在退出 shell 并重新启动 WSL 窗口。
安装文本用户界面
接下来,我们将为我们的模型安装 Web UI 界面。这是用于大型语言模型的 Gradio Web UI。
正如存储库中所述,他们的目标是成为文本生成领域的AUTOMATIC1111/stable-diffusion-webui。
将其克隆到您想要使用的文件夹中:
git clone https://github.com/oobabooga/text-generation-webui.git
现在输入
conda deactivate
如果您正在运行基础版本。然后我们将创建一个新环境:
conda create -n textgen python=3.11
conda activate textgen
如果您在提示符前面看到 (textgen),则说明它正在运行。
现在,我们需要安装 PyTorch。我使用的是 NVidia 卡,因此我输入:
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
如果您不使用 NVidia 卡而只想使用 CPU,请使用以下命令:
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
你会看到很多这样的情况:
等待它完成。如果您运行的是 NVidia 卡,您可能需要执行以下操作:
conda install -y -c "nvidia/label/cuda-12.1.0" cuda-runtime
接下来,我们需要安装更多依赖项。这将取决于您的机器。
cd text-generation-webui
pip install -r <requirements file according to table below>
使用的需求文件:
| GPU | CPU | requirements file to use |
|---|---|---|
| NVIDIA | has AVX2 | requirements.txt |
| NVIDIA | no AVX2 | requirements_noavx2.txt |
| AMD | has AVX2 | requirements_amd.txt |
| AMD | no AVX2 | requirements_amd_noavx2.txt |
| CPU only | has AVX2 | requirements_cpu_only.txt |
| CPU only | no AVX2 | requirements_cpu_only_noavx2.txt |
一切安装完毕后,您应该准备好运行 WebUI。
运行网络用户界面
现在我们准备好运行了!在text-generation-webui目录中,运行以下命令:
python server.py
你应该看到这个:
惊人的!让我们在网络浏览器中加载它:
如果你看到这个,你就是金子!但是,您还不能用它做任何事情。你需要一个模型。
下载LLM模型
您的模型将被下载并放置在text-generation-webui/models文件夹中。下载模型的方法有多种,但最简单的方法是通过 Web UI 下载。
单击顶部菜单中的“模型”:
在这里,您可以单击“下载模型或 Lora”,然后输入Hugging Face上托管的模型的 URL 。
有很多可供选择。我要加载的第一个是Hermes 13B GPTQ。
我只需要放置 Hugging Face 中的用户名/模型路径即可执行此操作。
TheBloke/Nous-Hermes-13B-GPTQ
然后我可以通过网络界面下载它。
单击刷新后,我可以看到可用的新模型:
选择它,然后按加载。
聊天
您可以调整大量参数。您可能会迷失在设置中,一旦我了解更多信息,我一定会在这里分享。
这是我的测试聊天:
它在我的机器上本地运行。
我决定向它询问一个编码问题:
好吧,虽然不如 GitHub Copilot 或 ChatGPT 那么好,但它是一个答案!
结论
出于多种原因,您可能希望在自己的计算机上本地运行大型语言模型。您可能有自己这样做的原因,例如内容生成或可以开玩笑的聊天机器人。事实上,您不必连接到互联网或支付月费,这真是太棒了。