DeepSeek Coder + IDEA 辅助开发工具

开发者工具

我之前用的是Codegeex4模型,现在写一款DeepSeek Coder 本地模型
DeepSeek为什么火,我在网上看到一个段子下棋DeepSeek用兵法赢了ChatGpt,而没有用技术赢,这就是AI的思维推理,深入理解孙子兵法,告诉他下棋玩法,告诉GPT你没有更新,GPT玩的是棋,DeepSeek玩的是GPT。

Code编码方面
我个人做了一些验证,不知道是否准确,如果10B以下模型CodeGeex4模型算是最优秀的,但是如果10B以上就会出现了差别,但是如果我们平常开发不会有差别,如果在算法上会有差异。

CodeGeeX4:
CodeGeeX4-ALL-9B,集代码补全和生成、代码问答、代码解释器、工具调用、联网搜索、项目级代码问答等所有能力于一体的代码大模型;
CodeGeeX4-ALL-9B 在 BigCodeBench 和 NaturalCodeBench等公开基准测试中取得了极具竞争力的表现。它是目前参数量少于100亿的最强代码生成模型,甚至超越了更大的通用模型,在推理速度和模型性能方面达到了最佳平衡。
DeepSeek-Coder-V2:
DeepSeek-Coder-V2 沿用 DeepSeek-V2 的模型结构,总参数 236B,激活 21B,在代码、数学的多个榜单上位居全球第二,介于最强闭源模型 GPT-4o 和 GPT-4-Turbo 之间。

在这里插入图片描述


DeepSeek Coder-V2

  • 开发者工具
  • 前言
  • 一、环境准备
  • 二、下载CodeGPT插件与安装 DeepSeek-Coder
    • 1.在IDEA 插件市场安装AI驱动代码助手
    • 2.配置 DeepSeek(在线)
      • 在线的好处
      • 在线的坏处
      • 2.1在线配置DeepSeek
      • IDEA中集成DeepSeek (jetbrains 产品同样支持)
    • 3.配置 DeepSeek-CoderV2(离线)
      • 离线好处
      • 离线坏处
      • IDEA中集成DeepSeek (jetbrains 产品同样支持)
      • 3.1 离线配置DeepSeek
    • DeepSeek配置手册
  • 三、使用 DeepSeek 进行编程
      • 获取思路和代码
      • 代码补全应用
      • 代码解释与问题解答
      • 根据注释生成代码
  • 总结


前言

DeepSeek Coder-V2 是基于 DeepSeek-V2 中间检查点进一步预训练的开源专家混合(MoE)代码语言模型,通过增加 6 万亿个标记的持续预训练,显著增强了编码和数学推理能力,同时保持通用语言任务性能。其支持 338 种编程语言,上下文长度扩展到 128K 标记,在代码生成、数学基准测试等方面表现出色,且在许可协议下公开发布,可用于研究和商业用途。


一、环境准备

IDEA版本版本>2022.2 其他jetbrains产品同样支持

推荐使用插件CodeGPT,CodeGPT是一个AI驱动的代码助手,旨在帮助开发者进行各种编程活动,它是GitHub Copilot、AI Assistant、Codiumate和其他JetBrains插件的强大替代品。安装之前确保你的 IDEA 处于 2022.x 及以上的较新版本。
高版本的 IDEA 不仅在功能上更加完善,而且在与 DeepSeek 的兼容性和稳定性方面也有更好的表现,能够为后续的集成工作提供坚实的基础。
具体的版本可以参考下插件信息:
CodeGPT -Plugin
在这里插入图片描述

二、下载CodeGPT插件与安装 DeepSeek-Coder

我这里使用的IntelliJ IDEA 2024.2.5版本,网上很多方法激活,这里就不讲解如何激活了,不过版本都类似,只讲解插件使用安装

1.在IDEA 插件市场安装AI驱动代码助手

启动 IDEA 后,在菜单栏中找到 “File” 选项。

如果你使用的是 Windows 或 Linux 系统,点击 “Settings”;
在这里插入图片描述
设置窗口中,找到 “Plugins(插件)”,这里便是 IDEA 的插件管理中心。选中Marketplace后,在输入框输入 CodeGpt 选择 CodeGpt 最右侧会显示详细信息,点击 install 按钮后等待知行安装,最后点击确认。安装插件会RESTART IDEA,重新启动即可。
在这里插入图片描述

