当前位置: 首页 > news >正文

DeepSeek本地部署及应用方法

1. DeepSeek本地部署优势与劣势

        DeepSeek的本地部署模式为用户带来了多重显著优势,使其成为企业构建安全、高效技术生态的理想选择。首先,在安全性方面,本地部署通过将数据和系统完全置于用户自有环境中,从根本上降低了数据泄露和网络攻击的风险。其次,本地部署赋予了用户更强的可控性。企业可以根据实际业务需求对DeepSeek进行深度定制,例如调整系统参数以优化性能、扩展存储容量以应对数据增长,或升级硬件设备以满足高计算需求。这种灵活性使企业能够根据业务变化快速响应,确保系统始终处于最佳运行状态。在性能方面,本地部署显著降低了系统延迟。由于数据无需经过外部网络传输,本地部署特别适合对实时性要求极高的场景,如高频交易、工业物联网和实时监控等。此外,本地部署还提供了更好的兼容性,能够无缝集成到用户现有的IT基础设施中。无论是与内部数据库、ERP系统还是其他业务平台的对接,DeepSeek都能通过定制化接口实现数据互通和业务协同。

        尽管本地部署在安全性、可控性和性能方面具有显著优势,但其潜在劣势也不容忽视,这些因素可能对企业的技术决策产生重要影响。首先,较高的初始投资是本地部署的主要门槛之一。企业需要一次性投入大量资金用于采购高性能服务器、存储设备以及网络基础设施,同时还需搭建符合DeepSeek运行要求的IT环境。其次,本地部署的运维成本较高。企业需要组建一支专业的IT团队,负责系统的日常维护、版本升级、安全监控和故障排查等工作。这不仅增加了人力成本,还对团队的技术能力提出了较高要求。在可扩展性方面,本地部署的灵活性相对受限。由于系统性能依赖于本地硬件设备的容量和性能,当业务规模快速扩张时,企业可能面临硬件升级或扩容的需求。此外,本地部署的灾难恢复能力相对有限。虽然企业可以通过本地备份机制保护数据,但在面对地震、洪水等自然灾害,或火灾、人为破坏等极端情况时,本地部署的数据安全和业务连续性可能面临严峻挑战。

        因此,企业在选择DeepSeek的部署方式时,需要基于自身的业务需求、技术能力和预算限制进行全面的权衡。对于数据敏感性高、定制化需求强且具备足够技术实力的企业,本地部署可能是理想的选择;而对于预算有限、业务规模波动较大或缺乏专业运维团队的企业,云端部署或混合云架构可能更具吸引力。无论选择哪种方式,关键在于最大化DeepSeek的技术价值,同时确保系统的安全性、稳定性和可持续性,从而为企业的数字化转型和业务创新提供坚实的技术支撑。

2. 本地部署方法

     目前,DeepSeek本地部署主要是使用Ollama工具。

    访问Ollama官网,单击“Models”链接。找到“deepseek-r1”模型并单击“deepseek-r1”链接。“deepseek-r1”详情页,如图1所示。

图1  “deepseek-r1”详情页

      Ollama提供了deepseek-r1全量版本,该模型具有6710亿参数、404GB大小。在数学、代码和推理任务上实现了与OpenAI-o1相当的性能。而其他模型则是基于Qwen和Llama量化版本的蒸馏模型。

      Ollama提供的基于不同参数量版本的deepseek-r1模型表,请参见表1。

表1  Ollama提供的基于不同参数量版本的deepseek-r1模型表

序号

模型版本

参数量

文件大小

适用场景

1

1.5B

1.5B

1.1GB

适用于资源有限的情况。

2

7B

7B

4.7GB

适用于需要较高性能的任务情况。

3

8B

8B

4.9GB

适用于一般性能需求的任务情况。

4

14B

14B

9.0GB

适用于高性能应用,处理复杂推理任务情况。

5

32B

32B

20GB

适用于大规模高负载、处理复杂任务情况。

6

70B

70B

43GB

适用于超高性能任务,极高计算能力和性能科研应用情况。

7

671B

671B

404GB

适用于超大规模、高复杂度和高性能要求任务情况。

Ollama默认情况下,模型将下载到C盘,长时间下载大量不同模型后将会占用C盘过多空间,从而影响系统运行速度。所以,一般都会在非系统盘且存储空间充裕的盘符下创建一个专属文件夹,用来存放模型文件。在系统环境变量中创建一个名称为“OLLAMA_MODELS”的变量名,结合我的实际情况变量值设置为“F:\models”。Ollama模型存放路径系统环境变量设置,如图2所示。

图2  Ollama模型存放路径系统环境变量设置

    以我的笔记本电脑部署“DeepSeek-R1 14b”版本模型为例,笔记本电脑系统和显卡信息,如图3和图4所示。

图3  笔记本电脑系统信息

