llama.cpp编译和运行 API调用

llama.cpp编译和运行 API调用

llama.cpp介绍

llama.cpp是一个开源项目,官方地址:https://github.com/ggerganov/llama.cpp,使用纯 C/C++推理 Meta 的LLaMA模型,专门为在本地CPU上部署量化模型而设计。

它提供了一种简单而高效的方法,将训练好的量化模型转换为可在CPU上运行的低配推理版本,可加快推理速度并减少内存使用。

llama.cpp优势
  • 高性能:llama.cpp针对CPU进行了优化,能够在保证精度的同时提供高效的推理性能。

  • 低资源:由于采用了量化技术,llama.cpp可以显著减少模型所需的存储空间和计算资源,可运行在端侧设备上。

  • 易集成:llama.cpp提供了简洁的API和接口,方便开发者将其集成到自己的项目中。

  • 跨平台支持:llama.cpp可在多种操作系统和CPU架构上运行,具有很好的可移植性。

llama.cpp编译
shell 复制代码
安装编译环境
sudo apt install cmake g++ git

下载源代码
git clone https://github.com/ggerganov/llama.cpp


cd llama.cpp/
cd build/
编译
cmake ..
make

gcc --version
g++ --version
cmake .. -DCMAKE_CXX_FLAGS="-mavx -mfma"
    
cmake --build build --config Release -march=native -mtune=native
cmake -march=native -mtune=native --build build --config Release
cmake -DLLAMA_NATIVE=OFF
cmake -B build -DGGML_LLAMAFILE=OFF

编译完成后,会生成很多可执行文件,如图

llama.cpp运行

llama.cpp提供了与OpenAI API兼容的API接口,使用make生成的llama-server来启动API服务

shell 复制代码
本地启动 HTTP 服务器,使用端口:8080 指定Llama-3.1-8B-Instruct推理模型
.\llama-server.exe -m E:\ai_model\Imstudio-ai\lmstudio-community\Meta-Llama-3.1-8B-Instruct-GGUF\Meta-Llama-3.1-8B-Instruct-Q4_K_M.gguf --port 8080

调用API服务

shell 复制代码
curl --request POST     --url http://localhost:8080/completion
     --header "Content-Type: application/json"
     --data '{"prompt": "介绍一下llama.cpp"}'
     ```
相关推荐
爱敲代码的小黄13 小时前
神经网络入门指南:从 CNN、RNN 到 Attention
人工智能·面试·程序员
一只爱撸猫的程序猿14 小时前
我看着一个 AI 引擎在 14 天里,从"记忆"走进了"搜索"
人工智能·后端·架构
我登哥MVP15 小时前
DeepSeek-Harness-Super-Agent-学习笔记
人工智能·深度学习·神经网络·机器学习·自然语言处理·agent
LucianaiB15 小时前
【元宝搜索开发者征文大赛】AI时代,学得慢就不用学?用元宝搜索打造一个教程保质期,确保每一个教程符合你的现状
前端·人工智能·ai编程
apcipot_rain15 小时前
C++转Java日记(03)
java·开发语言·c++
布莱克60515 小时前
C++ 中 map 的 insert 与 emplace:key 已存在时会覆盖吗?
开发语言·数据结构·c++·算法·map
xys_67815 小时前
深挖C++:类和对象(中)
开发语言·c++
冬奇Lab16 小时前
一天一个开源项目(第256篇):Anatomy —— 让 Claude 为技术概念「发明一台机器」,画成可交互的等距插画
人工智能·开源
孟郎郎16 小时前
打造一切(Craft Anything)——克隆构造世间万物
人工智能·ai·github·软件构建·开源软件
Martina_032116 小时前
AI生成3D场景的霓虹灯一开就糊成光团?用6步检查Emissive、Bloom与曝光
人工智能·3d·ai·自然语言处理·游戏引擎·材质·贴图