2.配置 DeepSeek(在线)

在线的好处

实时性高: 能够实时处理新数据,及时更新模型或输出结果,适用于对时效性要求高的场景,如实时代码生成、在线问答等。
数据更新快: 可以快速获取和利用最新的数据进行学习和训练,使模型能够跟上数据的动态变化,保持较好的性能和准确性。
无需本地计算资源: 用户无需在本地设备上安装和配置复杂的计算环境,只要有网络连接,就可以通过浏览器或其他在线平台使用模型,方便快捷。

在线的坏处

依赖网络连接: 如果网络不稳定或中断,将无法正常使用模型,影响工作效率和用户体验。
数据隐私问题: 在使用在线服务时,需要将数据上传到服务器,可能会存在数据泄露的风险,对于一些敏感数据来说这是不可接受的。
响应速度受限: 由于需要通过网络传输数据,可能会受到网络带宽和延迟的影响,导致响应速度不如离线使用快。
成本较高: 在线使用可能需要支付一定的费用,如云计算服务提供商的计费、API调用费用等,对于长期大量使用的用户来说,成本可能是一个考虑因素。

2.1在线配置DeepSeek

创建并设置 API Key
在 DeepSeek官网找到 API开放平台,点击进去。
在这里插入图片描述
在开放平台找到 API keys 菜单,这里可以创建API key,切记一定生成保存下来。
在这里插入图片描述

IDEA中集成DeepSeek (jetbrains 产品同样支持)

在IDEA中找到已经安装的插件 CodeGpt 工具的设置,然后依次找到 Custom OpenAI 的设置。这里有三部分需要配置
在这里插入图片描述勾选默认配置
在这里插入图片描述
第一个是选择模版,输入API KEY;第二个是配置聊天模型;第三个是配置推理模型。
在这里插入图片描述
第一个 配置API KEY,这个API KEY就是在 DeepSeek官网 创建的API KEY,可以直接拷贝到这里粘贴即可。
在这里插入图片描述
第二个是对话模型,这里需要配置两处:

在URL处粘贴URL:https://api.deepseek.com/chat/completions

将请求的模型在body中修改为:deepseek-chat

在这里插入图片描述

第三个是推理模型,这里也需要配置三处

选择FIM template 选择为 DeepSeek Coder 。

在URL处粘贴URL:https://api.deepseek.com/chat/completions

将请求的模型修改为:deepseek-reasoner

在这里插入图片描述
通过上述步骤,即可配置完成,配置完成后,点击应用和确认即可。
在这里插入图片描述

3.配置 DeepSeek-CoderV2(离线)

离线好处

数据隐私和安全: 所有数据都在本地进行处理,无需上传到云端,避免了数据泄露的风险,适合处理敏感信息和对数据隐私要求较高的场景。
响应速度快: 不需要等待网络传输,直接在本地设备上运行模型,响应速度更快,尤其适用于对实时性要求极高的应用,如实时代码补全等。
稳定性高: 不受网络波动的影响,不会因为网络故障而导致服务中断,保证了系统的稳定性和可靠性。
成本可控: 一旦在公司服务器部署完成,除了硬件设备的初始投资外,后续的使用成本相对较低,无需持续支付云服务等费用。

离线坏处

硬件要求高: 需要在服务器或者本地设备上安装和运行模型,对硬件的性能要求较高,如需要较大的内存、显存和处理器性能等,否则可能无法正常运行或性能不佳。
软件安装和维护麻烦: 需要手动安装和配置相关的软件环境,包括深度学习框架、依赖库等,对于非技术人员来说可能有一定的难度。并且随着技术的更新,还需要不断维护和更新软件,以确保其兼容性和安全性。
数据更新不及时: 无法实时获取新的数据进行学习和训练,模型的知识和能力可能会逐渐落后于在线模型。如果需要更新数据,需要手动下载和重新训练模型,过程较为繁琐。

IDEA中集成DeepSeek (jetbrains 产品同样支持)

3.1 离线配置DeepSeek

