在 VSCode 中本地运行 DeepSeek,打造强大的私人 AI

在 VSCode 中本地运行 DeepSeek,打造强大的私人 AI

        本文将分步向您展示如何在本地安装和运行 DeepSeek、使用 CodeGPT 对其进行配置以及开始利用 AI 来增强您的软件开发工作流程,所有这些都无需依赖基于云的服务。 

步骤 1:在 VSCode 中安装 Ollama 和 CodeGPT

        要在本地运行 DeepSeek,我们首先需要安装Ollama,它允许我们在我们的机器上运行 LLM,以及CodeGPT,它是集成这些模型以提供编码辅助的 VSCode 扩展。

安装 Ollama

Ollama 是一个轻量级平台,可以轻松运行本地 LLM。

下载Ollama

访问官方网站:https://ollama.com

  • 下载适合您的操作系统(Windows、macOS 或 Linux)的安装程序。
  • 验证安装
    安装后,打开终端并运行:

ollama --version 

如果 Ollama 安装正确,它将显示已安装的版本。

在 Visual Studio Code 中安装 CodeGPT

打开 VSCode并导航到扩展市场(Ctrl + Shift + X 或 macOS 上为 Cmd + Shift + X)。

搜索“CodeGPT”并点击安装。

或者您可以在此处创建一个免费帐户:https://codegpt.co

安装 Ollama 和 CodeGPT 后,我们现在可以下载并配置 DeepSeek 以开始在本地使用 AI 进行编码。 

第 2 步:下载并设置模型

现在您已经成功安装了 Ollama 和 CodeGPT,现在是时候下载您将在本地使用的模型了。

  • 聊天模型:deepseek-r1:1.5b,针对较小的环境进行了优化,可以在大多数计算机上顺利运行。
  • 自动补全模型:deepseek-coder:1.3b。该模型利用中间填充 (FIM)技术,可以在您编写代码时提供智能自动补全建议。它可以预测并建议函数或方法的中间部分,而不仅仅是开头或结尾。

下载聊天模型 (deepseek-r1:1.5b)

要开始使用聊天模型:

  • VSCode中打开CodeGPT
  • 导航到侧边栏中的“本地 LLM”部分。
  • 从可用选项中,选择Ollama作为本地 LLM 提供商。
  • 选择模型deepseek-r1:1.5b
  • 点击下载按钮。模型将自动开始下载。

下载完成后,CodeGPT 将自动安装模型。安装完成后,您就可以开始与模型进行交互了。

现在,您可以轻松地查询有关代码的模型。只需在编辑器中突出显示任何代码,使用#符号将额外文件添加到查询中,然后利用强大的命令快捷方式,例如: 

/fix — 用于修复错误或建议改进代码。
/refactor — 用于清理和改进代码结构。
/Explain — 获取任何一段代码的详细解释。
这种聊天模型非常适合帮助解决特定问题或获取有关代码的建议。

下载自动完成模型 (deepseek-coder:base)

为了增强代码自动完成功能:

在 VSCode 中打开终端。
运行以下命令来提取deepseek-coder:base模型:

ollama pull deepseek-coder:base

此命令将自动完成模型下载到您的本地机器。
下载完成后,返回CodeGPT并导航到自动完成模型部分。
从可用模型列表中选择deepseek-coder:base 。

选择后,您就可以开始编码。在您输入时,模型将开始提供实时代码建议,帮助您轻松完成函数、方法甚至整个代码块。 

步骤 3:享受无缝本地和私人人工智能编码

        设置模型后,您现在可以享受使用这些强大工具的全部好处,而无需依赖外部 API。通过在您的机器上本地运行所有内容,您可以确保完全的隐私和对编码环境的控制。无需担心数据离开您的计算机,一切都保持安全和私密。

如果您喜欢此文章,请收藏、点赞、评论,谢谢,祝您快乐每一天。   

Read more

五分钟入门控制算法:MPC(模型预测控制)算法

五分钟入门控制算法:MPC(模型预测控制)算法

