安装 llama-cpp-python 的CPU和GPU方法

模型使用CPU、还是GPU

关于Langchain、LlamaCpp一些执行错误。

1.安装CPU版本:

sh 复制代码
pip install llama-cpp-python

2.安装GPU版本

需要同时满足两个条件:

1.NVIDIA显卡驱动(通过nvidia-smi 验证)

2.CUDA Toolkit(通过nvcc --version验证)

总结:

若只是运行别人开发好的 CUDA 程序(如用 GPU 跑 PyTorch/TensorFlow),"有 CUDA(硬件 + 驱动支持)但无 Toolkit" 是正常且常见的(很多用户为了节省空间,不会安装多余的开发工具);

若要自己开发 CUDA 程序,则必须安装 CUDA Toolkit,否则无法完成编译和开发工作。

本质上,两者的核心区别是:CUDA Toolkit 是 "开发工具",而运行 CUDA 程序只需要 "硬件 + 驱动的运行时支持"。

1.nvidia-smi 查看右上角的 "CUDA Version"

选择低于cuda版本的CUDA Toolki。

sh 复制代码
nvidia-smi

2.安装必要的编译工具

sh 复制代码
apt install -y build-essential cmake wget

3.安装 cuda-toolkit

对于这一步我失败了。

sh 复制代码
# 对于Ubuntu系统
sudo apt update
sudo apt install -y cuda-toolkit-<version>  # 将<version>替换为nvidia-smi显示的版本

# 例如:nvidia-smi显示CUDA Version: 11.7
sudo apt install -y cuda-toolkit-11-7

4.安装必要的依赖

sh 复制代码
apt update
apt install -y wget software-properties-common gnupg

5. 添加 NVIDIA CUDA 仓库密钥

sh 复制代码
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-keyring_1.1-1_all.deb
dpkg -i cuda-keyring_1.1-1_all.deb

6.更新包列表

sh 复制代码
apt update

7.安装 CUDA Toolkit

sh 复制代码
apt install -y cuda-toolkit-12-4

8.验证 CUDA 安装是否成功:

sh 复制代码
nvcc --version

9. 如果 nvcc 不可用,手动设置环境变量:

sh 复制代码
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
nvcc --version

10.安装支持 CUDA 的 llama-cpp-python:

sh 复制代码
pip uninstall -y llama-cpp-python # (CPU版的)
export LLAMA_CUDA=1
export FORCE_CMAKE=1
export CMAKE_ARGS="-DLLAMA_CUDA=on"
pip install --force-reinstall --no-cache-dir llama-cpp-python

11.测试

sh 复制代码
from llama_cpp import Llama

llm = Llama(
    model_path="models/7B/ggml-model.bin",  # 替换为你的模型路径
    n_gpu_layers=50,
    n_ctx=2048,
    verbose=True
)

print("CUDA支持:", llm.params.n_gpu_layers > 0)
相关推荐
神奇元创28 分钟前
商用级光路加速卡:大模型推理的极速落地方案
python·神经网络·fpga开发·dsp开发
凡人叶枫31 分钟前
Effective C++ 条款22:将成员变量声明为 private
linux·开发语言·c++
Qt程序员37 分钟前
掌握 Linux 内核调度:从原理到实现(进程篇)
java·开发语言
运筹vivo@41 分钟前
Python ContextVar 底层机制与内存模型拆解
前端·数据库·python
code bean41 分钟前
【LangChain】检索器完全指南:从向量检索到生产级 RAG 架构
java·开发语言·微服务
大白菜和MySQL43 分钟前
java应用排查高线程
java·python
LabVIEW开发1 小时前
LabVIEW + MATLAB 混合编程:爆炸场测试数据精准采集方案
开发语言·matlab·labview
嵌入式协会20240721 小时前
(已解决)MinIO python 获取预签名出现forbidden、errornetwork等错误
java·开发语言·python
宸丶一1 小时前
Day 14:任务追踪 - 让 Agent 拥有项目管理能力
开发语言·python