我使用的Ollama部署的deepseek-coder-v2:latest模型,我前面帖子也讲了如何安装ollama
以及如何下载模型参考:
私有化部署大模型最佳解决方案 Ollama (8B)模型
步骤都是一样的只是将模型替换掉为deepseek-coder-v2:latest目前最新的为r1,我使用着推理有点问题,应该是插件问题,本地模型也可以采用在线配置一样可以使用
在这里插入图片描述
勾选配置为默认Ollama
在这里插入图片描述
我部署在服务器上的需要配置2步
这里是Ollama的连接,注意在服务器Ollama开启跨域访问 "Environment="OLLAMA_
ORIGINS=
*

Base host:http://127.0.0.1:11434
点击刷新模型获取模型列表
勾选自己下载的模型 deepseek-coder-v2

在这里插入图片描述

通过上述步骤,即可配置完成,配置完成后,点击应用和确认即可。

在这里插入图片描述
我们可以通过对话框,选中文件等操作询问AI,也可以编写注释,代码自动生成等操作

DeepSeek配置手册

如果还不明白如何配置,可以参考下官方提供的配置策略:

DeepSeek官方文档
CodeGPT官方文档

三、使用 DeepSeek 进行编程

获取思路和代码

找到 CodeGpt组件,找到对话框,默认为设置的默认配置,可以进行修改配置,然后输入内容即可对话。
在这里插入图片描述

例如 给出口令:帮我编写一个二分查找算法
给出代码如下:

package code;

public class TestAI {
    public static void main(String[] args) {
        int[] arr = {2, 5, 8, 12, 16, 23, 38, 45, 57, 69};
        int target = 23;
        int result = binarySearch(arr, target);
        System.out.println("Index of " + target + " is: " + result);
    }

    private static int binarySearch(int[] arr, int target) {
        int left = 0;
        int right = arr.length - 1;

        while (left <= right) {
            int mid = left + (right - left) / 2;

            if (arr[mid] == target) {
                return mid;
            } else if (arr[mid] < target) {
                left = mid + 1;
            } else {
                right = mid - 1;
            }
        }

        return -1; // Target not found
    }
}

代码补全应用

在编写代码时,当你输入部分代码后,只需要回车(Enter),DeepSeek 就会迅速分析代码上下文,智能补全后续代码。这一功能大大节省了代码编写时间,让你的编程效率直线上升。
在这里插入图片描述

代码解释与问题解答

对于一些复杂的代码段,理解起来可能会有些困难。这时,你只需选中代码,然后右键点击,选择 “CodeGPT”,DeepSeek 便会为你详细解读代码的功能和逻辑。有了它的帮助,代码维护和调试变得更加轻松。
在编程过程中,遇到问题是常有的事。当你遇到难题时,无需再四处查找资料,直接在代码编辑器中选中相关代码或描述问题,然后选择 “CodeGPT: Ask Question”,DeepSeek 会根据你的问题给出针对性的解决方案和建议。它就像一位随时在线的编程专家,为你排忧解难。
在这里插入图片描述
在这里插入图片描述

根据注释生成代码

例如我给出

//编写一个冒泡排序 回车(Enter)

代码生成如下
在这里插入图片描述
按TAB键一键采纳,也可以按方向键进行逐行采纳


总结

Idea+deepseek在线与离线安装部署使用的实践,我深刻体会到了两者各有优劣。在线使用最大的优势在于其便捷性,无需复杂的本地配置,只要有网络连接,就能随时随地使用模型,并且可以实时获取模型的更新,确保处理结果紧跟数据动态变化。然而,也正是对网络的依赖,使得在网络不稳定时会极大地影响使用体验,且存在数据隐私泄露的隐患,这让我在使用敏感数据时有所顾虑。

离线使用则给我带来了更高的数据安全性和稳定性。所有操作都在本地完成,不担心数据上传导致的隐私问题,同时处理速度也不受网络波动影响,能够快速得到响应。但离线使用的前期准备工作较为繁琐,对硬件要求较高,需要手动安装众多依赖库和配置环境变量,稍有不慎就可能导致模型无法正常运行。而且一旦离线使用,数据的更新变得困难,难以让模型及时适应新的数据分布。