什么是控制算法?         比如我现在的无人机悬浮在空中的某个位置,我想要让他以最短时间抬升悬浮到上方10m的位置,那我要具体如何去调整输入(如电流、油门、功率),以最好的性能(时间最短)来达到预期的目标呢?那就需要控制算法来求解,来调整这些输入。         控制算法(Control Algorithm)本质上是一套控制机械系统运作的“数学指挥指令”。它告诉机器(如无人机、恒温空调、机械臂)如何根据目前的状态,通过调整输入(如电流、油门、功率)来达到预期的目标。         不同的算法有不同的使用场景与特性,有些适用于动态系统,有些适用于静态。有些适用于低阶系统,有些适用于高阶系统。有些计算量小,有些计算量大。所以衍生出了很多种控制算法。         如何根据不同的场景选择合适的控制算法,创造更厉害的控制算法,调整控制算法的参数使得任务完成的效果更好;如何让实时波形图(如 rqt_plot)更加贴合跟踪曲线;如何对机械系统编写“保护逻辑” ;如何处理传感器噪声与延迟,用一些滤波算法(卡尔曼滤波)做更好的状态估计。如何增加前馈(

By Ne0inhk
LeetCode——双指针(进阶)

LeetCode——双指针(进阶)

文章目录 * 相关例题 * 快乐数 * 题目描述 * 题目分析 * 实现思路 * 实现代码 * 盛最多水的容器 * 题目描述 * 题目分析 * 实现思路 * 实现代码 * 有效三角形的个数 * 题目描述 * 题目分析 * 实现思路 * 实现代码 * 查找总价格为目标值的两个商品 * 题目描述 * 题目分析 * 实现思路 * 实现代码 * 四数之和 * 题目描述 * 题目分析 * 实现思路 * 实现代码 相关例题 快乐数 题目描述 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为: * 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。 * 然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。 * 如果这个过程 结果为 1,那么这个数就是快乐数。 如果 n 是

By Ne0inhk
【数据结构初阶第十五节】堆的应用(堆排序 + Top-K问题)

【数据结构初阶第十五节】堆的应用(堆排序 + Top-K问题)

必须有为成功付出代价的决心,然后想办法付出这个代价。云边有个稻草人-ZEEKLOG博客 对于本节我们要提前掌握前一节课堆的相关实现才能学好本次的知识,一定要多画图多敲代码看看实现的效果是啥(Crazy!)开始吧! 目录 一、堆排序 (一) 基于原有堆 (二) 原数组上直接建堆 1.向上调整算法建堆 2.向上调整算法建堆时间复杂度 3.向下调整算法建堆 4.向下调整算法建堆时间复杂度 二、TOP-K问题         ——————————————《Being in love》——————————————   一、堆排序 (一) 基于原有堆 结合下面的代码观看——创建一个数组,将数组里面的数据不断地入堆后建立了一个堆(假设是一个小堆),不断取堆顶数据打印后出堆(此操作循环),这样就可以实现排序。为什么这样就实现了排序呢?Because小堆的堆顶是堆里面的最小值,出堆时向下调整又变成了小堆,此时堆顶是剩下元素里面的最小值,就这样不断取堆顶(最小值)实现了升序操作。 但是,这样的排序方法我们必须提前实现一个堆,而且我们实现堆操作时至少要申请一块原排

By Ne0inhk
从零开始学java--二叉树和哈希表

从零开始学java--二叉树和哈希表

数据结构基础 目录 数据结构基础 树 树形结构: 树的概念: 二叉树 概念: 两种特殊的二叉树: 二叉树的性质: 创建一个简单的二叉树: 二叉树的遍历 前序遍历: 中序遍历: 后序遍历: 层序遍历: 二叉查找树和平衡二叉树 二叉查找树: 平衡二叉树: 红黑树 哈希表 树 树形结构: 树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点: 1. 有一个特殊的结点,称为根结点,根结点没有前驱结点。 2. 除根结点外,其余结点被分成M(M > 0)个互不相交的集合T1、T2、......、Tm,其中每一个集合Ti (1 <= i

By Ne0inhk