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

本地部署DeepSeek集成VSCode创建自己的AI助手

文章目录

    • 安装Ollama和CodeGPT
      • 安装Ollama
      • 安装CodeGPT
    • 下载并配置DeepSeek模型
      • 下载聊天模型(deepseek-r1:1.5b)
      • 下载自动补全模型(deepseek-coder:1.3b)
    • 使用DeepSeek进行编程辅助
      • 配置CodeGPT使用DeepSeek模型
      • 开始使用AI助手
    • ✍️相关问答
      • 如何使用DeepSeek进行代码重构建议
      • DeepSeek在代码解释方面的应用实例
      • 如何优化DeepSeek模型在VSCode中的性能
    • 🧐脑图

本地使用DeepSeek集成VSCode创建自己的AI助手,需要安装必要的软件、下载并配置DeepSeek模型,然后使用这些工具进行编程辅助。

安装Ollama和CodeGPT

安装Ollama

  • 下载并安装Ollama:访问Ollama官方网站(https://ollama.com),根据您的操作系统(Windows、macOS或Linux)下载并安装Ollama。安装完成后,打开终端并运行ollama --version命令,验证安装是否成功。
  • 环境变量配置:安装完成后,设置关键环境变量,如OLLAMA_MODELS(模型文件存放目录)、OLLAMA_HOST(Ollama服务监听的网络地址)、OLLAMA_PORT(监听端口)等,以确保Ollama正常运行。

安装CodeGPT

  • 安装CodeGPT插件:打开Visual Studio Code(VSCode),进入扩展市场(快捷键:Ctrl + Shift + X 或 Cmd + Shift + X),搜索“CodeGPT”并点击安装。
  • 配置API密钥:安装CodeGPT后,您需要注册OpenAI账号并获取API密钥。在CodeGPT的设置页面,填写API密钥,以便CodeGPT能够通过OpenAI API进行编程辅助。

下载并配置DeepSeek模型

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

  • 下载模型:在VSCode中打开CodeGPT,选择本地LLMs,然后选择Ollama作为本地LLM提供商,选择deepseek-r1:1.5b并点击下载按钮。
  • 验证安装:下载完成后,启动Ollama服务,确保模型已成功加载。您可以通过在终端中运行ollama run deepseek-r1:1.5b来验证。

下载自动补全模型(deepseek-coder:1.3b)

  • 下载模型:在VSCode的终端中运行命令ollama pull deepseek-coder:1.3b下载模型。
  • 配置自动补全:返回CodeGPT,导航至“自动补全模型”部分,选择deepseek-coder:1.3b,以便在编写代码时提供智能自动补全建议。

使用DeepSeek进行编程辅助

配置CodeGPT使用DeepSeek模型

  • 选择本地LLMs:在VSCode中打开CodeGPT设置,选择“本地LLMs”,然后选择Ollama和deepseek-r1:1.5b模型。
  • 配置AI代码自动补全:在“AI代码自动补全”配置页面,选择deepseek-coder:1.3b模型,以便在编写代码时提供实时建议。

开始使用AI助手

  • 实时代码建议和自动补全:在VSCode中编写代码时,DeepSeek将提供实时的代码建议和自动补全功能。您可以使用命令如/fix/refactor/explain等与模型交互,获取代码修复、重构和解释建议。
  • 注意事项:确保API Key的有效性,并注意每个账号每天的API调用次数限制,避免高频率、大量的调用。

通过安装Ollama和CodeGPT,下载并配置DeepSeek模型,您可以在本地VSCode中创建一个强大的AI助手。这个AI助手不仅能帮助您编写代码,还能提供代码优化和重构建议,极大地提升编程效率。

✍️相关问答

如何使用DeepSeek进行代码重构建议

要使用DeepSeek进行代码重构建议,您可以按照以下步骤进行操作:

安装和配置DeepSeek:

确保已经安装了DeepSeek插件。如果没有安装,可以按照以下步骤进行安装:
打开VSCode,按下快捷键 Ctrl + Shift + P(Windows/Linux)或 Command + Shift + P(Mac)打开命令面板。
输入 ext install colourafredi.vscode-deepseek 并按回车键进行安装。
安装完成后,点击VSCode左侧的DeepSeek图标进行配置。您可以选择使用本地部署的DeepSeek R1模型,或者使用其他可用的模型。
使用DeepSeek进行代码重构:

在VSCode中打开您要重构的代码文件。
选中您希望重构的代码片段,右键点击并选择 DeepSeek 相关命令,例如 重构优化。
或者,您可以直接在输入框中输入 DeepSeek: 重构下面代码并告诉我你改动了哪里,然后按回车发送请求。
分析和建议:

DeepSeek会智能分析代码复杂度,包括圈复杂度、认知复杂度和代码重复度等指标。
根据分析结果,DeepSeek会生成重构建议,例如合并逻辑、优化性能、消除冗余代码等。
您可以根据DeepSeek提供的建议手动应用重构,或者让DeepSeek自动应用重构。
示例:

假设以下代码:

def process_user_data(users):result = []for user in users:if user['age'] > 18:if user['status'] == 'active':temp = {}temp['name'] = user['name']temp['id'] = user['id']result.append(temp)return result

选中上述代码片段,右键点击并选择 DeepSeek -> 重构优化。
DeepSeek会分析代码并建议将嵌套的 if 语句重构为更简洁的形式,例如使用列表推导式:

def process_user_data(users):return [{'name': user['name'], 'id': user['id']} for user in users if user['age'] > 18 and user['status'] == 'active']

DeepSeek在代码解释方面的应用实例

DeepSeek在代码解释方面的应用实例主要体现在其智能编程和代码生成能力上。以下是一些具体的应用实例:

代码生成: DeepSeek能够根据用户的需求生成代码示例,帮助程序员更快地编写代码。例如,当程序员需要生成复杂的数据处理代码时,DeepSeek可以提供相应的代码示例,如对列表进行排序并计算平均值的Python代码。

代码优化与调试: DeepSeek可以分析现有代码,提供优化建议和调试帮助。例如,在Java代码中,DeepSeek可以检测到性能瓶颈,并提供优化方案,如使用StringBuilder代替字符串拼接以提高效率。

智能编程: DeepSeek智能编程功能可以一键生成代码,提高开发效率。例如,DeepSeek可以智能生成RESTful API代码或Vue + Vuex状态管理代码,帮助开发者快速搭建应用框架。

如何优化DeepSeek模型在VSCode中的性能

要优化DeepSeek模型在VSCode中的性能,可以参考以下建议:

选择合适的模型: 根据需求选择合适的DeepSeek模型。例如,deepseek-reasoner模型在推理速度和准确性上表现良好,适合编程辅助任务。

本地部署模型: 如果担心隐私或成本问题,可以考虑本地部署DeepSeek模型。本地部署可以减少API调用的延迟,并且不涉及API Key的使用限制。

优化API Key使用: 如果选择使用在线API服务,请注意API Key的使用限制。避免频繁请求无关紧要的问题,以保持高效的使用体验。

利用上下文信息: 在使用DeepSeek进行代码生成时,提供更多的上下文信息可以帮助模型更好地理解您的需求,从而生成更准确的代码。

定期更新插件和模型: 保持VSCode插件和DeepSeek模型的更新,以获得最新的性能改进和功能增强。

🧐脑图

在这里插入图片描述

相关文章:

本地部署DeepSeek集成VSCode创建自己的AI助手

文章目录 安装Ollama和CodeGPT安装Ollama安装CodeGPT 下载并配置DeepSeek模型下载聊天模型(deepseek-r1:1.5b)下载自动补全模型(deepseek-coder:1.3b) 使用DeepSeek进行编程辅助配置CodeGPT使用DeepSeek模型开始使用AI助手 ✍️相…...

无人机雨季应急救灾技术详解

无人机在雨季应急救灾中发挥着至关重要的作用,其凭借机动灵活、反应迅速、高效安全等特点,为救灾工作提供了强有力的技术支撑。以下是对无人机雨季应急救灾技术的详细解析: 一、无人机在雨季应急救灾中的应用场景 1. 灾情侦查与监测 无人机…...

DeepSeek本地化部署【window下安装】【linux下安装】

一、window 本地安装指导 1.1、下载window安装包 https://ollama.com/download/OllamaSetup.exe 1.2、点击下载好的安装包进行安装 检测安装是否成功: C:\Users\admin>ollama -v ollama version is 0.5.7有上面的输出,则证明已经安装成功。 配置…...

Ae:常见的光照控件和材质控件

在 After Effects中,几种模拟效果都有类似的光照控件和材质控件,比如,焦散、卡片动画、碎片等。 光照控件和材质控件允许用户模拟不同光源、阴影和高光效果,控制表面反射特性,从而实现真实的光照和反射模拟。适用于材质…...

【鸿蒙开发】第三十章 应用稳定性-检测、分析、优化、运维汇总

目录​​​​​​​ 1 概述 2 使用Asan检测内存错误 2.1 背景 2.2 原理概述 2.3 使用约束 2.4 配置参数 2.4.1 在app.json5中配置环境变量 2.4.2 在Run/Debug Configurations中配置环境变量 2.5 Asan使能 方式一 方式二 运行ASan 2.6 ASan异常检测类型 heap-buf…...

紫光展锐蜂窝物联网芯片V8850荣获国密一级安全认证

近日,紫光展锐蜂窝物联网芯片V8850荣获国密一级认证,标志着展锐V8850在安全能力方面获得权威认可,位居行业领先水平。这是紫光展锐继短距物联网芯片V5663在2020获得ARM PSA Level 2认证,蜂窝物联网芯片V8811在2021年获得ARM PSA L…...

在freertos中,中断优先级和任务优先级之间的关系和使用方法

中断优先级和任务优先级如何匹配?任务优先级不同任务之间该用多高的优先级?中断优先级不同中断中该用多高的优先级?中断优先级和任务优先级设置时,怎样设置可以让任务在调度时屏蔽中断?怎样设置可以让任务在调度时&…...

Linux软件编程:IO编程

IO(linux输入输出) 1. IO概念: I:输入 O:输出 Linux 一切皆是文件 屏幕 -> /dev/tty 磁盘 -> /dev/sda 网卡 键盘 -> /dev/event 鼠标-> /dev/mice 都是一个文件 2. IO操作的对象: 文件 3. 文…...

2025-2-14算法打卡

一,右旋字符串 1.题目描述: 字符串的右旋转操作是把字符串尾部的若干个字符转移到字符串的前面。给定一个字符串 s 和一个正整数 k,请编写一个函数,将字符串中的后面 k 个字符移到字符串的前面,实现字符串的右旋转操…...

在 debian 12 上安装 mysqlclient 报错

报错如下 Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple Collecting mysqlclientUsing cached https://pypi.tuna.tsinghua.edu.cn/packages/61/68/810093cb579daae426794bbd9d88aa830fae296e85172d18cb0f0e5dd4bc/mysqlclient-2.2.7.tar.gz (91 kB)Installi…...

javaEE2

maven 搭建 前后端交互 HTML servlet 后台和数据库交互 servlet jdbc 未来 servlet-->springmvc jdbc-->mybatis-->mybatisplus/jpa javaee-->spring-->springboot SERVLET tomcat ~Apache 服务 Apache(音译为阿帕奇)是世界上使用排名第一的Web服务器…...

2025最新深度学习pytorch完整配置:conda/jupyter/vscode

从今天开始,开始一个新的专栏,更新深度学习相关的内容,从入门到精通,首先的首先是关于环境的配置指南:工欲善其事必先利其器! PyTorch 是由 Facebook(现 Meta)开发的 开源深度学习框…...

华为小艺助手接入DeepSeek,升级鸿蒙HarmonyOS NEXT即可体验

小艺助手接入DeepSeek的背景与意义 随着人工智能技术的不断发展,大模型成为推动智能交互升级的关键力量。DeepSeek在自然语言处理等领域具有出色的表现,其模型在语言理解、生成等方面展现出强大的能力。华为小艺助手接入DeepSeek,旨在借助其先…...

C++ 标准库常见容器

容器类型类型分类特点示例代码vector序列容器动态数组,支持随机访问,末尾操作效率高std::vector v {1, 2, 3}; v.push_back(4);deque序列容器双端队列,支持两端操作和随机访问std::deque d {1, 2, 3}; d.push_front(0);list序列容器双向链表…...

Ubuntu 上安装 MySQL 8.0.22

在 Ubuntu 上安装 MySQL 8.0.22,可以通过以下步骤完成: 步骤 1:更新系统软件包 sudo apt update sudo apt upgrade -y步骤 2:下载 MySQL 官方 APT 仓库包 前往 MySQL 官方下载页面获取 APT 仓库配置包的链接:MySQL A…...

C++ 中的继承与派生

在 C 中,继承与派生是面向对象编程的重要特性,它们允许创建新类(派生类)来复用现有类(基类)的属性和方法,同时还能添加新的功能或修改现有功能,下面为你详细介绍。 基本概念 继承&…...

qt QRadioButton 总结

1. QRadioButton 基本概念 用途:用于单选场景,同一分组中仅允许一个按钮被选中。 继承关系:继承自 QAbstractButton,支持按钮的通用特性(如点击事件、状态切换)。 默认行为:同一父容器下的多个…...

Git 查看修改记录 二

Git 查看修改记录 二 续接 Git 查看一个文件的修改记录 一 一、修改 A.txt 修改 A.txt number6执行命令 git add . git commit -a -m "修改 number6" # git commit -a -m "修改 number6" 执行 输出如下 # $ git commit -a -m "修改 number6"…...

【STM32】增量型旋钮编码器

1.增量型旋钮编码器原理 该编码器有A,B两相,当顺时针旋转时 B相会提前A相90度(匀速转的时候),也就是A相上升沿时,B相对应高电平,计数器会1,A相下降沿时,B相为低电平时&…...

电动汽车电池监测平台系统设计(论文+源码+图纸)

1总体设计 本次基于单片机的电池监测平台系统设计,其整个系统架构如图2.1所示,其采用STC89C52单片机作为控制器,结合ACS712电流传感器、TLC1543模数转换器、LCD液晶、DS18B20温度传感器构成整个系统,在功能上可以实现电压、电流、…...

备战蓝桥杯 Day2 枚举 Day3 进制转换

Day2 枚举 1.要点 枚举要细致&#xff0c;考虑所有情况&#xff0c;一般为填空题&#xff0c;根据题目选择手算还是机算 Day3 进制转换 进制转换 1.要点 1.任意k进制转换为十进制 输入字符串得到某个k进制数组a(从1开始&#xff0c;长度为n) ll y0; for(int i1;i<n;…...

基于语义语言的语义通信(SemCom)理论:语义编码、语义解码、CSED 及语言利用

语义通信(Semantic Communication, SemCom)超越了传统 Shannon 通信范式,旨在通过语义信息的高效编码、解码及推理,实现更智能、高效的通信系统。在基于语义语言(Semantic Language)的 SemCom 设计中,核心问题包括: 语义编码问题(Semantic Encoding Problem)语义解码…...

差分的性质

目录 差分的性质1)各阶差分均可用函数值表示2)用各阶差分表示函数值3)差商与差分的关系 差分的性质 1)各阶差分均可用函数值表示 例如 Δ n f k ( E − I ) n f k ∑ j 0 n ( − 1 ) j ( n j ) E n − j f k ∑ j 0 n ( − 1 ) j ( n j ) f n k − j \Delta^nf_k(\text…...

语义源的速率-失真特征(Rate-Distortion Characteristics of Semantic Sources)在语义通信中的理论分析

1. 引言 在传统香农信息论中,通信的目标是无失真地传输比特流,其核心度量是 信道容量(Shannon Capacity)。然而,在语义通信(Semantic Communication, SemCom)中,通信目标不仅仅是比特的正确传输,而是接收端对信息的正确理解。因此,我们需要重新定义源编码(Source C…...

python 浅拷贝和深拷贝

浅拷贝&#xff08;Shallow Copy&#xff09;语法示例代码 1示例代码 2 深拷贝&#xff08;Deep Copy&#xff09;语法示例代码 浅拷贝与深拷贝的区别示例&#xff1a;浅拷贝与深拷贝的对比 浅拷贝&#xff1a;只复制外层容器&#xff0c;内层嵌套对象仍然是共享的&#xff0c;…...

Python基于 Flask 创建简单Web服务并接收文件

在全部网口上创建web服务, 监听8080端口关闭debug模式GET时返回HTML界面, 用于提交文件POST到 /upload 时, 从接收的 file 变量中读取文件, 并传递给 opencv 解析为 image 对象 from flask import Flask, request, redirect, url_for import os import cv2 import numpy impor…...

DeepSeek助力:打造属于你的GPTs智能AI助手

文章目录 一、环境准备1.安装必要的工具和库2. 选择合适的开发语言 二、核心技术选型1. 选择适合的AI框架 三、功能实现1. 文本生成与对话交互2. 代码生成与自动补全3. 数据分析与报告生成 四、案例实战1. 搭建一个简单的聊天机器人2. 创建一个代码生成器 五、总结与展望1. 当前…...

C语言基础系列【12】运算符

博主介绍&#xff1a;程序喵大人 35- 资深C/C/Rust/Android/iOS客户端开发10年大厂工作经验嵌入式/人工智能/自动驾驶/音视频/游戏开发入门级选手《C20高级编程》《C23高级编程》等多本书籍著译者更多原创精品文章&#xff0c;首发gzh&#xff0c;见文末&#x1f447;&#x1f…...

【verilog】函数clogb2的解读

最近经常看到clogb2函数。 源代码如下所示。 function integer clogb2; input [31:0] value; reg [31:0] tmp; reg [31:0] rt; begin tmp value - 1; for (rt 0; tmp > 0; rt rt 1) tmp tmp >> 1; clogb2 rt; end endfunction 这个函数的意思是&#xff1a;这段…...

服务器之连接简介(Detailed Explanation of Server Connection)

一台服务器最大能支持多少连接&#xff1f;一台客户端机器最多能发起多少条连接&#xff1f;&#xff1f; 我们知道TCP连接&#xff0c;从根本上看其实就是client和server端在内存中维护的一组【socket内核对象】&#xff08;这里也对应着TCP四元组&#xff1a;源IP、源端口、…...