Bootstrap

DeepSeek01-本地部署大模型

一、ollama简介:

  1. 什么是 Ollama?
    Ollama 是一个用于本地部署和管理大模型的工具。它提供了一个简单的命令行界面,
    使得用户可以轻松地下载、运行和管理各种大模型。Ollama 支持多种模型格式,
    并且可以与现有的深度学习框架(如 PyTorch、TensorFlow)无缝集成。

  2. 准备工作
    在开始之前,确保你的本地环境满足以下要求:

    • 操作系统:Linux 或 macOS(Windows 也可以,但可能需要额外配置)

    • Python:3.8 或更高版本

    • GPU:推荐使用 NVIDIA GPU,并安装 CUDA 和 cuDNN

二、ollama直接下载安装,部署:

A、官网最新版本0.5.11(2025-02-18):

  1. 官网地址:https://ollama.com/
  2. 下载地址:https://ollama.com/download
  3. Github地址:https://github.com/ollama/ollama

B、下载:

  1. 安装迅雷 https://www.xunlei.com/
  2. 将要下载的文件使用迅雷下载,速度快
  3. 下载绿色解压版地址:https://github.com/ollama/ollama/releases/download/v0.5.11/ollama-windows-amd64.zip
  4. 下载安装版地址:https://github.com/ollama/ollama/releases/download/v0.5.11/OllamaSetup.exe

C、安装(绿色解压版):

  1. 将ollama-windows-amd64.zip解压到一个目录下(不含中文字符)

D、环境变量设置:

  1. 运行程序变量设置:将ollama.exe所在目录添加到PATH目录下

  2. 运行 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")
    
  3. 设置ollama环境变量:

    变量名变量说明变量值
    OLLAMA_MODELS模型数据目录D:\apply\ollama\models
    OLLAMA_HOST配置端口:只填端口号可以同时侦听(所有) IP的:11434 端口:11434
    OLLAMA_ORIGINS允许浏览器跨域请求*

E、运行Ollama

  1. 运行服务:
    • ollama serve
  2. 验证:
    • 在浏览器中输入: http://localhost:11434

F、下载模型

  1. 模型地址:https://ollama.com/library/deepseek-r1
  2. 下载命令:
    ollama pull deepseek-r1:1.5b
    ollama pull deepseek-r1:7b
    ollama pull deepseek-r1:8b
    

G、运行与验证:

  1. 下载命令:
    ollama run deepseek-r1:1.5b
    ollama run deepseek-r1:7b
    ollama run deepseek-r1:8b
    
  2. 验证:
  • 在浏览器中输入: http://localhost:11434

三、ollama的Python客户端

官网:https://pypi.org/project/ollama/#description

A、安装:

  1. 下载Python:https://mirrors.huaweicloud.com/python

  2. 安装python

  3. 修改配置文件:

    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
    
  4. 创建一个虚拟环境并激活它:

    python -m venv deepseek-ollama-env
    # source deepseek-ollama-env/bin/activate  # Linux/macOS
    # Windows
    deepseek-ollama-env\Scripts\activate
    
  5. 首先,我们需要安装 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 版本。
  • OpenBLASMKL(用于 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 大模型,并充分发挥其潜力。

如果你有任何问题或建议,欢迎在评论区留言!


© 著作权归作者所有

;