在 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

【STL源码剖析】从源码看 list:从迭代器到算法

【STL源码剖析】从源码看 list:从迭代器到算法

半桔:个人主页  🔥 个人专栏: 《Linux手册》《手撕面试算法》《C++从入门到入土》 🔖源码之前,了不秘密。 文章目录 * 前言 * 一. list 概述 * 二. list 的节点 * 三. list 迭代器 * 3.1 定义 * 3.2 构造 * 3.3 重载 * 四. list 数据结构 * 五. list 的构造和内存管理 * 六. list 的接口 本文并不适合STL初学者。对于那些熟练掌握 C++ 模板和 STL 的日常使用,理解内存分配与对象生命周期,并且有扎实的数据结构基础,希望深刻了解STL实现细节,从而得以提升对STL的扩充能力,或是希望藉由观察STL源代码,学习世界一流程序员身手,

By Ne0inhk
【C++】STL之list模拟实现:关于链表容器的双向迭代器你知道多少?

【C++】STL之list模拟实现:关于链表容器的双向迭代器你知道多少?

前言: 前面的博客中我已经介绍了STL核心容器之一的list相关接口的使用,今天我们就从底层出发,来模拟实现一下list的那些核心接口函数。同时,也来感受一下list的双向迭代器到底与string和vector的随机迭代器有哪些区别? list容器功能接口介绍:https://blog.ZEEKLOG.net/Miun123/article/details/151685386?spm=1001.2014.3001.5502 废话不多说,我们直接进入今天的正题👇️👇️👇️ list容器深度剖析及模拟实现 我们想要模拟实现list容器,那就要理解list容器的底层结构。前面的博客已经提到,其本质就是一个双向链表,所以,成员变量就应该包含一个记录头节点的指针,以及记录有效节点个数的变量。同时,为了list容器可以满足不同类型的数据,我们将所有的类实现为类模板。 1、定义节点结构 struct创建的类默认所有的成员但是公开的,而节点结构就需要公开被list访问。 template<class T> struct list_node { // 成员变量 T _da

By Ne0inhk
排序--数据结构初阶(4)(C/C++)

排序--数据结构初阶(4)(C/C++)

文章目录 * 前言 * 理论部分: * 1.直接插入排序 * 2.希尔排序 * 3.直接选择排序 * 4.堆排序 * 5.冒泡排序 * 6.快速排序 * 归并排序 * 非比较排序 * 计数排序 * 作业部分 前言 这是数据结构初阶的最后一期,虽然来说在C++的库函数里面有sort函数可以代替这里所有的方法,并且时间复杂度也是优于他们的,但是sort函数是由他们写出来的,因此,还是是有必要学习一下的 理论部分: 这里的代码实现都是按升序来的 排序的话建议先写单趟再写整体 这些排序在两数相等的时候一般是不进行操作的(一般这么写) 1.直接插入排序 就是目前在最后的那个数跟前面每个数比,看看要插哪 时间复杂度:O(n2) 最好的情况下是O(n) 在小段小段有序时有极大的优势(相对于选择排序跟冒泡排序) 代码实现: void InsertSort(int* a, int n)

By Ne0inhk
大模型应用:最优路径规划实践:A*算法找最优解,大模型做自然语言解释.91

大模型应用:最优路径规划实践:A*算法找最优解,大模型做自然语言解释.91

一、引言         算法是个很有意义的课题,尽管大模型让我们不需要像以前学习机器学习那样,需要很深的数学基础,但结合算法来应用大模型确实是个很有趣的事情,传统算法经过数十年发展,已在路径规划、优化计算等领域达到极高的精确度;另一方面,大语言模型的崛起让人机交互变得前所未有的自然流畅。然而,一个不容忽视的现实是:再精确的算法,如果用户看不懂、不会用,就只是实验室里的玩具;再流畅的表达,如果缺乏技术可靠性,就只是华丽的空谈。         想象这样一个场景:导航系统为你计算出了一条理论上最优的路线,却只能用一串坐标告诉你怎么走;或者,一个能言善道的助手热情地为你指路,却把你带进了死胡同。这两种情况,本质上都是技术能力与用户体验之间的断裂。这种断裂并非偶然,而是单一技术路线的固有局限。算法擅长计算却不善表达,模型善于沟通却难以精确,各有所长,也各有所短。因此,真正的突破不在于让某一方变得更强大,而在于让两者形成互补协作的关系,用各自的长处弥补对方的短板。         这是我们今天想探讨得A*算法与大模型融合的核心价值所在。A*算法如同精密的"空间计算大脑",保证路径的数学最

By Ne0inhk