在线与离线使用并非相互排斥,而是应根据具体的需求和场景来选择。如果注重便捷性和实时性,且对数据隐私要求不高,在线使用是个不错的选择;但如果处理敏感数据或对稳定性、响应速度有较高要求,那么离线使用更值得考虑。同时,这也促使我在未来的使用中,会更加细致地评估需求,权衡利弊,以实现效益的最大化。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/968103.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于 PyTorch 的树叶分类任务:从数据准备到模型训练与测试

基于 PyTorch 的树叶分类任务&#xff1a;从数据准备到模型训练与测试 1. 引言 在计算机视觉领域&#xff0c;图像分类是一个经典的任务。本文将详细介绍如何使用 PyTorch 实现一个树叶分类任务。我们将从数据准备开始&#xff0c;逐步构建模型、训练模型&#xff0c;并在测试…

11vue3实战-----封装缓存工具

11vue3实战-----封装缓存工具 1.背景2.pinia的持久化思路3.以localStorage为例解决问题4.封装缓存工具 1.背景 在上一章节&#xff0c;实现登录功能时候&#xff0c;当账号密码正确&#xff0c;身份验证成功之后&#xff0c;把用户信息保存起来&#xff0c;是用的pinia。然而p…

vue中使用高德地图自定义掩膜背景结合threejs

技术架构 vue3高德地图2.0threejs 代码步骤 这里我们就用合肥市为主要的地区&#xff0c;将其他地区扣除&#xff0c;首先使用高德的webapi的DistrictSearch功能&#xff0c;使用该功能之前记得检查一下初始化的时候是否添加到plugins中&#xff0c;然后搜索合肥市的行政数据…

02、QLExpress从入门到放弃,相关API和文档

QLExpress从入门到放弃,相关API和文档 一、属性开关 public class ExpressRunner {private boolean isTrace;private boolean isShortCircuit;private boolean isPrecise; }/*** 是否需要高精度计算*/ private boolean isPrecise false;高精度计算在会计财务中非常重要&…

二、OSG学习笔记-入门开发

前一章节&#xff1a;一、OSG学习笔记-编译开发环境-CSDN博客https://blog.csdn.net/weixin_36323170/article/details/145513691 一、环境配置 1、VS需要配置头文件路径如下图&#xff1a;&#xff08;$(OSG_INCLUDE)&#xff09; 这里的OSG_INCLUDE,为环境变量名&#xff0…

C++ Primer 语句作用域

欢迎阅读我的 【CPrimer】专栏 专栏简介&#xff1a;本专栏主要面向C初学者&#xff0c;解释C的一些基本概念和基础语言特性&#xff0c;涉及C标准库的用法&#xff0c;面向对象特性&#xff0c;泛型特性高级用法。通过使用标准库中定义的抽象设施&#xff0c;使你更加适应高级…

Windows逆向工程入门之汇编开发框架解析

公开视频 -> 链接点击跳转公开课程博客首页 -> ​​​链接点击跳转博客主页 目录 环境搭建与配置 Visual Studio配置 X86汇编基础框架 基本程序框架 数据定义与内存访问 过程&#xff08;函数&#xff09;定义 汇编框架解析 代码主体解析 完整代码执行 代码逻…

Android ndk兼容 64bit so报错

1、报错logcat如下 2025-01-13 11:34:41.963 4687-4687 DEBUG pid-4687 A #01 pc 00000000000063b8 /system/lib64/liblog.so (__android_log_default_aborter16) (BuildId: 467c2038cdfa767245f9280e657fdb85) 2025…

工业路由器物联网应用,智慧环保环境数据监测

在智慧环保环境数据监测中工业路由器能连接各类分散的传感器&#xff0c;实现多源环境数据集中采集&#xff0c;并通过多种通信网络稳定传输至数据中心或云平台。 工作人员借助工业路由器可远程监控设备状态与环境数据&#xff0c;还能远程配置传感器参数。远程控制设置数据阈…

QT修仙笔记 事件大圆满 闹钟大成

学习笔记 牛客刷题 闹钟 时钟显示 通过 QTimer 每秒更新一次 QLCDNumber 显示的当前时间&#xff0c;格式为 hh:mm:ss&#xff0c;实现实时时钟显示。 闹钟设置 使用 QDateTimeEdit 让用户设置闹钟时间&#xff0c;可通过日历选择日期&#xff0c;设置范围为当前时间到未来 …

