前言
本文介绍在 Linux
系统上部署 Deepseek AI
。本文教程是面向所有想体验 AI
玩家的一个简易教程,因此即使是小白也可以轻松完成体验,话不多说立马着手去干。
[注]:笔者使用的系统为 Ubuntu 24.10
1. 关于 ollama
Ollama
是一款开源应用,可让你在 Windows
、MacOS
和 Linux
上使用命令行界面在本地运行、创建和共享大型语言模型。Ollama
最初支持 Llama2
,然后扩展了其模型库以包括 Mistral
和 Phi-2
等模型。Ollama
让您能够轻松开始在您自己的硬件上运行 LLM
,专为简化大型语言模型(LLM
)在本地机器上的部署和运行而设计。它通过将模型权重、配置和数据打包为 Modelfile
,优化了 LLM
的设置和配置过程,使得非专业用户也能方便地管理和运行这些模型。Ollama
支持多种 LLM
,并提供跨平台支持,用户可以通过简单的命令行操作或 API
来启动和运行模型。它在文本生成、翻译、问答系统和代码生成等多个应用场景中具有广泛的应用价值。
2. 下载并安装 ollama
ollama
官网链接:https://ollama.com/
进入官网映入眼帘的便是一个线条羊驼头像,正下方就是引人注目的 Download
按钮,直接点击进去。
这里直接点击复制官网提供的命令,粘贴到 Linux
的终端里执行。
如果正确安装完的日志信息将会是如下输出,由于笔者这台机器没有 GPU
,因此这里会有个 WARNING
,常规有 GPU
的机器则会输出 >>> NVIDIA GPU installed.
的字样。
安装完成,可以输入 ollama --version
来检验是否安装成功,如果正确安装则会输出所安装 ollama
的版本号。
到这里 Ollama
算是安装完成。
2.1. 安装报错的解决方法
如果在上述过程中没有报错则可以跳过此小节。若上述过程有报错的小伙伴可以尝试如下方法。
使用 curl
先下载 ollama
的安装脚本。
$ curl -fsSL https://ollama.com/install.sh -o ollama_install.sh
为下载下来的脚本文件添加可执行权限。
$ chmod +x ollama_install.sh
用如下命令,将 ollama
的默认下载地址指向 Github
下载。
$ sed -i 's|https://ollama.com/download/|https://github.com/ollama/ollama/releases/download/v0.5.11/|' ollama_install.sh
[注]:该版本是笔者安装时的最新版本,当按照该方法安装时建议查询当前最新版本号,安装最新版的 Ollama。
[注]:只需要看红线画出的命令,其它为笔者在粘贴的时候多复制了 $ 导致执行错误。
这时用该方法 Ollama
安装完成。
3. 配置模型存储位置
希望使用默认存储位置的小伙伴可以跳过此小节,直接看后面的下载模型。
在 Linux
中 Ollama
默认的模型存储位置通常为 /usr/share/ollama/.ollama/models
,当然也可以手动指定其路径。通过修改 OLLAMA_MODELS
环境变量完成。
首先关闭 ollama
服务。
sudo systemctl stop ollama
sudo systemctl disable ollama.service
[注]:若正在运行 ollama 则需要手动停止正在运行的程序 ctrl + c,对于首次安装的小伙伴则可以忽略这一点。
创建需要指定的目录,需要注意的是该目录的所属权必须全部是 root
,且目录的权限为 775
。
例如笔者这里创建的目录为 /usr/local/ollama/models
,为其设置权限。
sudo chown -R root:root /usr/local/ollama/models
sudo chmod -R 775 /usr/local/ollama/models
修改 service
文件。
sudo vim /etc/systemd/system/ollama.service
将其中的 User
和 Group
修改为 root
,同时在 [Service]
项中添加一行 Environment
,用来指定模型存储路径。
Environment="OLLAMA_MODELS=*********"
[注]:**** 表示所要指定的具体完成路径。
重载配置并重启 ollama
。
sudo systemctl daemon-reload
sudo sudo systemctl start ollama.service
sudo sudo systemctl restart ollama.service
sudo sudo systemctl enable ollama.service
可以通过如下命令查看 ollama
服务是否正常工作。
sudo sudo systemctl status ollama.service
这时进入新指定的目录则会看到生成了 blobs
目录。
到此,模型的存储位置修改完成。
4. 下载 Deepseek 模型
Ollama
拉取和使用模型的操作跟 Docker
很像,所以如果有过使用容器的经验的话,用起来会非常顺手。首先我们访问以下 Ollama
官方的模型库中的DeepSeek-R1
。
这里笔者由于没有 GPU
同时也方便演示选择较小的 7b
,点击右边的复制按钮,复制命令。
将上图中复制的命令中的 run
在终端中修改为 pull
,由于 pull
是支持断点续传的,因此非常适合网络环境不稳定的小伙伴,当中断后仍然可以重新 pull
继续之前的下载。
$ ollama pull deepseek-r1:7b
[注]:这里耐心等待几分钟。
看到 success
字样也就说明模型下载完成了,执行如下命令可查看 ollama
目前所下载的模型列表。
$ ollama list
进入模型的存储路径同样也会看到下载好的模型。
5. 体验 Deepseek
运行如下命令进入命令行提问模式,这里的模型需要与下载的模型相同。
$ ollama run deepseek-r1:7b
我们来问个考验 AI
经典的问题吧。
6. 安装 Chatbox AI
https://www.chatboxai.app/zh
Linux
下载的文件名为 Chatbox-***.AppImage
,事实上是一个可执行文件,这里需要给它修改为可执行的。
直接执行该文件,发现会报错,缺少一个库文件。
$ ./Chatbox-1.9.8-x86_64.AppImage
dlopen(): error loading libfuse.so.2
AppImages require FUSE to run.
You might still be able to extract the contents of this AppImage
if you run it with the --appimage-extract option.
See https://github.com/AppImage/AppImageKit/wiki/FUSE
for more information
执行如下命令安装即可。
sudo apt install libfuse2
再次运行该程序,发现会报如下错误。
$ ./Chatbox-1.9.8-x86_64.AppImage
[30328:0220/145555.961814:FATAL:setuid_sandbox_host.cc(157)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that /tmp/.mount_ChatbopUEEU8/chrome-sandbox is owned by root and has mode 4755.
追踪或断点陷阱 (核心已转储)
这可能与笔者使用的系统版本有关 Ubuntu 24.10
,在其它版本的 Linux
上不会报错,经过查找只能在其后添加 --no-sandbox
才可以正常启动。
$ ./Chatbox-1.9.8-x86_64.AppImage --no-sandbox
这里需要配置选择使用本地模型,点击保存。
现在就可以开始对话,这里还是用与上面同样的问题来提问。
它也可以解析一些静态网页,例如这里笔者将之前写的《【Deepseek】Windows本地部署Deepseek——小白版》 链接丢进去,该模型可以对该链接的内容简单解析。
7. 安装 AnythingLLM
官网 https://anythingllm.com/,Anythingllm
是功能强大的语言模型应用框架,它可支持很多本地部署大模型,并提供对用户友好的界面。这里作为与 ollama
搭配,作为本地知识库使用。
执行如下命令,下载 Linux
版本的 AnythingLLM
。
curl -fsSL https://cdn.anythingllm.com/latest/installer.sh | sh
下载好的文件会默认保存在 ~/AnythingLLMDesktop
目录下,进入该目录。
~$ cd AnythingLLMDesktop/
AnythingLLMDesktop$ ls
anythingllm-desktop start
直接运行,start
脚本,这里可能是因为笔者所使用的系统版本原因,会报如下错误。
AnythingLLMDesktop$ ./start
[57804:0220/154849.629752:FATAL:setuid_sandbox_host.cc(158)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that /home/imaginemiracle/AnythingLLMDesktop/anythingllm-desktop/chrome-sandbox is owned by root and has mode 4755.
追踪或断点陷阱 (核心已转储)
解决方法如下,进入 ~/AnythingLLMDesktop/anythingllm-desktop/
目录。
AnythingLLMDesktop$ cd anythingllm-desktop/
anythingllm-desktop$ ls
anythingllm-desktop icudtl.dat locales
anythingllm-desktop.desktop libEGL.so resources
anythingllm-desktop.png libffmpeg.so resources.pak
AppRun libGLESv2.so snapshot_blob.bin
chrome_100_percent.pak libvk_swiftshader.so usr
chrome_200_percent.pak libvulkan.so.1 v8_context_snapshot.bin
chrome_crashpad_handler LICENSE.electron.txt vk_swiftshader_icd.json
chrome-sandbox LICENSES.chromium.html
修改 chrome-sandbox
文件权限,并退出该目录。
$ sudo chown root:root chrome-sandbox
$ sudo chmod 4755 chrome-sandbox
$ cd ~/AnythingLLMDesktop
再次执行 start
脚本。
$ ./start
成功启动 AnythingLLM
。
接下来在填写邮箱并选择相应选项进入使用,打开设置可以看到这里使用的是本地的模型。
可以在这里选择上传本地知识库,为模型添加知识库,不过在提问的时候可能需要添加一些提示,模型才会联系到本地的知识库文件。