Task02:Ollama 自定义导入模型

简介

本节学习如何使用 Modelfile 来自定义导入模型,主要分为以下几个部分:

  1. 从 GGUF 导入
  2. 从 Pytorch 或 Safetensors 导入
  3. 由模型直接导入
  4. 自定义 Prompt

一、从 GGUF 导入

GGUF (GPT-Generated Unified Format) 是一种文件格式,用于保存经过微调的语言模型。这种格式旨在帮助用户方便地在不同的平台和环境之间共享和导入模型。它支持多种量化格式,可以有效减少模型文件的大小。

它的前身是 GGML(GPT-Generated Model Language),是专门为了机器学习而设计的 Tensor 库,目的是为了有一个单文件的格式,并且易在不同架构的 CPU 以及 GPU 上可以推理,但后续由于开发遇到了灵活性不足、相容性及难以维护的问题。

Ollama 支持从 GGUF 文件导入模型,通过以下步骤来实现:

  1. 下载 .gguf 文件

下载链接:https://huggingface.co/RichardErkhov/Qwen_-_Qwen2-0.5B-gguf/resolve/main/Qwen2-0.5B.Q3_K_M.gguf?download=true

为了演示的方便,我们选用了 Qwen2-0.5B 模型。下载后复制到第一部分的根目录下

  1. 新建创建 Modelfile 文件
FROM ./Qwen2-0.5B.Q3_K_M.gguf
  1. 在 Ollama 中创建模型
ollama create mymodel -f Modelfile

创建模型

  1. 终端内运行模型(实测在 notebook 中运行不出来,最好在终端运行)
ollama run mymodel

终端中运行模型

在Open-weigui中刷新可以得到看到Ollama构建的模型
Open-weigui中新模型

二、从 Pytorch 或 Safetensors 导入

Safetensors 是一种用于存储深度学习模型权重的文件格式,它旨在解决安全性、效率和易用性方面的问题。目前这部分功能还有待社区成员开发,目前文档资源有限。

如果正在导入的模型是以下架构之一,则可以通过 Modelfile 直接导入 Ollama。当然,你也可以将 safetensors 文件转换为 gguf 文件,再进行处理,转换过程可以参考第三部分。

有关 safetensors 以及 GGUF 更详细的信息可以参考这个链接进行学习 https://www.linkedin.com/pulse/llama-3-safetensors-vs-gguf-talles-carvalho-jjcqf

  • LlamaForCausalLM
  • MistralForCausalLM
  • GemmaForCausalLM

由于这部分内容社区还在不断优化中,因此,这里提供的示例代码和流程仅供参考,并不保证能成功运行。详情请参考官方文档。

  1. 下载 llama-3 模型
!pip install huggingface_hub
# 下载模型
from huggingface_hub 
### 更改 Ollama 镜像源以支持魔搭模型 Ollama 默认使用 Hugging Face 和其他国际镜像源来拉取预训练模型。然而,在中国境内访问这些资源可能会遇到速度较慢或者不可用的情况。为了更高效地获取模型,可以通过配置 Ollama 使用国内的魔搭(ModelScope)作为镜像源。 #### 方法一:通过环境变量设置 ModelScope 加速下载 可以利用 `HF_ENDPOINT` 环境变量指向阿里云魔搭的开放 API 地址,从而实现加速下载功能。具体操作如下: 1. **设置环境变量** 在终端中输入以下命令以临时修改当前会话中的环境变量: ```bash export HF_ENDPOINT=https://modelscope.cn/api/v1/repo/ ``` 2. **验证环境变量生效** 输入以下命令确认环境变量已成功设置: ```bash echo $HF_ENDPOINT ``` 如果返回值为 `https://modelscope.cn/api/v1/repo/` 则表示设置成功[^3]。 3. **下载模型** 使用 Hugging Face CLI 工具指定目标模型并启动下载过程: ```bash huggingface-cli download --resume-download --local-dir-use-symlinks False damo/distilroberta-toxicity-base --local-dir distilroberta-toxicity-base --cache-dir distilroberta-toxicity-base ``` #### 方法二:手动导入本地 GGUF 文件到 Ollama 如果希望完全绕过在线拉取流程,则可以选择先从魔搭平台下载所需模型文件再将其导入Ollama 中。 1. **从魔搭下载模型** 访问 [魔搭](https://www.modelscope.cn/) 并找到对应版本的模型页面,点击右侧“下载”按钮获得离线包链接。接着借助浏览器插件或者其他工具完成实际传输工作[^4]。 2. **准备 Modelfile 描述文档** 创建一个新的 `.mf` 文件用于描述刚刚得到的那个特定架构实例化参数等内容。例如针对某个基于 Qwen 构建的大规模语言理解系统可能看起来像是这样: ```plaintext FROM ~/path/to/qwen-1_5-1_8b.gguf PARAMETER temperature 0.7 SYSTEM """ You are Qwen, a large language model developed by Alibaba Cloud. Your task is to answer questions accurately and comprehensively while maintaining politeness at all times. Avoid generating content that could be considered offensive or harmful under any circumstances. Always prioritize user privacy protection during conversations. """ ``` 3. **注册新模型进入 Ollama 生态圈** 执行下面这条指令让刚才编辑好的自定义模板正式加入可用列表当中去吧! ```bash ollama create my_qwen_model -f path/to/my_custom_mf_file.mf ``` 4. **测试运行效果** 最后一步当然是检验成果啦~只需简单调用即可享受流畅对话体验哦~ ```bash ollama run my_qwen_model:latest ``` --- ### 注意事项 尽管上述方法能够有效缓解因网络条件限制带来的困扰,但仍需注意部分特殊场景下可能存在兼容性差异等问题待解决。因此建议始终保留官方推荐途径作为备选方案之一以便应对突发状况发生时迅速切换回稳定状态继续开展业务活动不受影响[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值