一、 前言

1.1 本地部署意义

在线部署意味着模型需要连接到互联网才能运行,而离线部署则是在本地设备上运行,不需要网络连接。
在目前DeepSeek的网站中,极不稳定,总是服务器繁忙,这时候本地部署就可以有效规避问题。

优势

  • 提升稳定性:不请求网络,避免服务器繁忙的问题。
  • 提高安全性:不联网,部署在本地,个人数据隐私性大大提高。
  • 定制化:可以自行训练大模型,打造属于自己专业的“玩伴”。
  • 低成本:打开网页就可以问,没有什么多余成本。

劣势

  • 高成本:前期部署需要一定时间,如果换模型又需要下载。
  • 局限性:一般自己用的计算机CPU、GPU性能十分有限,绝大多无法支撑DeepSeek完全体。
  • 灵活性差:在线版是DeepSeek官方维护的,一直在迭代和提升能力,本地无法第一时间跟上官方优化的步伐。

1.2 本次部署环境

CPU: INTEL® XEON® PLATINUM 8568Y+ 48 Core *2
内存: 5600 MT/s 64G * 16 = 1024G
显卡:NVIDIA L20 *8
OS: CentOS 8U5 With Kernel 4.18.0-348.el8.x86_64

1.3 Deepseek 部署配置要求

根据部署配置要求及结合本次部署环境,最终选择70B模型类型为本次部署版本
在这里插入图片描述

二、本地部署步骤

2.1 安装ollama

ollama是一个开源的人工智能框架,旨在为开发者提供一个灵活、高效的工具,可以轻松将大语言模型集成到自己的应用中。

  • 自动安装
    curl -fsSL https://ollama.com/install.sh | sh

  • 手动安装

    Note
    如果你是从之前的版本升级,请首先使用以下命令删除旧的库: sudo rm -fr /usr/lib/ollama

    1. 下载并解压

      curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o ollama-linux-amd64.tgz
      sudo tar -C /usr -xzf ollama-linux-amd64.tgz
      
    2. 将Ollama添加为启动服务(推荐)

      为Ollama创建一个用户和组

      sudo useradd -r -s /bin/false -U -m -d /usr/share/ollama ollama
      sudo usermod -a -G ollama $(whoami)
      

      在/etc/systemd/system/ollama.service 中创建一个服务文件:

      [Unit]
      Description=Ollama Service
      After=network-online.target
      
      [Service]
      ExecStart=/usr/bin/ollama serve
      User=ollama
      Group=ollama
      Restart=always
      RestartSec=3
      Environment="PATH=$PATH"
      
      [Install]
      WantedBy=default.target
      
    3. 启动服务

      sudo systemctl daemon-reload
      sudo systemctl enable ollama
      
    4. 开启Ollama服务

      sudo systemctl start ollama
      sudo systemctl status ollama
      

2.2 下载Deepseek-R1的不同版本模型

  1. 点击ollama官网左上方的“Models" 按键进入模型页面在这里插入图片描述

  2. 选择Deepseek-R1模型进入下载页面

在这里插入图片描述

  1. 进入页面后点击下拉菜单,可以看到多个版本。这里根据自己部署电脑的配置和网速进行选择, 本文使用8*L20 GPU所以选项70b模型,然后点击下图标注4按钮复制运行命令;

在这里插入图片描述

  1. 在部署机型上打开terminal将上面复制的指令拷贝后回车进行下载模型
    ollama run deepseek-r1:70b

  2. 下载完成后直接进入对话窗口。若需开启新的对话则打开新的终端输入指令即可再次对话
    ollama run deepseek-r1:70b
    在这里插入图片描述

2.3 安装可视化界面

在命令行窗口下对话太简陋,可以通过以下方法安装可视化的图文交互界面。介绍chatbox和AnythingLLm两个开源的桌面应用程序。

2.3.1 安装chatbox用户界面

  1. 下载Chatbox

    Chatbox 是一个开源的桌面应用程序,专门用于与大型语言模型(如 OpenAI 的 GPT 系列、LLaMA、Mistral,Deepseek 等)进行交互。它提供了一个简洁、易用的图形界面,让用户能够轻松地与 AI 模型对话,而无需编写代码或使用复杂的命令行工具。访问 Chatbox官网,下载适合你操作系统的安装包。
    在这里插入图片描述

  2. 设置chatbox

    本文是使用Linux系统作为部署环境,将下载的Chatbox软件包拷贝到Linux系统下,并在本地终端执行Chatbox-1.9.8-x86_64.AppImage --no-sendbox 打开软件,①设置中文显示;②设置对话模型。
    在这里插入图片描述

    在这里插入图片描述

  3. 上传本地知识库
    设置好模型后,在对话框中上传本地知识库,可以使用docx/excel/pdf等各种文件,如图(我这里上传的DebugTree文档为例):
    在这里插入图片描述

    向chatbox提问,测试效果(提问:查着PSU 相关问题):
    在这里插入图片描述

