
从Deepseek的本地部署到项目中调用deepseek全教程
Chatbox 是一款跨平台的 AI 客户端应用,支持 Windows、MacOS、Linux 等系统,提供本地化部署和多模型调用能力。其核心功能包括:多模型支持:可连接 GPT、DeepSeek、Ollama 等主流大模型,兼容第三方 API(如硅基流动)。本地数据存储:默认将聊天记录和文件存储于本地,保障隐私安全。可视化交互:提供友好的图形界面,支持 Markdown 渲染、代码高亮等,优化用
一、本地化部署deepseek
1.下载ollama
1.ollama官网:https://ollama.com。
2.右上角安装即可。
2.在Ollama中添加deepseek
1.打开命令行 :win+r
2.ollama run deepseek-r1:1.5b 1.5b模型
ollama run deepseek-r1:8b 8b模型
3.下载成功后,在命令行中输入ollama list 查看是否添加成功
二、更方便的方式调用本地的deepseek
1.安装Chatbox:
2.电脑端 Chatbox 简介
Chatbox 是一款跨平台的 AI 客户端应用,支持 Windows、MacOS、Linux 等系统,提供本地化部署和多模型调用能力。其核心功能包括:
-
多模型支持:可连接 GPT、DeepSeek、Ollama 等主流大模型,兼容第三方 API(如硅基流动)。
-
本地数据存储:默认将聊天记录和文件存储于本地,保障隐私安全。
-
可视化交互:提供友好的图形界面,支持 Markdown 渲染、代码高亮等,优化用户体验。
-
离线使用:通过本地部署模型(如 DeepSeek-R1),在断网环境下仍可正常运行。
3.为何调用本地 DeepSeek 需使用 Chatbox?
-
解决官方限制:DeepSeek 官网存在上传文件数量限制(如一次仅支持两篇文献)、解析失败率高、速率受限等问题,而 Chatbox 支持批量本地文件读取和关键信息提取,大幅提升效率。
-
简化部署流程:通过 Chatbox 与 Ollama 工具结合,用户无需复杂配置即可在本地运行 DeepSeek 模型(如 1.5b、14b 参数版,降低技术门槛。
-
增强稳定性:DeepSeek 官方连接不稳定时,Chatbox 可通过第三方 API(如硅基流动)实现稳定连接,确保服务可用性。
-
隐私与本地化需求:本地部署避免数据上传至云端,适合对隐私敏感的场景(如科研文献处理)。
总结:
Chatbox 通过提供便捷的本地化部署、优化交互体验及解决官方平台的痛点,成为调用本地 DeepSeek 的理想工具,尤其适合科研、开发等对效率和隐私要求较高的用户群体。
4.Chatbox 配置指南(以 Ollama API 为例)
-
打开设置界面:点击 Chatbox 主界面右上角「设置」图标。
-
选择模型提供方:
-
模型提供方:选择「OLLAMA API」。
-
在模型列表中选择deepseek-r1:8b或其他可用版本。
-
离线运行演示
-
功能验证:
断开网络连接,输入1+1等于多少?
系统回复:1+1=2(依赖本地缓存模型)。
技术原理:Ollama 预加载模型文件至本地内存,支持无网络环境下的推理。
5.使用chatbox和命令行调用deepseek的对比
Chatbox 是一款用于管理和调用各类大语言模型的跨平台桌面应用程序,而命令行则是通过输入指令与系统进行交互的方式。下面从多个方面对比使用 Chatbox 和命令行调用 DeepSeek 的差异:
易用性
-
Chatbox:
-
具备直观的图形用户界面(GUI),对于非技术人员或者不太熟悉命令行操作的用户来说,非常友好。用户只需打开应用程序,在输入框中输入问题,即可快速得到 DeepSeek 模型的响应,操作流程简单易懂。
-
提供了便捷的模型管理功能,用户可以方便地切换不同的模型版本,调整参数设置,如温度、最大生成令牌数等,无需记忆复杂的命令和参数。
-
-
命令行:
-
需要用户熟悉命令行的基本操作和相关的指令语法,对于没有技术背景的用户来说,学习成本较高。例如,要调用 DeepSeek 模型,需要掌握 Python 或其他编程语言的相关命令,以及模型调用的 API 接口。
-
参数设置需要在命令中手动输入,容易出现拼写错误或参数设置不当的问题,影响模型的调用效果。
-
交互体验
-
Chatbox:
-
支持多轮对话,能够记住上下文信息,让用户与模型的交互更加自然流畅。用户可以在一个对话窗口中连续提问,模型会根据之前的对话内容进行更准确的回答。
-
提供了一些可视化的功能,如进度条、响应时间显示等,让用户能够直观地了解模型的运行状态。
-
-
命令行:
-
多轮对话的实现相对复杂,需要用户自己手动维护上下文信息,增加了使用的难度。
-
交互过程较为枯燥,缺乏可视化的反馈,用户只能通过文本输出来了解模型的运行情况。
-
功能扩展性
-
Chatbox:
-
集成了多种大语言模型,用户可以在一个应用程序中方便地切换不同的模型进行使用,满足不同的需求。
-
部分 Chatbox 版本支持插件扩展,用户可以根据自己的需求安装各种插件,增强应用的功能。
-
-
命令行:
-
可以根据自己的需求进行高度定制化开发,通过编写脚本实现复杂的功能。例如,可以将模型调用与其他程序进行集成,实现自动化的任务处理。
-
但开发过程需要具备一定的编程能力,对于普通用户来说,功能扩展的难度较大。
-
性能和资源占用
-
Chatbox:
-
由于其图形界面和后台管理功能的存在,可能会占用一定的系统资源,尤其是在运行多个模型或者进行大规模数据处理时,资源占用会更加明显。
-
但在大多数情况下,对于日常的使用场景,其性能表现能够满足用户的需求。
-
-
命令行:
-
通常情况下,命令行调用的资源占用相对较低,因为它只执行必要的命令,没有额外的图形界面开销。
-
在性能优化方面,用户可以通过编写高效的代码和调整参数,进一步提高模型的运行效率。
-
部署和使用灵活性
-
Chatbox:
-
只需要下载并安装应用程序,即可快速开始使用,无需进行复杂的环境配置和依赖安装。
-
支持跨平台使用,无论是 Windows、Mac 还是 Linux 系统,都可以方便地安装和运行。
-
-
命令行:
-
需要在系统中安装相应的开发环境和依赖库,如 Python、PyTorch 等,部署过程相对复杂。
-
但在不同的系统和环境中,只要满足依赖条件,都可以使用命令行进行模型调用,具有较高的灵活性。
-
三、真正意义上的通过API调用deepseek
1.本地调用和API调用的区别:
部署与使用便捷性
-
本地调用
-
前期准备复杂:需要在本地服务器或计算机上进行一系列复杂的部署工作。包括安装合适的深度学习框架(如 PyTorch)、配置 GPU 驱动(如果使用 GPU 加速)、下载 DeepSeek 模型文件等。这些步骤对用户的技术能力和硬件条件有一定要求。
-
使用灵活性高:部署完成后,用户可以在本地自由控制模型的调用,无需依赖网络连接(除了下载模型时),可以随时开始和停止使用。
-
-
API 调用
-
部署简单:用户无需关心模型的具体部署和维护,只需要向提供 API 服务的平台注册账号,获取 API 密钥,就可以方便地进行调用。
-
依赖网络:使用过程中必须保持网络连接,一旦网络出现问题,将无法正常使用模型。
-
性能表现
-
本地调用
-
硬件适配性强:如果本地硬件配置较高(如配备高性能 GPU),可以充分发挥硬件的计算能力,实现快速的模型推理。特别是对于需要处理大量数据或对响应时间要求极高的场景,本地调用可能具有更好的性能。
-
性能受本地硬件限制:如果本地硬件资源有限,如内存不足或 CPU 性能较低,可能会导致模型运行缓慢,甚至无法正常运行。
-
-
API 调用
-
性能相对稳定:API 服务提供商通常会使用高性能的服务器集群来提供服务,能够保证一定的性能和响应速度。而且服务提供商会根据用户的使用情况进行动态调整,以满足不同用户的需求。
-
受网络状况影响:网络延迟会对 API 调用的性能产生较大影响。如果网络带宽不足或网络不稳定,可能会导致响应时间变长,影响使用体验。
-
数据安全性
-
本地调用
-
数据完全可控:所有的数据处理和存储都在本地进行,用户可以完全掌控数据的安全性。对于包含敏感信息的数据,如企业内部的商业机密或个人隐私数据,本地调用可以有效避免数据泄露的风险。
-
数据管理责任大:用户需要自行负责数据的备份、存储和安全防护,增加了数据管理的成本和难度。
-
-
API 调用
-
存在数据泄露风险:使用 API 调用时,用户的数据需要上传到服务提供商的服务器进行处理,这可能会存在一定的数据泄露风险。虽然正规的服务提供商通常会采取一系列的安全措施来保护用户数据,但仍然无法完全排除风险。
-
依赖服务提供商的安全措施:数据的安全性主要依赖于服务提供商的安全防护能力和信誉。用户需要对服务提供商进行充分的评估和选择,以确保数据的安全。
-
成本
-
本地调用
-
硬件成本高:需要购买高性能的服务器或计算机硬件,以及相应的软件授权,前期投资较大。此外,还需要考虑硬件的维护和更新成本。
-
无额外使用费用:除了硬件和软件的购置成本外,本地调用模型不需要支付额外的使用费用,适合长期大量使用模型的场景。
-
-
API 调用
-
前期成本低:无需购买硬件和进行复杂的部署,只需要根据使用量支付相应的费用,对于小型企业或个人开发者来说,成本相对较低。
-
长期使用费用高:如果使用频率较高,随着使用量的增加,API 调用的费用可能会逐渐累积,长期来看成本可能会超过本地调用。
-
功能定制性
-
本地调用
-
定制性强:用户可以对模型进行深入的定制和修改,例如对模型的结构进行微调、添加自定义的训练数据等,以满足特定的业务需求。
-
技术要求高:实现定制化功能需要具备较强的技术能力和专业知识,对于普通用户来说难度较大。
-
-
API 调用
-
定制性有限:API 服务提供商通常会提供一些固定的接口和参数供用户使用,用户只能在一定范围内进行调整,无法对模型进行深层次的定制。
-
使用方便:对于大多数用户来说,API 调用提供的基本功能已经能够满足需求,无需进行复杂的定制开发。
-
2.步骤:
-
注册密钥:进入deepseek官网—>API开放平台—>API keys
-
在deepseek官网中注册自己的密钥,一定要充值后才能使用。密钥只显示一次,一定当场保存。不然后续就会不显示,注册新的密钥。
-
回到chat box中选用deepseek 模型后填好自己的密钥即可.
-
本地的ollama和deepseek的API可随意切换。
四、如何在项目中调用本地的deepseek
1.配置python环境
1.为什么运行deepseek要安装python的环境?C++不可以吗?
使用 Python 环境的原因
-
丰富的库支持:Python 拥有众多用于深度学习和科学计算的库,这些库极大地简化了模型的开发和部署过程。例如,
PyTorch
是一个广泛使用的深度学习框架,DeepSeek 官方提供了基于 PyTorch 的代码实现,利用它可以方便地构建、训练和运行深度学习模型。还有NumPy
用于高效的数值计算,pandas
用于数据处理和分析,transformers
库则提供了对各种预训练模型的支持,方便用户加载和使用 DeepSeek 模型。 -
快速开发与迭代:Python 是一种解释型语言,语法简洁易懂,开发效率高。开发者可以快速编写和测试代码,进行模型的实验和迭代。对于研究人员和开发者来说,能够快速验证想法和调整模型参数是非常重要的,Python 的动态特性使得这一过程变得更加高效。
-
社区资源丰富:Python 在深度学习领域拥有庞大的社区,开发者可以在社区中分享代码、交流经验、解决问题。当遇到使用 DeepSeek 模型的相关问题时,可以很容易地在社区中找到解决方案和参考代码。此外,许多开源项目和教程都是基于 Python 编写的,这为学习和使用 DeepSeek 提供了便利。
使用 C++ 的情况
-
可以运行 DeepSeek:C++ 是一种编译型语言,具有高效的执行速度和较低的内存开销。通过使用一些深度学习框架,如 TensorRT、OpenVINO 等,将 DeepSeek 模型进行优化和部署,能够在 C++ 环境中实现高效的推理。
-
使用场景受限:使用 C++ 进行开发相对复杂,需要编写更多的代码来实现相同的功能,开发周期较长。并且 C++ 的生态系统相对 Python 来说不够丰富,在数据处理和模型调试方面不如 Python 方便。所以,通常在对性能要求极高、资源受限或者需要与现有 C++ 系统集成的场景中才会选择使用 C++ 来运行 DeepSeek。
2.配置python的步骤:
1):在python官网中下载 :https://www.python.org/
1.下载较新的版本的,旧的版本虽然稳定,但是已经停止更新了,不支持一些新最新的操作了。
2.pycharm下载
3.代码:
import requests import json OLLAMA_API_URL = "http://localhost:11434/api/generate" def generate_response(prompt): data = { "model": "deepseek-r1:8b", "prompt": prompt } try: response = requests.post(OLLAMA_API_URL, json=data, stream=True) response.raise_for_status() reply = "" for line in response.iter_lines(): if line: result = json.loads(line.decode('utf-8')) reply += result.get("response", "") return reply except Exception as e: print(f"请求出错: {e}") return None **# 单轮对话循环(不保留历史)**** **while True: user_input = input("你: ") if user_input.lower() == '退出': break bot_reply = generate_response(user_input) if bot_reply: print(f"模型: {bot_reply}")
4.为什么回答的这么慢?
硬件方面
-
CPU 性能不足
-
如果使用 CPU 进行推理,而 CPU 的核心数较少、主频较低,那么处理大规模的模型计算时会力不从心。例如一些老旧的笔记本电脑,其 CPU 性能有限,无法快速完成 DeepSeek 模型的矩阵运算等操作,从而导致回答速度慢。
-
DeepSeek 是一个大型语言模型,推理过程中涉及大量的浮点运算,低性能 CPU 的计算能力无法满足需求,使得每一步的计算都需要较长时间。
-
-
GPU 未正确使用或配置不当
-
虽然有 GPU,但没有正确安装对应的 CUDA、cuDNN 等深度学习加速库,或者 Python 环境没有正确配置以使用 GPU,就会导致模型只能在 CPU 上运行,大大降低推理速度。
-
GPU 的显存不足也会影响性能。如果显存不足以容纳模型参数和中间计算结果,就会频繁进行数据的交换,产生大量的内存读写操作,导致推理速度变慢。
-
-
内存不足
-
运行 DeepSeek 模型需要足够的内存来存储模型参数和中间计算结果。如果系统内存不足,会导致频繁的内存交换(swap),即数据在内存和硬盘之间频繁移动,这会极大地降低推理速度。
-
软件和环境方面
-
Python 环境和依赖库问题
-
Python 版本与 DeepSeek 所依赖的库不兼容,可能会导致运行效率低下。例如某些库在特定的 Python 版本下性能最佳,使用不兼容的版本可能会出现性能问题。
-
依赖库版本过旧或过新也可能影响性能。旧版本的库可能存在性能优化不足的问题,而新版本的库可能与其他组件存在兼容性问题。
-
-
模型加载和初始化问题
-
首次加载 DeepSeek 模型时,需要将大量的模型参数从磁盘读取到内存中,这个过程可能会比较耗时。如果每次提问都重新加载模型,会严重影响回答速度。
-
模型初始化过程中可能存在一些不必要的操作或配置错误,导致初始化时间过长,影响后续的推理速度。
-
-
代码实现问题
-
代码中可能存在性能瓶颈,例如循环嵌套过多、频繁的内存分配和释放等。这些问题会导致代码执行效率低下,从而影响模型的推理速度。
-
没有对代码进行优化,例如没有使用并行计算、异步处理等技术,无法充分利用硬件资源。
-
模型和数据方面
-
模型规模过大
-
DeepSeek 有不同的参数规模,参数规模越大,模型的计算量和存储需求就越大。如果使用的是大规模的 DeepSeek 模型,在本地硬件资源有限的情况下,推理速度会明显变慢。
-
-
输入数据处理复杂
-
输入数据的长度过长或格式复杂,会增加模型的处理时间。例如,输入包含大量文本或复杂的结构化数据,模型需要更多的计算资源来处理这些数据。
-
对输入数据进行预处理时,如果处理方法不当,也会增加额外的时间开销。
-
系统资源竞争方面
-
其他程序占用资源
-
本地计算机上同时运行多个占用大量 CPU、GPU 或内存资源的程序,会导致系统资源竞争激烈。例如,同时运行游戏、视频编辑软件等,会使 DeepSeek 模型可用的资源减少,从而导致回答变慢。
-
5.注意事项:
-
调用之前要确保电脑已经配置好相关的环境:
-
安装ollama及deepseek的相关模型,例如:ollama pull deepseek-r1:8b
-
安装依赖库:在 PyCharm 的终端中,使用以下命令安装 requests 库
pip install requests
五、在项目中调用云端的deepseek
1.代码:
import requests import json \# 替换为你自己的 DeepSeek API 密钥 API_KEY = "sk-480593b09e3e4ce68f3a146e31f5d344" \# DeepSeek API 的请求地址 API_URL = "https://api.deepseek.com/v1/chat/completions" \# 初始化对话历史 conversation_history = [] def generate_response(prompt): global conversation_history \# 将用户输入添加到对话历史 conversation_history.append({"role": "user", "content": prompt}) \# 构建请求头 headers = { "Content-Type": "application/json", "Authorization": f"Bearer {API_KEY}" } \# 构建请求体 data = { • "model": "deepseek-chat", • "messages": conversation_history } try: • \# 发送 POST 请求 • response = requests.post(API_URL, headers=headers, data=json.dumps(data)) • response.raise_for_status() • \# 解析响应数据 • result = response.json() • reply = result["choices"][0]["message"]["content"] • \# 将模型回复添加到对话历史 • conversation_history.append({"role": "assistant", "content": reply}) • return reply except requests.RequestException as e: • print(f"请求出错: {e}") • return None except (KeyError, IndexError, json.JSONDecodeError) as e: • print(f"解析响应出错: {e}") • return None \# 多轮对话循环 while True: user_input = input("你: ") if user_input.lower() == '退出': • break bot_reply = generate_response(user_input) if bot_reply: • print(f"模型: {bot_reply}")
2.要事先安装好库:pip install requests
六、如何手机调用电脑本地的deepseek
1.手机安装chat box
-
借助现有的chat box工具,进入chat box 官网:Chatbox AI官网:办公学习的AI好助手,全平台AI客户端,官方免费下载
-
下载chat box APK版本,andriod手机的应用。一定要在官网中下载,应用市场中有一个盗版的chatbox
-
配置电脑的环境变量->编辑系统环境变量->按照chat box的官网添加相应的环境变量。
-
查找自己的电脑的ip (要IPV4的地址) 命令行输入: ipconfig
-
在手机端的chat box替换电脑的ip即可使用。
2.手机调用电脑的deepseek的优点
性能强劲,体验流畅
手机调用电脑本地的 DeepSeek 时,可借助电脑的高性能硬件,像独立显卡、大内存等。这使得运行大模型(例如 14B、671B 参数的模型)成为可能,能有效避免手机端因算力不足而出现的卡顿、响应迟缓等问题,为用户带来更为流畅的使用体验。
隐私安全有保障
本地部署 DeepSeek 后,数据的处理和存储都在用户自己的电脑上完成,无需将数据上传至云端。这大大降低了隐私泄露的风险,尤其适合处理敏感文档或进行企业级应用,让用户的数据安全更有保障。
访问便捷,不受时空限制
用户只需通过远程控制软件,如网易 UU 远程,就能在手机上轻松操控电脑端的 DeepSeek。无论用户身处何地,只要手机和电脑连接到网络,就可以随时使用,真正实现了 “随身携带” 智能助手的便捷性。
多端协同,操作灵活
该功能支持手机、平板、电脑等多设备之间的协同工作。用户可以在不同设备上无缝切换,例如在手机上发起任务,然后在电脑上继续处理。同时,还能实现文件互传,无论是图片、文档还是视频,都能快速传输,并且支持多格式兼容,满足用户多样化的办公和学习需求。
适配广泛,成本降低
DeepSeek 模型支持国产化适配,像海光 DCU 等。这意味着用户在使用过程中无需依赖英伟达 GPU 等高端硬件,降低了硬件成本。此外,手机调用电脑本地的 DeepSeek 还能充分利用现有的算力资源,进一步减少了额外的费用支出。
功能多样,场景丰富
电脑端的 DeepSeek 在功能上更为强大,它支持模型调试、代码生成、多模态交互等高级功能。用户通过手机调用这些功能后,可以更好地满足编程、创作、数据分析等专业场景的需求,拓展了 DeepSeek 的应用范围。
综上所述,手机调用电脑本地的 DeepSeek,将电脑的强大性能与手机的便携性完美结合,既保证了使用的高效性和隐私性,又为用户带来了灵活便捷的智能体验,是办公、学习等场景下的理想选择。
3.注意事项
1.在项目调用本地的deepseek或者手机端调用之前确保ollama 已经运行了。
更多推荐
所有评论(0)