引言
在当今快速发展的人工智能领域,本地部署大型语言模型(LLM)Agent 正逐渐成为企业和研究者关注的焦点。本地部署不仅能够提供更高的数据安全性和隐私保护,还能减少对外部服务的依赖,提高响应速度和系统稳定性。本文将详细介绍如何通过 Docker 容器技术,结合 Ollama 和 AnythingLLM 两款工具,完成本地 LLM Agent 的部署、配置及应用。
Ollama 镜像部署
Ollama 是一个开源的大型语言模型服务工具,它为用户在本地环境中快速部署和运行大型模型提供了便利。通过简洁的安装指南和一键命令,用户能够迅速地启动如 Llama 2、Llama 3 等开源大型语言模型。Ollama 通过简化 LLM 部署和管理流程,使用户能够高效地在本地环境中操作大型语言模型。
1. 环境准备与 Docker 安装
本文以 Windows 系统下的 Docker 部署 Ollama 为例,通过镜像能够轻量化且更方便地管理虚拟环境。
首先需要在官网下载并安装 Docker Desktop。由于镜像文件非常大,Docker 的安装程序默认安装在 C 盘可能会占用过多空间。如果希望更换安装路径,可以在终端通过如下类似的命令进行指定安装:
"D:\Download\Docker Desktop Installer.exe" install --installation-dir="D:\Program\Docker"
安装完成后,确保 Docker Desktop 已启动并在 Images 栏确认基础镜像拉取是否成功。
2. 拉取与运行 Ollama 容器
随后打开终端,使用以下命令创建一个容器用来运行 Ollama 实例。该命令适用于仅支持 CPU 的系统,若需 GPU 支持或是 AMD 显卡支持,请参考 Ollama 项目文档中的相应配置。
docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
其中 --name 参数可以自行调整为自己需要的名字,用以区分不同容器。-v 参数用于挂载卷,保存模型数据,避免容器删除后丢失。
3. 运行模型与内存配置
在容器中运行想要的 LLM。例如运行 Llama 3 的量化版本:
docker exec -it ollama ollama run llama3:8b-instruct-q8_0
Ollama 官方 library 提供了丰富的模型库,不同公司的模型还有不同的微调版本任君选择。这里选择了 llama3:8b-instruct-q8_0 版本,其中 q8 代表压缩率,q 后的数字越小压缩率越高,模型文件的大小也就越小,同样的性能会有一定下降。Llama 3 默认是 q4 的压缩率。
第一次运行时,Ollama 会自动下载模型文件。如果遇到提示内存不足,实际上并不是物理内存不足,而是 Docker 或 WSL2 的默认内存设置限制。
根据提示可以发现我们需要修改 .wslconfig 文件。Win+R 后输入 %UserProfile% 以进入用户文件夹,新建 .wslconfig 文件输入以下内容:
[wsl2]
memory=20GB
swap=4GB
processors=4
修改完后需要运行 wsl --shutdown 来关闭 WSL 实例,随后重新打开使默认设置生效。再次运行时,应能正常加载模型并出现交互窗口。
AnythingLLM 配置
AnythingLLM 是一款全能的人工智能应用程序,它允许用户与文档进行交互,使用人工智能助手,并且具有高度的可配置性。它支持多用户管理并且设置过程简单,无需繁琐的设置。这款应用程序能够将任何文档、资源或内容转换成上下文信息,供大型语言模型(LLM)在聊天过程中作为参考使用。用户可以根据自己的需要选择使用不同的 LLM 或向量数据库。


