一、ollama简介:
-
什么是 Ollama?
Ollama 是一个用于本地部署和管理大模型的工具。它提供了一个简单的命令行界面,
使得用户可以轻松地下载、运行和管理各种大模型。Ollama 支持多种模型格式,
并且可以与现有的深度学习框架(如 PyTorch、TensorFlow)无缝集成。 -
准备工作
在开始之前,确保你的本地环境满足以下要求:-
操作系统:Linux 或 macOS(Windows 也可以,但可能需要额外配置)
-
Python:3.8 或更高版本
-
GPU:推荐使用 NVIDIA GPU,并安装 CUDA 和 cuDNN
-
二、ollama直接下载安装,部署:
A、官网最新版本0.5.11(2025-02-18):
- 官网地址:https://ollama.com/
- 下载地址:https://ollama.com/download
- Github地址:https://github.com/ollama/ollama
B、下载:
- 安装迅雷 https://www.xunlei.com/
- 将要下载的文件使用迅雷下载,速度快
- 下载绿色解压版地址:https://github.com/ollama/ollama/releases/download/v0.5.11/ollama-windows-amd64.zip
- 下载安装版地址:https://github.com/ollama/ollama/releases/download/v0.5.11/OllamaSetup.exe
C、安装(绿色解压版):
- 将ollama-windows-amd64.zip解压到一个目录下(不含中文字符)
D、环境变量设置:
-
运行程序变量设置:将ollama.exe所在目录添加到PATH目录下
-
运行
ollama serve -h
输出如下:Start ollama Usage: ollama serve [flags] Aliases: serve, start Flags: -h, --help help for serve Environment Variables: OLLAMA_DEBUG Show additional debug information (e.g. OLLAMA_DEBUG=1) OLLAMA_HOST IP Address for the ollama server (default 127.0.0.1:11434) OLLAMA_KEEP_ALIVE The duration that models stay loaded in memory (default "5m") OLLAMA_MAX_LOADED_MODELS Maximum number of loaded models per GPU OLLAMA_MAX_QUEUE Maximum number of queued requests OLLAMA_MODELS The path to the models directory OLLAMA_NUM_PARALLEL Maximum number of parallel requests OLLAMA_NOPRUNE Do not prune model blobs on startup OLLAMA_ORIGINS A comma separated list of allowed origins OLLAMA_SCHED_SPREAD Always schedule model across all GPUs OLLAMA_FLASH_ATTENTION Enabled flash attention OLLAMA_KV_CACHE_TYPE Quantization type for the K/V cache (default: f16) OLLAMA_LLM_LIBRARY Set LLM library to bypass autodetection OLLAMA_GPU_OVERHEAD Reserve a portion of VRAM per GPU (bytes) OLLAMA_LOAD_TIMEOUT How long to allow model loads to stall before giving up (default "5m")
-
设置ollama环境变量:
变量名 变量说明 变量值 OLLAMA_MODELS 模型数据目录 D:\apply\ollama\models OLLAMA_HOST 配置端口:只填端口号可以同时侦听(所有) IP的:11434 端口 :11434 OLLAMA_ORIGINS 允许浏览器跨域请求 *
E、运行Ollama
- 运行服务:
ollama serve
- 验证:
- 在浏览器中输入: http://localhost:11434
F、下载模型
- 模型地址:https://ollama.com/library/deepseek-r1
- 下载命令:
ollama pull deepseek-r1:1.5b ollama pull deepseek-r1:7b ollama pull deepseek-r1:8b
G、运行与验证:
- 下载命令:
ollama run deepseek-r1:1.5b ollama run deepseek-r1:7b ollama run deepseek-r1:8b
- 验证:
- 在浏览器中输入: http://localhost:11434
三、ollama的Python客户端
官网:https://pypi.org/project/ollama/#description
A、安装:
-
下载Python:https://mirrors.huaweicloud.com/python
-
安装python
-
修改配置文件:
Pip的配置文件为用户根目录下的:~/.pip/pip.conf(Windows路径为:C:\Users<UserName>\pip\pip.ini), 您可以配置如下内容:
[global] index-url = https://mirrors.huaweicloud.com/repository/pypi/simple trusted-host = mirrors.huaweicloud.com timeout = 120
-
创建一个虚拟环境并激活它:
python -m venv deepseek-ollama-env # source deepseek-ollama-env/bin/activate # Linux/macOS # Windows deepseek-ollama-env\Scripts\activate
-
首先,我们需要安装 Ollama。你可以通过以下命令安装 Ollama:
python.exe -m pip install --upgrade pip pip install --trusted-host mirrors.huaweicloud.com -i https://mirrors.huaweicloud.com/repository/pypi/simple ollama
四、使用 KoboldCPP 在本地部署 DeepSeek 大模型
KoboldCPP 是一个基于 C++ 的高性能推理引擎,专门用于在本地部署和运行大模型。它支持多种模型格式,并且能够高效地利用硬件资源(如 GPU)。本文将详细介绍如何使用 KoboldCPP 在本地部署 DeepSeek 大模型。
1. 什么是 KoboldCPP?
KoboldCPP 是一个轻量级、高性能的推理引擎,专注于在本地运行大模型。它支持以下特性:
- 高性能:通过 C++ 实现,能够充分利用硬件资源。
- 多平台支持:支持 Linux、Windows 和 macOS。
- 易于使用:提供简单的命令行接口,方便快速部署和运行模型。
2. 准备工作
在开始之前,确保你的本地环境满足以下要求:
- 操作系统:Linux、Windows 或 macOS。
- Python:3.8 或更高版本(用于模型转换和工具脚本)。
- GPU:推荐使用 NVIDIA GPU,并安装 CUDA 和 cuDNN(可选,用于加速推理)。
- 内存:至少 16GB RAM(具体需求取决于模型大小)。
3. 安装 KoboldCPP
下载 KoboldCPP
首先,从 KoboldCPP 的 GitHub 仓库下载预编译的二进制文件:
选择适合你操作系统的版本(Windows、Linux 或 macOS),并下载解压。
安装依赖
确保你的系统已安装以下依赖:
- CUDA(如果使用 GPU):安装与你的 GPU 驱动兼容的 CUDA 版本。
- OpenBLAS 或 MKL(用于 CPU 加速):可以通过包管理器安装。
4. 准备 DeepSeek 大模型
KoboldCPP 支持多种模型格式(如 GGML、GPTQ 等)。你需要将 DeepSeek 大模型转换为 KoboldCPP 支持的格式。
下载模型
从 Hugging Face 或其他来源下载 DeepSeek 大模型。例如:
git lfs install
git clone https://huggingface.co/deepseek-ai/deepseek-large
转换模型格式
使用 transformers
或其他工具将模型转换为 KoboldCPP 支持的格式(如 GGML)。以下是一个示例脚本:
from transformers import AutoModelForCausalLM
import torch
model_name = "deepseek-ai/deepseek-large"
model = AutoModelForCausalLM.from_pretrained(model_name)
# 转换为 GGML 格式
model.save_pretrained("./deepseek-ggml", save_format="ggml")
5. 使用 KoboldCPP 运行模型
启动 KoboldCPP
将转换后的模型文件放入 KoboldCPP 的 models
目录中,然后通过命令行启动 KoboldCPP:
./koboldcpp --model ./models/deepseek-ggml.bin --gpu # 使用 GPU 加速
如果使用 CPU,可以省略 --gpu
参数:
./koboldcpp --model ./models/deepseek-ggml.bin
参数说明
--model
:指定模型文件路径。--gpu
:启用 GPU 加速(需要 CUDA 支持)。--threads
:设置 CPU 线程数(适用于 CPU 模式)。--port
:指定服务端口(默认为 5000)。
6. 访问 KoboldCPP Web 界面
启动 KoboldCPP 后,它会自动启动一个本地 Web 服务。打开浏览器,访问以下地址:
http://localhost:5000
你将看到一个简单的 Web 界面,可以在其中输入文本并查看模型的生成结果。
7. 使用 API 访问模型
KoboldCPP 还提供了一个简单的 API,可以通过 HTTP 请求与模型交互。以下是一个示例:
发送请求
使用 curl
或其他 HTTP 客户端发送请求:
curl -X POST http://localhost:5000/api/v1/generate -d '{
"prompt": "你好,DeepSeek!",
"max_length": 50
}'
响应示例
{
"text": "你好,DeepSeek!我是一个基于 DeepSeek 大模型的 AI 助手。"
}
8. 进一步优化
- 量化模型:如果资源有限,可以将模型量化为 4-bit 或 8-bit 以减少内存占用。
- 多 GPU 支持:如果你的系统有多个 GPU,可以启用多 GPU 推理以进一步提高性能。
- 批处理:通过调整批处理大小,优化推理速度。
9. 总结
通过 KoboldCPP,我们可以在本地高效地部署和运行 DeepSeek 大模型。无论是用于研究、开发还是生产环境,KoboldCPP 都提供了一个简单而强大的解决方案。希望本文能帮助你顺利在本地部署 DeepSeek 大模型,并充分发挥其潜力。
如果你有任何问题或建议,欢迎在评论区留言!
© 著作权归作者所有