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

本地部署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助手 ✍️相…...

07贪心 + 动态规划(D1_基础学习)

目录 讲解一:贪心算法 一、什么是贪心算法? 二、贪心算法的应用场景 三、使用Java代码实现贪心算法 四、知识小结 -------------------------------- 讲解二:动态规划算法 一、什么是动态规划算法 二、动态规划算法求解问题需要具备的…...

redis之数据库

文章目录 服务器中的数据库切换数据库数据库键空间读写键空间时的维护操作 设置键的生存时间或过期时间保存过期时间过期键的判定过期键删除策略清性删除策略的实现定期删除策略的实现 总结 服务器中的数据库 Redis服务器将所有数据库都保存在服务器状态redis.h/redisServer结…...

【竞技宝】电竞世界杯:无畏契约首次入选正式项目!

北京时间2月12日,电竞世界杯基金会(EWCF)与知名游戏开发商拳头游戏(Riot Games)在近日共同宣布达成三年合作伙伴关系。同时,三大顶级电竞项目——《英雄联盟》《英雄联盟:云顶之弈》&#xff08…...

Golang GORM系列:GORM 高级查询教程

有效的数据检索是任何程序功能的基础。健壮的Go对象关系映射包(称为GORM)除了标准的CRUD操作之外,还提供了复杂的查询功能。这是学习如何使用GORM进行高级查询的综合资源。我们将涵盖WHERE条件、连接、关联、预加载相关数据,甚至涉…...

智能GUI Agent是什么,有什么应用领域

智能GUI Agent是什么 研究背景与目的:GUI长期主导人机交互,LLM特别是多模态模型的出现,为GUI自动化带来变革,催生了基于LLM的GUI智能体。这些智能体可理解自然语言指令,处理复杂GUI元素并执行操作,改变了用户与软件交互方式。论文旨在梳理该领域发展脉络,剖析关键要素,…...

k8s优雅操作pod容器组

k8s优雅操作pod容器组 回退备份 kubectl get deploy deployName -o yaml>>deployName-bak-date "%Y-%m-%d".yaml获取副本数 replicasecho | kubectl get -o template deploy/deployName --template{{.spec.replicas}}停止容器组 kubectl scale deployment …...

在 Mac ARM 架构上使用 nvm 安装 Node.js 版本 16.20.2

文章目录 1. 安装 nvm(如果还没有安装的话)2. 加载 nvm 配置3. 列出特定系列的 Node.js 版本(远程):4. 安装 Node.js 16.20.25. 使用指定版本的 Node.js6. 验证安装 在 Mac ARM 架构上使用 nvm 安装 Node.js 版本 16.…...

MySQL创建存储过程和存储函数

【图书推荐】《MySQL 9从入门到性能优化(视频教学版)》-CSDN博客 《MySQL 9从入门到性能优化(视频教学版)(数据库技术丛书)》(王英英)【摘要 书评 试读】- 京东图书 (jd.com) MySQL9数据库技术_夏天又到了…...

PyQt学习记录03——批量设置水印

0. 目录 PyQt学习记录01——加法计算器 PyQt学习记录02——串口助手 1. 前言 本次主要是为了学习Qt中的 QFileDialog 函数, QFileDialog.getExistingDirectory:用于选择文件夹,返回的是一个文件夹路径。 QFileDialog.getOpenFileName&…...

vivo手机和Windows电脑连接同一个WiFi即可投屏!

虽然现在很多人喜欢刷手机,但是对于长时间需要使用手机办公的人来说,手机屏幕还是太小了,当人一天二十四小时中要花费近十个小时摆弄手机,就会渴望手机屏幕能够大一点,至少看的时候,眼睛舒服一点。 因为嫌弃…...

芯盾时代数据安全产品体系,筑牢数据安全防线

芯盾时代数据安全治理(DSG)框架,以国家法律法规、行业监管标准、行业最佳实践为依据,从数据安全战略出发,以数据分类分级为支撑,构数据安全管理体系、数据安全技术体系、数据安全运营体系与数据安全监督评价…...

异位妊娠唯一相关的是年龄(U型曲线)

异位妊娠唯一相关的是年龄(U型曲线) 简介 异位妊娠,俗称宫外孕,是指受精卵在子宫体腔以外着床发育的异常妊娠过程 。正常情况下,受精卵会在子宫内着床并发育成胎儿,但在异位妊娠中,受精卵却在…...

CTF-WEB: 利用Web消息造成DOM XSS

