本文继续来讲如何在linux上部署离线本地智能大模型,前篇如下:window上部署离线大模型
首先还是安装ollama linux版本,如果完全离线的话,可以从github上下载一个linux 版本的压缩包传上去git hub上搜索ollama 找到右下角
找到linux 版本进行下载
通常情况下的服务器都是amd版本,手机以及一些嵌入式的系统才是arm版本,很多命令都可以看,如下 uname -a
uname -a
如果输出看到X86_64则是amd
下载完成直接用tar -zxvf 压缩包名字 解压缩,解压缩完毕后找到bin目录下面的ollama,这是个可执行文件,运行ollama即可启动它。
为了后续使用方便,可以把ollama 加载到PATH里面:
vi ~/.bashrc打开后编辑export PATH=$PATH:/path_to_ollama_bin然后生效source ~/.bashrc
模型下载:
有几个大的社区,Hugging face或者国内的魔塔等,都有官网。
比如下面的魔塔,找到模型库,搜一下感兴趣的模型,找到模型文件下载。
ollama可以导入两种格式的自定义模型:GGUF、Safetensors
如果要导入的模型保存为二进制 GGUF 文件,则可以通过 Modelfile(自己创建的一个文件) 直接将导入到 Ollama,文件内容如下:
FROM /path/to/file.gguf
如果要导入的模型保存为 Safetensors 文件且采用以下架构之一:LlamaForCausalLM、MistralForCausalLM、GemmaForCausalLM,则也可以通过Modelfile直接将其导入到Ollama中,文件内容如下,跟上面其实一样:
FROM /path/to/safetensors/directory
而上文中我们下载的 Qwen2 采用 Qwen2ForCausalLM 的架构,因此只能使用 GGUF 格式的才能直接导入
具体的做法,举个例子:
vim 新建文件 Modelfile,其中的 qwen2-7b-instruct-q4_0.gguf 指明了采用 4bit 量化的版本:
vim ModelfileFROM /path/to/ollama/models/qwen2-7b-instruct-q4_0.gguf然后保存这个文件
然后从Modelfile读取模型,创建名为qwen2的模型
ollama create qwen2-instruct -f ./Modelfile
命令行出现如下,表示成功
// 命令行提示以下信息说明模型创建成功transferring model data using existing layer sha256:c188f9260d419ff6b38c4630f19ffd260caed3559506206ba344aceb9c90f90c using autodetected template chatml creating new layer sha256:50ba761223141488f01a893a1d79e3ebbb54b18debf629b3ff9b50a7816ba6d1 writing manifest success