llama.cpp本地部署大模型

2024-09-06 13:12
文章标签 部署 模型 本地 llama cpp

本文主要是介绍llama.cpp本地部署大模型,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

llama.cpp 是一个C++库,用于简化LLM推理的设置,它使得在本地机器上运行大模型(GGUF格式)成为可能。

官网:https://github.com/ggerganov/llama.cpp

模型库:

https://huggingface.co/

HF-Mirror

魔搭社区

安装并且使用llama.cpp

0.安装llama.cpp

官方文档:https://github.com/ggerganov/llama.cpp/blob/master/docs/build.md

git clone https://github.com/ggerganov/llama.cpp

cd llama.cpp

make -j 8

1. 下载模型(HF)

# obtain the official LLaMA model weights and place them in ./models/mymodels

sudo yum install git-lfs

git lfs install

git clone 魔搭社区

2. 转换与量化

官方文档:https://github.com/ggerganov/llama.cpp/blob/master/examples/quantize/README.md

将HuggingFace的safetensors格式的模型文件转换成gguf格式才能使用llama.cpp推理。最新版本只能用convert-hf-to-gguf.py来转换,convert.py已经过期了。

#install Python dependencies

python -m pip install -r requirements.txt

#convert the model to ggml FP16 format

python3 convert_hf_to_gguf.py ./models/mymodels/glm-4-9b-chat

#quantize the model to 4-bits (using Q4_K_M method)

./llama-quantize ./models/mymodels/glm-4-9b-chat/glm-4-9B-chat-F16.gguf ./models/mymodels/glm-4-9b-chat/glm-4-9B-chat_Q4_K_M.gguf Q4_K_M

3.模型加载与推理

官方文档: https://github.com/ggerganov/llama.cpp

#You can run a basic completion using this command

./llama-cli -m ./models/mymodels/glm-4-9B-chat/glm-4-9B-chat_Q4_K_M.gguf -p "I believe the meaning of life is" -n 2048

#Like ChatGPT-like experience, you can run in conversation mode by passing -cnv as a parameter

./llama-cli -m ./models/mymodels/glm-4-9B-chat/glm-4-9B-chat_Q4_K_M.gguf -cnv -c 2048 --temp 0.2 -n 2048 -p "你是一个作家助手"

# If you want to use another chat template, pass --chat-template NAME as a parameter../llama-cli -m ./models/mymodels/glm-4-9B-chat/glm-4-9B-chat_Q4_K_M.gguf -p "You are a helpful assistant" -cnv --chat-template chatml -cnv -c 2048 --temp 0.2 -n 2048

#Web server

./llama-server -m ./models/mymodels/gemma_2_chinese_chat_q8_0.gguf --port 8080 --host 192.168.19.180 -c 2048 --temp 0.2 -n 2048

  • -c 2048: 设置上下文长度为 2048。这决定了模型在推理时可以参考的上下文范围。
  • --temp 0.2: 设置采样温度为 0.2。较低的温度通常会使输出更加保守和确定性更高。
  • -n 2048: 设置生成的最大token数为 2048。即模型生成的文本最多包含2048 个 token。

# Basic web UI can be accessed via browser: http://192.168.19.180:18080

# Chat completion endpoint: http://192.168.19.180:18080/v1/chat/completions

#关闭web server

使用 Ctrl+C 组合键 或者 ps aux | grep llama-server 再kill.

这篇关于llama.cpp本地部署大模型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1142095

相关文章

python管理工具之conda安装部署及使用详解

《python管理工具之conda安装部署及使用详解》这篇文章详细介绍了如何安装和使用conda来管理Python环境,它涵盖了从安装部署、镜像源配置到具体的conda使用方法,包括创建、激活、安装包... 目录pytpshheraerUhon管理工具:conda部署+使用一、安装部署1、 下载2、 安装3

Golang的CSP模型简介(最新推荐)

《Golang的CSP模型简介(最新推荐)》Golang采用了CSP(CommunicatingSequentialProcesses,通信顺序进程)并发模型,通过goroutine和channe... 目录前言一、介绍1. 什么是 CSP 模型2. Goroutine3. Channel4. Channe

k8s部署MongDB全过程

《k8s部署MongDB全过程》文章介绍了如何在Kubernetes集群中部署MongoDB,包括环境准备、创建Secret、创建服务和Deployment,并通过Robo3T工具测试连接... 目录一、环境准备1.1 环境说明1.2 创建 namespace1.3 创建mongdb账号/密码二、创建Sec

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

将Python应用部署到生产环境的小技巧分享

《将Python应用部署到生产环境的小技巧分享》文章主要讲述了在将Python应用程序部署到生产环境之前,需要进行的准备工作和最佳实践,包括心态调整、代码审查、测试覆盖率提升、配置文件优化、日志记录完... 目录部署前夜:从开发到生产的心理准备与检查清单环境搭建:打造稳固的应用运行平台自动化流水线:让部署像

Python项目打包部署到服务器的实现

《Python项目打包部署到服务器的实现》本文主要介绍了PyCharm和Ubuntu服务器部署Python项目,包括打包、上传、安装和设置自启动服务的步骤,具有一定的参考价值,感兴趣的可以了解一下... 目录一、准备工作二、项目打包三、部署到服务器四、设置服务自启动一、准备工作开发环境:本文以PyChar

springboot 加载本地jar到maven的实现方法

《springboot加载本地jar到maven的实现方法》如何在SpringBoot项目中加载本地jar到Maven本地仓库,使用Maven的install-file目标来实现,本文结合实例代码给... 在Spring Boothttp://www.chinasem.cn项目中,如果你想要加载一个本地的ja

centos7基于keepalived+nginx部署k8s1.26.0高可用集群

《centos7基于keepalived+nginx部署k8s1.26.0高可用集群》Kubernetes是一个开源的容器编排平台,用于自动化地部署、扩展和管理容器化应用程序,在生产环境中,为了确保集... 目录一、初始化(所有节点都执行)二、安装containerd(所有节点都执行)三、安装docker-

在Ubuntu上部署SpringBoot应用的操作步骤

《在Ubuntu上部署SpringBoot应用的操作步骤》随着云计算和容器化技术的普及,Linux服务器已成为部署Web应用程序的主流平台之一,Java作为一种跨平台的编程语言,具有广泛的应用场景,本... 目录一、部署准备二、安装 Java 环境1. 安装 JDK2. 验证 Java 安装三、安装 mys

使用JavaScript操作本地存储

《使用JavaScript操作本地存储》这篇文章主要为大家详细介绍了JavaScript中操作本地存储的相关知识,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下... 目录本地存储:localStorage 和 sessionStorage基本使用方法1. localStorage