在这里插入图片描述

2.3.2 安装anythingLLM用户界面(和chatbox安全一款即可,个人更推荐anythingLLM)

  1. 安装anythingLLM
    AnythingLLM 是 Mintplex Labs 开发的开源全栈应用程序,能将文档转为 LLM 聊天背景信息,支持多种闭源和开源模型、向量数据库,可本地或远程托管,有多用户管理等功能,用于高效知识管理与问答,访问anythingLLM官网(https://anythingllm.com/)下载适合你操作系统的安装包,安装比较简单,安装过程不再详细介绍了。
    在这里插入图片描述

  2. 设置anythingLLM工作区,引用deepseek
    安装好后,新建工作区
    在这里插入图片描述

    为新建的工作区设置模型,选择ollama下的deepseek模型,注意聊天模式选查询,不然会有很多噪声哦
    在这里插入图片描述

    切记,修改完配置要拉到最下方update workspace保存配置
    在这里插入图片描述

  3. 上传本地知识库文件
    构建本地知识库,在工作区上传文件小图标,可以上传本地pdf/excel/word等文件,添加到工作区
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    Note: 如果上传本地资料库报错请参考解决 anything LLM 报: Error 1 documents failed to add.问题
    在这里插入图片描述

  4. 测试效果(提问:CPU降频问题诊断):

     <think>
     嗯,我现在需要解决的问题是关于CPU降频的处理方案。根据用户提供的上下文,他们之前遇到了NVMe掉盘的情况,并且已经进行了一些排查和分析。现在他们询问的是如何处理CPU降频的问题。我需要先理解这个问题,然后思考如何解决它。
     
     首先,CPU降频通常是由于过热或功耗限制引起的。当CPU温度过高或者功耗超过设计阈值时,系统会自动降低CPU的主频,以防止过热损坏硬件。这可能导致性能下降,影响服务器的运行效率。
     
     根据之前提供的上下文,用户提到在排查NVMe问题时发现BMC内存持续减少,导致系统重启。这可能与系统的整体健康状况有关,也许与CPU降频有关。因此,我需要考虑是否有多个因素共同作用导致了这个问题。
     
     我应该从几个方面来思考如何解决CPU降频的问题:
     
     1. **监控温度和功耗**:
        - 使用工具如`lm-sensors`或其他系统监控软件,实时监测CPU的温度和功耗情况。
        - 确定是否存在过热的情况,如果有,可能需要检查散热系统。
     
     2. **检查冷却系统**:
        - 确保机房环境温度在合适的范围内,避免高温导致服务器过热。
        - 检查风扇和散热片是否正常工作,清理灰尘以确保散热效率。
     
     3. **优化系统负载**:
        - 分析当前运行的任务和进程,看看是否有异常的高负载情况。
        - 优化代码或调整任务分配,以减少CPU的负担。
     
     4. **检查硬件问题**:
        - 确认主板、电源等硬件是否正常工作,特别是与散热相关的部分。
        - 检查是否有损坏的风扇或者散热片,必要时更换。
     
     5. **升级固件和驱动**:
        - 更新BIOS、BMC固件以及相关驱动程序,以确保硬件能够正常通信和协调工作。
     
     6. **调整功耗设置**:
        - 在系统设置中,检查是否有相关的功耗限制选项,可以尝试调整以允许更高的功耗。
        - 使用工具如`cpufreq-utils`或其他类似软件来管理CPU频率设置。
     
     7. **日志分析**:
        - 查看系统日志(如`/var/log/syslog`)和硬件相关的日志,查找与温度、功耗相关的错误信息。
        - 根据日志中的提示,进一步定位问题根源。
     
     8. **测试和验证**:
        - 在调整后进行压力测试,如使用`stress`工具,对系统进行负载测试,观察CPU频率是否稳定。
        - 长时间监控温度和功耗数据,确保问题得到解决。
     
     通过以上步骤,我应该能够系统地排查并解决CPU降频的问题,提升服务器的性能和稳定性。
     </think>
     
     处理CPU降频问题需要从多个方面进行全面排查和优化,以确保硬件正常运行并保持最佳性能。以下是一些关键的处理方案:
     
     ### 1. 监控温度和功耗
     - **使用监控工具**:安装并使用如`lm-sensors`等工具,实时监测CPU的温度、电压和功耗。
     - **设置阈值警报**:配置监控系统在检测到异常高温或过高功耗时触发警报,便于及时处理。
     
     ### 2. 检查和优化散热系统
     - **清洁硬件**:定期清理服务器内部的灰尘,确保风扇和散热片的畅通。
     - **检查风扇状态**:确认所有风扇正常运转,无异常噪音或停转现象。必要时更换有故障的风扇。
     - **机房环境控制**:保持机房温度在合理范围内,避免高温影响服务器散热。
     
     ### 3. 分析和优化系统负载
     - **性能分析工具**:使用`top`、`htop`或`perf`等工具,识别导致CPU高负荷的进程或应用。
     - **任务调度**:重新分配任务,平衡各CPU核心的负载,避免单核过热或过载。
     - **代码优化**:审查和优化运行中的程序,减少不必要的计算和资源消耗。
     
     ### 4. 硬件检查与维护
     - **主板和电源检查**:确保主板和PSU工作正常,没有供电问题。特别是检查是否有电压不稳的情况。
     - **散热接触面清洁**:检查并清洁CPU、GPU等关键部件的散热接触面,确保良好的热传导。
     
     ### 5. 固件和驱动更新
     - **BIOS更新**:定期检查并更新主板 BIOS,以获得最新的性能优化和bug修复。
     - **BMC固件升级**:根据之前遇到的问题,升级BMC固件以改善硬件管理和监控功能。
     - **驱动程序更新**:确保所有相关设备的驱动程序为最新版本,以提高兼容性和性能。
     
     ### 6. 调整功耗设置
     - **系统设置优化**:
       - 进入BIOS设置,调整功耗相关选项,如选择“高性能”模式。
       - 禁用不必要的省电功能,以允许CPU在需要时维持较高频率。
     - **使用软件控制工具**:利用`cpufreq-utils`或类似工具,手动调整CPU频率 governor策略,确保不会因功耗限制而降频。
     
     ### 7. 日志分析与问题定位
     - **系统日志检查**:
       - 查看`/var/log/syslog`和其他相关日志文件,查找与温度、功耗或性能相关的错误信息。
       - 根据日志提示,进一步调查是否有特定的硬件或软件导致降频。
     - **硬件事件日志**:检查IPMI或BMC提供的详细硬件事件日志,以获取降频触发的具体原因。
     
     ### 8. 测试与验证
     - **压力测试**:
       - 使用`stress`、`Prime95`等工具对系统进行全面负载测试,观察CPU频率和温度变化。
       - 在高负载下监控系统的表现,确认降频问题是否得到缓解。
     - **长时间稳定性测试**:在调整后,让系统运行一段时间,持续监测其性能和温度,确保没有再次出现降频或过热的情况。
     
     ### 9. 预防措施
     - **定期维护计划**:制定硬件清洁、固件更新等的定期维护计划,预防潜在问题。
     - **环境监控**:安装机房环境监测设备,实时掌握温度、湿度等关键指标,确保服务器运行环境的稳定。
     
     ### 10. 考虑硬件升级
     - **评估现有配置**:如果降频问题持续存在且无法通过软件优化解决,可能需要考虑升级散热系统或更换更高性能的硬件部件。
     - **散热系统升级**:如采用水冷散热或更高效的风冷方案,以应对更大的功耗和发热量。
     
     通过以上步骤,可以有效识别和解决导致CPU降频的问题,确保服务器在合理温度下保持最佳性能。
    

使用anythingLLM和chatbox两种方案都可以实现本地私有化部署知识库,都能有效保障内容安全。我个人偏好使用anything方式,这种方式不仅能实现私有化部署,还提供API接口,方便接入企业微信或飞书工作台,大幅提升使用便捷性 。

三、局域网内多机共享

3.1 修改ollama配置

  1. 编辑服务文件:执行命令sudo vim /etc/systemd/system/ollama.service
  2. 添加环境变量:在“(Service)”段添加“Environment=“OLLAMA_HOST=0.0.0.0:端口号””“Environment=“OLLAMA_ORIGINS=*””。
[Unit]
Description=Ollama Service
After=network-online.target

[Service]
ExecStart=/usr/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
#Environment="OLLAMA_HOST=127.0.0.1:11434"
Environment="OLLAMA_HOST=0.0.0.0"
Environment="OLLAMA_ORIGINS=*"
Environment="PATH=$PATH"

[Install]
WantedBy=default.target
Restart=always
RestartSec=3
Environment="OLLAMA_HOST=127.0.0.1:11434"
#Environment="OLLAMA_HOST=0.0.0.0"
#Environment="OLLAMA_ORIGINS=*"
Environment="PATH=$PATH"

[Install]
WantedBy=default.target

  1. 重载配置并重启服务
systemctl daemon-reload
systemctl restart ollama

3.2 客户端配置

  1. 在客户端安装可视化软件(方法同上 2.3 安装可视化界面 章节),

  2. 客户端根据主机IP和端口配置访问软件。
    在这里插入图片描述

  3. 附:官网原文
    4. 在这里插入图片描述

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