MapReduce到底是个啥?

在聊 MapReduce 之前不妨先看个例子&#xff1a;假设某短视频平台日活用户大约在7000万左右&#xff0c;若平均每一个用户产生3条行为日志&#xff1a;点赞、转发、收藏&#xff1b;这样就是两亿条行为日志&#xff0c;再假设每条日志大小为100个字节&#xff0c;那么一天就会产…

拯救者Y9000P双系统ubuntu22.04安装4070显卡驱动

拯救者Y9000P双系统ubuntu22.04安装4070显卡驱动 1. 前情&#xff1a; 1TB的硬盘&#xff0c;分了120G作ubuntu22.04。/boot: 300MB, / : 40GB, /home: 75G, 其余作swap area。 2. 一开始按这个教程&#xff1a;对我无效 https://blog.csdn.net/Eric_xkk/article/details/1…

Redis 数据类型 List 列表

列表类型是⽤来存储多个有序的字符串&#xff0c;如下图所⽰&#xff0c;a、b、c、d、e 五个元素从左到右组成了⼀个有序的列表&#xff0c;列表中的每个字符串称为元素&#xff08;element&#xff09;&#xff0c;⼀个列表最多可以存储 2^32 - 1个元素。在 Redis 中&#xff…

【devops】Macos 轻量化docker解决方案 orbstack | 不用Docker Desktop启动docker服务

一、orbstack OrbStack is the fast, light, and easy way to run Docker containers and Linux machines. It’s a supercharged WSL and Docker Desktop alternative, all in one easy-to-use app. 二、orbstack 的可视化

RabbitMQ消息队列 发送和接受

步骤 1: 安装 RabbitMQ 首先&#xff0c;需要安装 RabbitMQ&#xff0c;并确保它在运行中。 下载erlang语言包OTP。官网地址&#xff1a;Downloads - Erlang/OTP Rabbitmq官网下载地址&#xff1a;Downloading and Installing RabbitMQ — RabbitMQ 安装MQ注意事项&#xf…

2025最新版Node.js下载安装~保姆级教程

1. node中文官网地址&#xff1a;http://nodejs.cn/download/ 2.打开node官网下载压缩包&#xff1a; 根据操作系统不同选择不同版本&#xff08;win7系统建议安装v12.x&#xff09; 我这里选择最新版win 64位 3.安装node ①点击对话框中的“Next”&#xff0c;勾选同意后点…

Spring Boot 3.4 中 MockMvcTester 的新特性解析

引言 在 Spring Boot 3.4 版本中&#xff0c;引入了一个全新的 MockMvcTester 类&#xff0c;使 MockMvc 测试可以直接支持 AssertJ 断言。本文将深入探讨这一新特性&#xff0c;分析它如何优化 MockMvc 测试并提升测试的可读性。 Spring MVC 示例 为了演示 MockMvcTester 的…

WEB攻防-文件下载文件读取文件删除目录遍历目录穿越

目录 一、文件下载漏洞 1.1 文件下载案例&#xff08;黑盒角度&#xff09; 1.2 文件读取案例&#xff08;黑盒角度&#xff09; 二、文件删除 三、目录遍历与目录穿越 四、审计分析-文件下载漏洞-XHCMS 五、审计分析-文件读取漏洞-MetInfo-函数搜索 六、审计分析-…

01.Docker 概述

Docker 概述 1. Docker 的主要目标2. 使用Docker 容器化封装应用程序的意义3. 容器和虚拟机技术比较4. 容器和虚拟机表现比较5. Docker 的组成6. Namespace7. Control groups8. 容器管理工具9. docker 的优缺点10. 容器的相关技术 docker 官网: http://www.docker.com 帮助文档…

IDEA中常见问题汇总

&#x1f353; 简介&#xff1a;java系列技术分享(&#x1f449;持续更新中…&#x1f525;) &#x1f353; 初衷:一起学习、一起进步、坚持不懈 &#x1f353; 如果文章内容有误与您的想法不一致,欢迎大家在评论区指正&#x1f64f; &#x1f353; 希望这篇文章对你有所帮助,欢…