当前位置: 首页 > article >正文

使用ollama本地部署微调后的大语言模型

在使用LlaMA-Factory导出的模型时,由于其输出格式与Ollama所需的格式不一致,需要借助llama.cpp的工具将模型转换为GGUF格式,以便在Ollama中使用。Ollama是一款开源的本地大语言模型推理工具,支持对LLM模型进行管理、训练和推理,并提供了WebUI界面和客户端API。


Ollama安装

1. 安装方式

Ollama支持多种安装方式,包括直接安装和通过Docker安装。

  • 直接安装

    • Windows:从Ollama官网下载安装程序并运行。

    • macOS:使用Homebrew安装:

      brew install ollama
    • Linux:直接下载并安装:

      curl -fsSL https://ollama.com/install.sh | sh

      或者手动下载并解压:

      curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o ollama-linux-amd64.tgz
      sudo tar -C /usr -xzf ollama-linux-amd64.tgz
  • Docker安装

    • 使用Docker可以快速部署Ollama。首先确保已安装Docker。

    • 拉取Ollama的Docker镜像:

      docker pull ollama/ollama:latest
    • 创建一个docker-compose.yml文件,内容如下:

      version: '3'
      services:
        ollama:
          image: ollama/ollama:latest
          container_name: ollama
          ports:
            - "11434:11434"
          volumes:
            - ./data:/data
    • 启动Ollama服务:

      docker-compose up -d
2. 验证安装

安装完成后,可以通过以下命令启动Ollama服务:

ollama serve

或者通过Docker启动:

docker start ollama

访问http://localhost:11434,如果页面正常显示,说明Ollama已成功安装。


模型转换与部署

1. 转换模型

Ollama支持GGUF格式的模型,因此需要将LlaMA-Factory导出的模型转换为GGUF格式。

  1. 克隆llama.cpp仓库:

    git clone https://github.com/ggerganov/llama.cpp.git
    cd llama.cpp
  2. 安装依赖:

    pip install -r requirements.txt
  3. convert_hf_to_gguf.py 是一个用于将 HuggingFace 模型转换为 GGUF 格式的脚本,使用convert_hf_to_gguf.py脚本转换模型:

    python convert_hf_to_gguf.py /path/to/your_model --outfile /path/to/output.gguf --outtype q8_0
    • /path/to/your_model:LlaMA-Factory导出的模型路径。

    • /path/to/output.gguf:转换后的GGUF模型路径。

    • --outtype q8_0:指定量化类型,根据实际需求修改。

2. 创建Modelfile

创建一个Modelfile文件,内容如下:

FROM /path/to/output.gguf

/path/to/output.gguf替换为实际的GGUF模型路径。

3. 导入模型到Ollama

将转换后的模型导入到Ollama中:

ollama create model_name -f /path/to/Modelfile
  • model_name:自定义模型名称。

4. 查看和运行模型

查看Ollama中的所有本地模型:

ollama list

运行模型进行对话:

ollama run model_name

此时,模型已成功部署到Ollama中。


http://www.kler.cn/a/513126.html

相关文章:

  • 分布式多卡训练(DDP)踩坑
  • 【知识分享】PCIe5.0 TxRx 电气设计参数汇总
  • Linux 如何使用parted进行磁盘分区?
  • HTML<img>标签
  • ovs实现lb负载均衡
  • leetcode——找到字符串中所有字母异位词(java)
  • 包文件分析器 Webpack Bundle Analyzer
  • C# lambda表达式
  • Ubuntu介绍、与centos的区别、基于VMware安装Ubuntu Server 22.04、配置远程连接、安装jdk+Tomcat
  • BOBO小火炬全套源码XE修复版2025(火炬天花板二次开发版)
  • swagger漏洞扫描工具
  • MFC程序设计(一)MFC入门
  • 【系统架构设计师】真题论文: 论企业集成平台的理解与应用(包括解题思路和素材)
  • 美特CRM mcc_login.jsp存在SQL注入漏洞
  • lp-converter-processor 2024年版本迭代汇总
  • Java 中 HashSet 集合元素的去重
  • 英语游戏配音的特点
  • swift Actor并发处理
  • R 语言 | future 包,非阻塞的执行耗时脚本
  • C语言之饭店外卖信息管理系统
  • RabbitMQ1-消息队列
  • npm install卡住执行不下去的问题
  • GAN - 生成对抗网络:生成新的数据样本
  • 高等数学学习笔记 ☞ 定积分与积分公式
  • 使用repo下载android源码,Ubuntu安装repo
  • pdf与ofd的区别详细对比