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

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


Ollama安装

1. 安装方式

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

  • 直接安装

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

    • macOS:使用Homebrew安装:

      bash 复制代码
      brew install ollama
    • Linux:直接下载并安装:

      bash 复制代码
      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中。

相关推荐
AI浩4 分钟前
【面试总结】FFN(前馈神经网络)在Transformer模型中先升维再降维的原因
人工智能·深度学习·计算机视觉·transformer
可为测控14 分钟前
图像处理基础(4):高斯滤波器详解
人工智能·算法·计算机视觉
一水鉴天1 小时前
为AI聊天工具添加一个知识系统 之63 详细设计 之4:AI操作系统 之2 智能合约
开发语言·人工智能·python
倔强的石头1061 小时前
解锁辅助驾驶新境界:基于昇腾 AI 异构计算架构 CANN 的应用探秘
人工智能·架构
佛州小李哥2 小时前
Agent群舞,在亚马逊云科技搭建数字营销多代理(Multi-Agent)(下篇)
人工智能·科技·ai·语言模型·云计算·aws·亚马逊云科技
说私域2 小时前
社群裂变+2+1链动新纪元:S2B2C小程序如何重塑企业客户管理版图?
大数据·人工智能·小程序·开源
程序猿阿伟2 小时前
《探秘鸿蒙Next:如何保障AI模型轻量化后多设备协同功能一致》
人工智能·华为·harmonyos
2401_897579653 小时前
AI赋能Flutter开发:ScriptEcho助你高效构建跨端应用
前端·人工智能·flutter
CM莫问3 小时前
python实战(十五)——中文手写体数字图像CNN分类
人工智能·python·深度学习·算法·cnn·图像分类·手写体识别
程序猿阿伟3 小时前
《探秘鸿蒙Next:人工智能助力元宇宙高效渲染新征程》
人工智能·华为·harmonyos