什么是Ollama,它与Llama是什么关系?
Ollama是一个开源的 LLM(大型语言模型)服务工具,用于简化在本地运行大语言模型,降低使用大语言模型的门槛,使得大模型的开发者、研究人员和爱好者能够在本地环境快速实验、管理和部署最新大语言模型,包括如Llama 3、Phi 3、Mistral、Gemma等开源的大型语言模型。
Ollama目前支持以下大语言模型:library
因此,Ollama与Llama的关系:Llama是大语言模型,而Ollama是大语言模型(不限于Llama模型)便捷的管理和运维工具
那么我们如何在本地部署这个大模型呢?
首先我们需要到ollama官网下载,然后在命令窗中输入一些ollama的命令
ollama只是个工具,那怎么跑我们想要的大模型呢?
下载模型
Ollama可以直接下载内置的几种模型,但选择有限。我们更希望从HuggingFace https://huggingface.co/Kanahei/ollama3.1/discussions下载以便方便地评估各种模型,所以,这里我们并不从Ollama直接下载,而是从HuggingFace下载。
在HuggingFace搜索llama3,设置Languages为Chinese,可以看到若干基于LLaMa3的中文模型,我们选择一个GGUF格式的模型,GGUF格式是llama.cpp团队搞的一种模型存储格式,一个模型就是一个文件,方便下载与运行。
点击Files,可以看到若干GGUF文件,其中,q越大说明模型质量越高,同时文件也更大,我们选择q6,直接点击下载按钮,把这个模型文件下载到本地。
导入模型
下载到本地的模型文件不能直接导入到Ollama,需要编写一个配置文件,随便起个名字,如Modelfile,配置文件内容如下:https://github.com/ollama/ollama
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|>
第一行FROM "..."指定了模型文件路径,需要修改为实际路径,后面的模板内容是网上复制的,无需改动。
然后,使用以下命令导入模型:
$ ollama create llama3-cn -f Modelfile
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退出。