奥拉玛-介绍
Ollama 是一个开源工具,专门用于在本地机器上方便地部署和运行大语言模型(LLM)。它允许用户轻松加载、运行并互动各种 LLM 模型,而不需要深入了解复杂的底层技术。
最初,Ollama 被设计为一个在本地运行 LLM 的工具。然而,现在它也可以在服务器上使用(支持同时为多个用户提供服务),并且兼容 OpenAI 接口,让它成为一个适合私有部署 OpenAI 模型的好选择。
Ollama的特点:
它不依赖于云服务,允许用户在自己的设备上运行模型,从而保护数据的隐私。
它可以在 Mac、Linux 和 Windows 等操作系统上轻松安装和运行。
多种模型支持:Ollama 支持多种流行的大型语言模型,例如 Llama、Gemma 和 Mistral 等等,用户可以根据需求单击即可选择并运行不同模型。
易用:提供了一个直观易用的命令行界面。
可扩展性:它支持自定义配置,让用户能根据他们的硬件环境和需求调整设置。
开源:代码是完全开放的,用户可以自由查看、修改和分享代码,虽然大多数人可能不会选择修改它。
如何给Ollama安装
- 窗口
您可以在这里下载:https://ollama.com/download/OllamaSetup.exe.
- macOS
在 Mac 上安装很简单:下载 Zip 文件,解压它,然后运行程序。
你可以在这里下载Ollamadarwin.zip文件:
https://ollama.com/download/Ollama-darwin.zip
安装并运行 Ollama.app 后,你会在系统任务栏看到它的图标。点击它就可以停用 Ollama 服务了。
- 一个Linux操作系统
Linux可以直接运行一个 shell 脚本:
curl -fsSL https://ollama.com/install.sh | sh
- Docker (一个容器技术)
除了上述安装,我们还可以通过Docker运行它。官方提供的ollama镜像可以直接在ollama网站上下载并运行。
由于 Docker 在这里增加了一层抽象,所以在使用 CPU 和 GPU 时需要不同的配置。
# CPU 模式
以下是使用 Docker 运行 ollama 的命令
docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
如果你使用AMD显卡来运行Ollama程序,请使用rocm版本的镜像,并执行以下命令:
docker run -d --device /dev/kfd --device /dev/dri -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama:rocm
命令解释:启动名为ollama的容器,将ollama:/root/.ollama目录挂载到容器中,并将主机的11434端口映射到容器的11434端口上。
- docker run -d (以分离模式启动容器)
- --device /dev/kfd --device /dev/dri (将主机的/dev/kfd和/dev/dri设备文件挂载到容器中)
- -v ollama:/root/.ollama (将主机的ollama目录挂载到容器的/root/.ollama目录)
- -p 11434:11434 (将主机的11434端口映射到容器的11434端口)
- --name ollama (将容器命名为ollama)
- ollama/ollama:rocm (指定要运行的镜像名称)
如果你在运行 Ollama 时使用 Nvidia GPU,请先为你的 Linux 发行版安装 NVIDIA GPU 驱动。安装过程很简单;可以参考这里 链接。
然后,配置容器运行时,然后重启容器服务。
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
这些命令用于配置NVIDIA容器工具包以与Docker一起使用,并重启Docker服务。
接着,添加启动参数 —gpus=all
,以GPU模式运行容器:
# NVIDIA GPU 模式
docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
启动Ollama的方法
- 在本地运行
安装完成后,就可以运行模型了,只需一个简单的命令。
ollama run llama3.1
运行 ollama run llama3.1
命令。
如果是第一次使用,Ollama 会从网上下载模型(大约 5GB 左右的大小),这可能需要一段时间。
- 容器运行
在容器中运行模型就像在本地机器上运行一样。使用 ollama run <model>
命令
docker exec -it ollama run llama3
运行命令:docker exec -it ollama run llama3。
支持的模型类型
下面是常用的模型,包括它们的参数大小、存储大小和在Ollama中的模型名称。例如,Meta的Llama模型和Google的Gemini模型以及其他模型,比如阿里云的Qwen模型。
要查看所有模型的完整列表,您可以在Ollama网站上进行浏览。
点击一个模型,就可以看到它的简介、参数列表和下载链接等详细信息。
一些模型的README文件中还包含评估报告。
如何个性化你的模型?
除了内置支持的模型之外,我们还可以使用Ollama这款工具来运行自己的模型。有三种方法可以导入模型。
- GGUF,
- PyTorch,
- Safetensors
- 从GGUF导入一下
GGUF 是一种文件格式,用于存储使用 GGML 和基于 GGML 的执行器来进行推理的模型。
GGUF 是一种二进制格式,旨在快速加载和保存模型,并便于阅读。通常,模型使用 PyTorch 或其他框架开发,然后会被转换为 GGUF 以供 GGML 使用。
你可以访问GGUF GitHub网站 获取GGUF的更多信息和功能。
将一个 GGUF 模型导入使用 Ollama 非常简单,十分简单,只需三个步骤。
a) 创建一个名为 Modelfile
的文件,该文件应包含 FROM
指令以及要导入的模型的本地文件路径。
来自/path/to/your/vicuna-33b.Q4_0.gguf
b) 在Ollama里创建模型。在这一步,我们可以设置模型的名称,比如 vicuna-33b-q4
。
ollama create vicuna-33b-q4 -f Modelfile
完成这两个步骤后,我们就能像用内置模型一样运行新导入的自定义模型。
运行指令 'ollama run vicuna-33b-q4' 来启动模型
2, 从 PyTorch 或 Safetensors 引入
如果你正在导入的模型使用了以下架构之一,你可以通过一个 Modelfile
直接导入 Ollama。
- LlamaForCausalLM (因果语言模型)
- MistralForCausalLM (因果语言模型)
- GemmaForCausalLM (因果语言模型)
FROM /path/to/safetensors/你的目录路径
如果不被支持,你得先用 llama.cpp
[5] 把它转换成 GGUF 格式。
常见的格式,比如HuggingFace、GGML和Lora都受支持,并且提供了转换脚本。
这个步骤其实很简单,把一个HuggingFace的模型转换一下。
首先,克隆一下 llama.cpp
仓库:
运行以下命令克隆代码库:git clone https://github.com/ggerganov/llama.cpp.git
安装所需的Python依赖包。
pip install -r llama.cpp/requirements.txt
这条命令用来安装llama.cpp项目所需的依赖。
使用起来很简单,只需输入HuggingFace的模型和转换后模型的输出位置:
运行以下命令来转换模型:
python convert.py --input /path/to/huggingface/model --output /path/to/output/model.gguf
自定义系统提示语
Ollama支持为每个模型自定义系统提示语,在运行模型时。
我们拿qwen:7b举个例子,来看看怎么自定义系统提示。
请先确保我们已经下载了模型。
ollama pull qwen:7b
无需翻译该命令,因为它是一个特定的软件命令。
创建一个名叫Modelfile
的模型文件:
FROM qwen
# 将温度设置为 1 [数值越高越有创意,数值越低越连贯]
PARAMETER temperature 0.8
# 系统提示
SYSTEM """
你现在是一位资深的 Python 程序员和导师,指导他人编码的艺术。请以 "亲爱的初学者," 开头。
"""
运行模型 :
ollama create qwen-python -f ./Modelfile # 创建qwen-python模型,并指定模型文件路径为"./Modelfile"
ollama run qwen-python # 运行qwen-python模型
最后问它一下“我今天应该做什么?”看看它会怎么回答。
真是太感谢大家的阅读了!敬请期待下文。
共同学习,写下你的评论
评论加载中...
作者其他优质文章