如果索引中有类似如下代码 <!-- Ads to be inserted here --> <div idads> </div> <script>window.addEventListener(message, function(e) {document.getElementById(ads).innerHTML e.data;}); </script>这行代码的作用是将接收到的消息内容…...

【通俗易懂说模型】一篇弄懂几个经典CNN图像模型(AlexNet、VGGNet、ResNet)

&#x1f308; 个人主页&#xff1a;十二月的猫-CSDN博客 &#x1f525; 系列专栏&#xff1a; &#x1f3c0;深度学习_十二月的猫的博客-CSDN博客 &#x1f4aa;&#x1f3fb; 十二月的寒冬阻挡不了春天的脚步&#xff0c;十二点的黑夜遮蔽不住黎明的曙光 目录 1. 前言 2. …...

Unity世界坐标转成UI坐标

Unity世界坐标转成UI坐标 介绍转换代码合并方法总结 介绍 在Unity中官方提供了很多坐标转换的API&#xff0c;但是还没有一个API是将世界坐标系转换成UI的坐标系&#xff0c;世界坐标系在屏幕中的位置是不固定的所以有时候需要转换成UI坐标系**&#xff08;注意这里不是转换成…...

自制游戏——斗罗大陆

很简陋&#xff0c;没有图&#xff0c;请见谅 // mine[0] 级数 // mine[1] 战力 //mine[2] 1 白虎 //mine[2] 2 昊天锤 //mine[2] 3 蓝银草 #include <bits/stdc.h> using namespace std; int mine[100],live3, dou 1, luo 1, da 1, bag[1000], huan 0, lia…...

MindStudio制作MindSpore TBE算子(四)算子测试(ST测试-Ascend910B/ModelArts)--失败尝试

上一节&#xff0c;MindStudio制作MindSpore TBE算子&#xff08;三&#xff09;算子测试&#xff08;ST测试&#xff09;&#xff0c;因此缺乏对应的硬件环境导致无法进行ST测试&#xff0c;导致难以自安&#xff0c;今天搞来Ascend910B服务器来填坑&#xff0c;看看是否是硬件…...

二、交换机的vlan子设备接入

一、交换机的vlan设置-CSDN博客 二、交换机的vlan子设备接入-CSDN博客 接上篇的文章&#xff0c;本文接入了子设备 网络结构如下&#xff1a; 用路由器A和POE交换机B代替第一篇中的笔记本电脑&#xff0c;路由器A和交换机B都关闭DHCP服务&#xff0c;并分别接入一个IPC&#…...

EFCore相关知识分享

EFCore相关知识分享 文章目录 EFCore相关知识分享前言EFCore 的优势SaveChang的作用EF Core 查询优化小技巧使用投影&#xff08;投影到所需的数据类型&#xff09;延迟加载&#xff08;Lazy Loading&#xff09;与显式加载&#xff08;Eager Loading&#xff09;使用 AsNoTrac…...

网络六边形受到攻击

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 抽象 现代智能交通系统 &#xff08;ITS&#xff09; 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 &#xff08;…...

盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来

一、破局&#xff1a;PCB行业的时代之问 在数字经济蓬勃发展的浪潮中&#xff0c;PCB&#xff08;印制电路板&#xff09;作为 “电子产品之母”&#xff0c;其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透&#xff0c;PCB行业面临着前所未有的挑战与机遇。产品迭代…...

java 实现excel文件转pdf | 无水印 | 无限制

文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

centos 7 部署awstats 网站访问检测

一、基础环境准备&#xff08;两种安装方式都要做&#xff09; bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats&#xff0…...

iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版​分享

平时用 iPhone 的时候&#xff0c;难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵&#xff0c;或者买了二手 iPhone 却被原来的 iCloud 账号锁住&#xff0c;这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇&#xff0c;是在之前两篇博客的基础上展开&#xff0c;主要介绍如何在操作界面中创建和拖动物体&#xff0c;这篇博客跟随的视频链接如下&#xff1a; B 站视频&#xff1a;s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表

1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...

Frozen-Flask :将 Flask 应用“冻结”为静态文件

Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是&#xff1a;将一个 Flask Web 应用生成成纯静态 HTML 文件&#xff0c;从而可以部署到静态网站托管服务上&#xff0c;如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...

【算法训练营Day07】字符串part1

文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接&#xff1a;344. 反转字符串 双指针法&#xff0c;两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...

视频字幕质量评估的大规模细粒度基准

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用&#xff0c;因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型&#xff08;VLMs&#xff09;在字幕生成方面…...