图4  笔记本电脑显卡信息

       输入“ollama run deepseek-r1:14b”指令,由于本地没有“deepseek-r1:14b”模型,所以Ollama将自动下载并运行它,如图5所示。

图5  Ollama下载并运行“deepseek-r1:14b”模型

        输入“你的版本是什么?”,可以从输出内容明确知道是“DeepSeek-R1版本”。如图6所示,就是命令行控制台与“deepseek-r1:14b”模型进行对话过程。

图6  命令行控制台与“deepseek-r1:14b”模型进行对话过程

      有很多朋友可能不喜欢使用命令行控制台的方式进行聊天对话,可以选择安装Chatbox、Ollama GUI或者使用LM Studio进行简单的配置就可以在图形界面使用“deepseek-r1:14b”模型。以Chatbox为例,下载并安装该工具。Chatbox主界面,如图7所示。

图7  Chatbox主界面

        如图7,单击“设置”按钮。在弹出的“设置”对话框的“模型”配置页,如图8。“模型提供方”选择“OLLAMA API”、“API 域名”填写“http://127.0.0.1:11434”、模型选择已下载并运行的“deepseek-r1:14b”模型。其他设置可以保持不变,而后单击“保存”按钮。

图8  “设置”对话框的“模型”配置页

       配置完成后的Chatbox主界面,如图9所示。窗口右侧最底部显示模型为“deepseek-r1:14b”,输入“你的版本是什么?”,其输出与之前相同的回答,同时会统计并显示请求与响应所耗费的token数量。显然,Chatbox提供的对话窗口更美观、信息输出也更具体。

图9  配置完成后的Chatbox主界面

3.  DeepSeek API调用方法(本地)

      软件测试工作过程中,很多时候需要借助LLM及其API来开发功能更加强大的测试工具等。如何调用已经部署好的DeepSeek API呢?

    单击“Docs”链接,如图10所示。

图10  “Docs”链接

       在“ollama/docs”下找到“examples.md”文件,如图11所示。它提供了基于Python、JS、OpenAI兼容多种应用Ollama提供API接口的样例程序地址链接。

图11  “examples.md”文件

    以“Python examples”为例,单击“ollama-python/examples”链接。打开“ollama-python/examples/README.md”文件,如图12。可以看到在该目录下各样例文件的简要说明。

图12  “ollama-python/examples/README.md”文件

         “chat.py”样例文件,如图13所示。

图13  “chat.py”样例文件

       在运行代码之前,必须要先安装“ollama”包,否则将运行失败。使用“pip install ollama”指令,安装好“ollama”包以后,创建名称为“ollamatest.py”的文件,复制样例代码并对其进行修改、保存该文件。

      “ollamatest.py”源代码,如下所示。

from ollama import chatmessages = [{'role': 'user','content': '你的版本是什么?',},
]response = chat('deepseek-r1:14b', messages=messages)
print(response['message']['content'])

       由代码可见,调用“deepseek-r1:14b”模型,问它“你的版本是什么?”。脚本代码及输出结果相关信息,如图14所示。

图14  脚本代码及输出结果相关信息

http://www.lqws.cn/news/466957.html

相关文章:

  • nacos热更新引起tcp激增导致服务不可用
  • 基于Python、tkinter、sqlite3 和matplotlib的校园书店管理系统
  • Java 编程之责任链模式
  • Linux 内核学习(12) --- Linux workqueue
  • 开源AI智能名片链动2+1模式S2B2C商城小程序:破解微商代理模式困局的数字化创新路径
  • JavaEE:使用JMeter进行接口并发测试
  • Python列表常用操作方法
  • 软件工程期末试卷选择题版带答案(共214道)
  • 编程基础:调用
  • Spring Boot + MyBatis + Vue:全栈开发的深度剖析与实践指南
  • 01-驱动开发开篇
  • Springfox使用详解
  • python学智能算法(十五)|机器学习朴素贝叶斯方法进阶-CountVectorizer多文本处理
  • 一、什么是生成式人工智能
  • 深入Java面试:从Spring Boot到微服务
  • Taro 状态管理全面指南:从本地状态到全局方案
  • 中文文本相似度分析指标:BERTScore
  • 获取目录下所有的文件生成sha值
  • Vue.js 粒子连线动画组件 - FlyingLines
  • 基于物联网的智能饮水机系统设计
  • SpringIOC
  • 集群聊天项目服务器----JSON库
  • 文生视频(Text-to-Video)
  • mysql导入大sql(比如10GB的sql文件)
  • gRPC 框架面试题精选及参考答案
  • 《HTTP权威指南》 第4章 连接管理
  • RA4M2开发涂鸦模块CBU(3)----定时器GPT-PWM调光
  • 18年磨一剑!开利科技启动数字化增量投资新时代
  • 探索 Vue 替代方案
  • Linux文件元信息完全指南:权限、链接与时间属性