10分钟部署本地大语言模型
书到用时方恨少
最近在拼命写开题报告,作为一个学术渣子,实在是得用上21世纪最强的帮手GPT来辅助阅读和写作,然而事实上,当你使用的足够多的时候,chatgpt会让你升级pro版,kimiAI也会让你做任务才能解锁使用,还是有一些限制,于是想到了本地部署模型LLaMA(large language Model AI)。
这种事情原先是不太可能的,毕竟人家的机房都有N个集群,多少张英伟达的计算卡备着。但谁知,上网一搜还真有本地部署的教程,meta也早就把llama开源了,本着要什么自行车的原则,我跟着廖雪峰的教程试了试,结果还真的部署出来了,居然还能用的很不错,反应很快。我本地可是普普通通的3060卡,于是想着记录一下,以后换了电脑也能用。
注意,本教程需要使用一些特殊的网络环境,没有真的是寸步难行啊
教程
我的本地部署教程和网上的在某些地方有区别,比如不用docker,比如不用open webui这个ui,一个原因是docker在windows下非要用虚拟环境windows subsystem linux(wsl)太烦了,然后docker镜像访问又困难,open webui这个更是被国内镜像删掉,根本用不了,本着不折腾的原则,我们就不用这个ui,而是换用nextchat这个已经成功多端pwa适配的工具来实现网页交互。
安装ollama
这是个能离线跑本地大模型的工具,从Ollama官网下载,运行,点击安装Ollama命令行,然后在命令行测试Ollama是否已正常运行:
$ ollama -v
ollama version is 0.3.13
下载大语言模型
廖雪峰老师没用ollama里面的模型,上了抱抱脸下了中文的大语言模型,我这里直接给上我下载的8B参数的大模型链接https://huggingface.co/shenzhi-wang/Llama3.1-8B-Chinese-Chat/tree/main/gguf我们选择一个GGUF格式的模型,GGUF格式是llama.cpp团队搞的一种模型存储格式,一个模型就是一个文件,方便下载

如果你想用别的大模型,在HuggingFace的model找到llama3,设置Languages为Chinese,可以看到若干基于LLaMa3的中文模型

点击Files,可以看到若干GGUF文件,其中,q越大说明模型质量越高,同时文件也更大,我这边心疼流量就选了个小的,直接点击下载按钮,把这个模型文件下载到本地。

导入模型
首先下载到本地的模型文件不能直接导入到Ollama,需要编写一个配置文件,随便起个名字,如config.txt,配置文件内容如下:
FROM "/Users/liaoxuefeng/llm/llama3-8b-cn-q6/Llama3-8B-Chinese-Chat.q6_k.GGUF"
TEMPLATE """{{- if .System }}
<|im_start|>system {{ .System }}<|im_end|>
{{- end }}
<|im_start|>user
{{ .Prompt }}<|im_end|>
<|im_start|>assistant
"""
SYSTEM """"""
PARAMETER stop <|im_start|>
PARAMETER stop <|im_end|>
我直接照搬廖雪峰老师的教程了,这边的第一行要改成下载好的模型的地址,需要修改为实际路径,后面的模板内容是网上复制的,无需改动。
然后,命令行里使用以下命令导入模型:
$ ollama create llama3-cn -f ./config.txt
llama3-cn是我们给模型起的名字,成功导入后可以用list命令查看:
$ ollama list
NAME ID SIZE MODIFIED
llama3-cn:latest f3fa01629cab 6.6 GB 2 minutes ago
可以下载多个模型,给每个模型写一个配置文件(仅需修改路径),导入时起不同的名字,我们就可以用Ollama方便地运行各种模型。
运行模型
使用Ollama的run命令可以直接运行模型。我们输入命令ollama run llama3-cn:
出现>>>提示符时就可以输入问题与模型交互。输入/exit退出。

你也可以通过API来访问,命令行可以试着输入
curl -X POST http://localhost:11434/api/generate -d "{\"model\": \"llama3-cn\", \"prompt\": \"good morning\"}"
搭建Web环境
到这一步其实已经可以成功使用了。之后廖雪峰要我们下载webui,这里我们不下载了,因为windows环境下搞不定,直接换一个最简单的nextchat客户端
点击release里面,点击show all assets,就可以看到多端的nextchat文件了,还可以在线使用,完全没问题。

下载安装,或者在线打开后,设置一下大模型就能用了,在设置里选择模型服务商,可以看到主流的大模型基本都支持,我们本地部署的llama3也是提供了API接口的,和openai的完全通用,你可以点击文档来查看接口详情,把接口地址改为http://localhost:11434,然后自定义模型名称改为我们刚才设置的llama3-cn,保存后,本地就可以完美使用大模型了,没有任何限制,非常牛啊,是不是10分钟就搞定了呢?


Ollema 跑模型确实好用,我老笔记本 2060 也能跑个 7b 的模型,虽然慢了点,但用来简单对话和翻译是够用了。代码补全用 3b 的小模型跑速度也还行。
HPCesia 2024-11-10 05:01
这个得什么配置的电脑能跑起来?
ccbbp 2024-10-25 10:50
我本地是i5-10400f+rtx3060 12gb
+16g内存,如果显卡支持cuda加速基本上都能跑,就是快和慢的区别,还有内存要大,不然会溢出。我试了下我公司电脑海光3250+gt730+16gb内存也能跑,就是说话磕巴
Yugo 2024-10-25 11:35
好耶!OωO
MoeNya 2024-10-15 13:35
试了下,有独立显卡的就能比较流畅的玩了,垃圾CPU和亮机卡也能用就是说话结巴,比较慢,确实很好用啊
Yugo 2024-10-15 23:26