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

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.


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

相关文章:

  • HarmonyOS Next 关于页面渲染的性能优化方案
  • Cyberchef使用功能之-多种压缩/解压缩操作对比
  • R语言 | 宽数据变成一列,保留对应的行名和列名
  • Qt的一个基本用户登录界面编写|| 从0搭建QT的信号与槽的应用案例 ||Qt样式表的应用
  • C#编写的日志记录组件 - 开源研究系列文章
  • Spark:大数据处理的强大引擎
  • Vue3+setup+el-pagination+el-select封装下拉分页及懒加载
  • Spring 源码解读:解决循环依赖的三种方式
  • 自动化立体仓库定义及使用范围
  • 服务器托管是什么意思?优缺点详解
  • ElasticSearch7.8下载、安装教程
  • 游戏工作室搬砖用的多开就是动态代理ip吗
  • vue-router + el-menu
  • 【HarmonyOS】云开发-云数据库(二)
  • 「iOS」折叠cell
  • 【STM32】VOFA+上位机 PID调参
  • 论文翻译:arxiv-2022 Ignore Previous Prompt: Attack Techniques For Language Models
  • Flood Fill算法
  • 如何判断IP地址是否异常?
  • android14多屏幕帧率刷新率统计显示开发及成果展示
  • 如何打造一款成功的游戏
  • OPENAIGC开发者大赛企业组银奖 | Gambit-AI智能合同审核助手
  • 测试开发基础——软件测试中的bug
  • MME-RealWorld:您的多模态大型语言模型能挑战高分辨率的真实世界场景吗?这些场景对人类来说都非常困难!
  • OpenCV结构分析与形状描述符(9)检测轮廓相对于其凸包的凹陷缺陷函数convexityDefects()的使用
  • 【重学 MySQL】二十、运算符的优先级