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

相关文章

Java使用HttpClient实现图片下载与本地保存功能

《Java使用HttpClient实现图片下载与本地保存功能》在当今数字化时代,网络资源的获取与处理已成为软件开发中的常见需求,其中,图片作为网络上最常见的资源之一,其下载与保存功能在许多应用场景中都... 目录引言一、Apache HttpClient简介二、技术栈与环境准备三、实现图片下载与保存功能1.

详解如何使用Python从零开始构建文本统计模型

《详解如何使用Python从零开始构建文本统计模型》在自然语言处理领域,词汇表构建是文本预处理的关键环节,本文通过Python代码实践,演示如何从原始文本中提取多尺度特征,并通过动态调整机制构建更精确... 目录一、项目背景与核心思想二、核心代码解析1. 数据加载与预处理2. 多尺度字符统计3. 统计结果可

Java实现本地缓存的常用方案介绍

《Java实现本地缓存的常用方案介绍》本地缓存的代表技术主要有HashMap,GuavaCache,Caffeine和Encahche,这篇文章主要来和大家聊聊java利用这些技术分别实现本地缓存的方... 目录本地缓存实现方式HashMapConcurrentHashMapGuava CacheCaffe

SpringBoot整合Sa-Token实现RBAC权限模型的过程解析

《SpringBoot整合Sa-Token实现RBAC权限模型的过程解析》:本文主要介绍SpringBoot整合Sa-Token实现RBAC权限模型的过程解析,本文给大家介绍的非常详细,对大家的学... 目录前言一、基础概念1.1 RBAC模型核心概念1.2 Sa-Token核心功能1.3 环境准备二、表结

Maven项目打包时添加本地Jar包的操作步骤

《Maven项目打包时添加本地Jar包的操作步骤》在Maven项目开发中,我们经常会遇到需要引入本地Jar包的场景,比如使用未发布到中央仓库的第三方库或者处理版本冲突的依赖项,本文将详细介绍如何通过M... 目录一、适用场景说明​二、核心操作命令​1. 命令格式解析​2. 实战案例演示​三、项目配置步骤​1

使用Python实现调用API获取图片存储到本地的方法

《使用Python实现调用API获取图片存储到本地的方法》开发一个自动化工具,用于从JSON数据源中提取图像ID,通过调用指定API获取未经压缩的原始图像文件,并确保下载结果与Postman等工具直接... 目录使用python实现调用API获取图片存储到本地1、项目概述2、核心功能3、环境准备4、代码实现

Web技术与Nginx网站环境部署教程

《Web技术与Nginx网站环境部署教程》:本文主要介绍Web技术与Nginx网站环境部署教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Web基础1.域名系统DNS2.Hosts文件3.DNS4.域名注册二.网页与html1.网页概述2.HTML概述3.

python如何下载网络文件到本地指定文件夹

《python如何下载网络文件到本地指定文件夹》这篇文章主要为大家详细介绍了python如何实现下载网络文件到本地指定文件夹,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下...  在python中下载文件到本地指定文件夹可以通过以下步骤实现,使用requests库处理HTTP请求,并结合o

一文详解如何查看本地MySQL的安装路径

《一文详解如何查看本地MySQL的安装路径》本地安装MySQL对于初学者或者开发人员来说是一项基础技能,但在安装过程中可能会遇到各种问题,:本文主要介绍如何查看本地MySQL安装路径的相关资料,需... 目录1. 如何查看本地mysql的安装路径1.1. 方法1:通过查询本地服务1.2. 方法2:通过MyS

Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例

《Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例》本文介绍Nginx+Keepalived实现Web集群高可用负载均衡的部署与测试,涵盖架构设计、环境配置、健康检查、... 目录前言一、架构设计二、环境准备三、案例部署配置 前端 Keepalived配置 前端 Nginx