介绍
欢迎阅读 DeepSeek-Coder 系列第 2 部分!如果您还没有阅读第 1 部分,我强烈建议您先阅读一下 — 它介绍了我如何选择 DeepSeek-Coder-V2 (DSC2)、基础模型和指导模型之间的区别以及量化方面的一些关键考虑因素。在这篇文章中,我们将深入探讨在 M2 MacBook Air 上本地部署 DeepSeek-Coder 的实际步骤,向您展示如何测试其编码能力,并分享一些关于体验的临别感想。
部署模型的分步指南
设置Ollama
Ollama 是在本地机器上运行 LLM 的最简单方法之一,尤其是对于 macOS 用户而言。在开始之前,请确保您的 Homebrew 安装是最新的:
brew update
接下来,如果您尚未安装 Ollama,请通过 Homebrew 获取它:
brew install ollama
如果您已经安装了 Ollama,请确保它是最新版本。早期版本存在错误,英语提示可能会收到中文响应或产生乱码文本。升级还将有助于减少重复或循环输出。
通过 Ollama 拉取模型
安装Ollama后,在后台启动Ollama服务:
ollama serve &
现在,拉出我决定在第 1 部分中使用的 DeepSeek-Coder 模型:
ollama run deepseek-coder-v2:16b-lite-instruct-q4_K_M
此特定版本的大小约为10 GB,因此下载可能需要一点时间。下载完成后,验证您的安装:
ollama list
您应该会deepseek-coder-v2:16b-lite-base-q4_K_M在可用模型列表中看到。默认情况下,localhost:11434如果您想将其与 IDE 或其他前端集成,Ollama 会监听 —handy。
当您执行编码任务时,让 Ollama 在后台运行。
VSCode Continue 扩展设置
代码完成工具
经过一些研究和测试多个选项后,我将选择范围缩小到两个:继续并坚持。
Continue是一个专注于实时代码补全、AI 聊天和上下文代码生成的VSCode 扩展。它很轻量,擅长重构、短代码建议和快速交互,但它不能处理复杂的、项目范围的自动化。
另一方面,Cline专为更繁重的任务而设计。它可以管理文件创建、命令执行和多文件编辑——非常适合自动化整个项目。缺点是它可能会消耗更多令牌并需要更多用户交互。
为什么要继续?
对于DSC2,我选择了Continue,因为它补充了模型在生成和理解代码方面的优势。因此,将它与更轻量的VSCode 插件配对可以使事情变得快速而简单。此外,Continue 的聊天式界面感觉很像使用在线编码助手,但没有基于云的系统的成本或隐私权衡。
在 VSCode 中安装和配置 Continue 扩展
安装“继续”
前往 VSCode 市场,搜索“继续”,然后安装。完成后,您将看到一个新的侧边栏图标。
更新配置文件
在你的 VSCode 设置(通常是一个文件)中,找到models.json部分。添加以下条目:
{
"title": "DeepSeek Coder V2 Local",
"provider": "ollama",
"model": "deepseek-coder-v2:16b-lite-instruct-q4_K_M",
"apiBase": "http://localhost:11434",
"completionOptions": {}
}
调整自动完成模型
您还可以将 DeepSeek-Coder 设置为您的“tabAutocompleteModel”,这允许您使用 DSC2 在聊天模式下与其进行交互:
"tabAutocompleteModel": {
"title": "DeepSeek Coder V2",
"provider": "ollama",
"model": "deepseek-coder-v2:16b-lite-instruct-q4_K_M"
}
这可确保扩展知道将提示发送到何处以及如何从本地 Ollama 服务检索响应。
完成这些更改后,请重新启动 VSCode(或重新加载窗口)以获得良好的效果。
验证部署
打开一个新项目
启动 VSCode,安装并运行 Continue。确保 Ollama 也在后台运行。
在继续的设置或侧面板中选择模型,选择DeepSeek Coder V2作为您的活动模型。
测试简单提示
创建一个新文件 — 比如说read_csv.py— 然后输入快速注释或提示。例如:
实时观看 DSC 2 建议的代码。如果一切正常,您将看到模型在您眼前生成一个函数。
注意事项
即使 M2 MacBook Air 配备 24GB RAM,您仍可能会偶尔遇到性能下降或内存限制。一种解决方法是将 Ollama 的使用量限制在 15GB 左右。如果您遇到系统速度变慢的情况,请考虑在 ollama ~/.ollama/config.yaml 文件中设置最大内存。
最后的想法
刚开始这段旅程时,我并不完全确定运行本地托管模型是否值得花费时间和精力。然而,看到 DSC2 在我的 M2 MacBook Air 上真正生成和重构代码,我感到非常兴奋。
R1 对 o1
正如我在第 1 部分中提到的,DeepSeek-R1 的“思路链”输出确实给我留下了深刻的印象。它清楚地展示了如何将挑战分解为可管理的步骤,从而更容易迭代和改进解决方案。尽管 R1 的最终答案并非每次都完美无缺,但它的思维过程激发了大量灵感。我可以调整思路链来形成我自己的提示或补充可能被忽略的细节。
正如我在第 1 部分中提到的,我也使用 ChatGPT o1 进行此练习并撰写此博客文章,在许多方面,它都取得了出色的成果——尤其是在撰写更易于读者阅读的文本方面。R1 的最终回复往往更有条理和结构化,即使它们可能显得有些枯燥或过于理性。
看起来,R1 的回答虽然结构严谨、逻辑性强,但往往优先考虑清晰度和顺序,而不是参与度。即使被要求让回答对读者更具吸引力,它仍然倾向于理性、系统的方法。此外,尽管有具体说明要以段落形式撰写,但它仍然默认使用项目符号。
对于原始编码任务,R1 的逻辑深度和“关系思维”能力十分出色。再加上其开源特性、本地部署潜力和内置网络搜索功能,意味着它提供了隐私、实用性和灵活性的独特组合,这对我这个程序员来说很有吸引力。
编码助手性能
尽管我在本地只使用较小、量化的 DeepSeek-Coder-V2 版本,但我的编码性能已提高约 20%,文档搜索量减少了 40%。基本任务 — — 比如样板代码生成、辅助函数创建或快速调试建议,它运行得足够顺畅。
当然,就速度或原始容量而言,这种体验无法与大规模云模式相媲美,而且我仍然会依赖 Claude 或 R1 来处理关键任务工作负载。不过,本地部署选项也有其吸引力:它私密、灵活,并且可以让您更深入地控制开发环境。
此外,微软最近宣布Windows 11 已针对本地运行精简的 DeepSeek R1 模型进行了优化,这凸显了一种日益增长的趋势,即编码助手的本地部署不仅仅是一种新奇事物;它正在迅速成为一种可行的,甚至是主流的人工智能开发方法。
第一个版本 DeepSeek-R1-Distill-Qwen-1.5B(来源)将在 AIToolkit for VSCode 中提供,7B(来源)和 14B(来源)版本即将推出。这些优化的模型让开发人员能够构建和部署在设备上高效运行的 AI 驱动应用程序,充分利用 Copilot+ PC 中强大的 NPU。
结论
在这个过程中学到了很多东西——从改进提示以更好地遵循指令,到亲身进行局部推理和量化。
如果您热衷于在完全控制的环境中尝试 AI 辅助编码,我强烈建议您尝试一下 DSC2,而我仍然会使用 Claude 执行关键任务。
感谢您的阅读,让我们努力工作,尽情玩乐,快乐编码!
如果您喜欢此文章,请收藏、点赞、评论,谢谢,祝您快乐每一天。