安装 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)
相关推荐
AI人工智能+电脑小能手2 分钟前
【大白话说Java面试题 第110题】【并发篇】第10题:CAS 存在哪些问题?
java·开发语言·面试
石一峰69910 分钟前
C 语言函数设计模式实战经验
c语言·开发语言·设计模式
秋913 分钟前
Python工程师面试常问提问和回答(AI工程化方向 · 2026版)
人工智能·python·面试
炎武丶航16 分钟前
LeNet-5深度学习详解:从手写数字识别到代码实战
人工智能·python·深度学习·机器学习·ai·cnn·lenet
sitellla16 分钟前
Pydub:用 Python 处理音频,不写废话
开发语言·python·其他·音视频
xingyuzhisuan24 分钟前
缓存命中率提升方案:从 30% 优化至 82% 全流程优化记录
java·开发语言·缓存·ai
TechWayfarer26 分钟前
云服务器地域怎么选:用离线IP数据库识别用户来源并优化部署
服务器·数据库·python·tcp/ip·数据分析
梦想不只是梦与想29 分钟前
Python 中的进程(Process)
python·进程·进程间通
郑洁文30 分钟前
基于Python的恶意流量监测系统的设计与实现
开发语言·python
星辰徐哥30 分钟前
Python AI基础:Matplotlib与Seaborn数据可视化
人工智能·python·matplotlib