安装 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)
相关推荐
吴佳浩13 小时前
Python入门指南(六) - 搭建你的第一个YOLO检测API
人工智能·后端·python
长安第一美人13 小时前
C 语言可变参数(...)实战:从 logger_print 到通用日志函数
c语言·开发语言·嵌入式硬件·日志·工业应用开发
Larry_Yanan13 小时前
Qt多进程(一)进程间通信概括
开发语言·c++·qt·学习
superman超哥13 小时前
仓颉语言中基本数据类型的深度剖析与工程实践
c语言·开发语言·python·算法·仓颉
不爱吃糖的程序媛14 小时前
Ascend C开发工具包(asc-devkit)技术解读
c语言·开发语言
bu_shuo14 小时前
MATLAB奔溃记录
开发语言·matlab
Learner__Q14 小时前
每天五分钟:滑动窗口-LeetCode高频题解析_day3
python·算法·leetcode
————A14 小时前
强化学习----->轨迹、回报、折扣因子和回合
人工智能·python
你的冰西瓜14 小时前
C++标准模板库(STL)全面解析
开发语言·c++·stl
徐先生 @_@|||15 小时前
(Wheel 格式) Python 的标准分发格式的生成规则规范
开发语言·python