百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 文章教程 > 正文

PyCharm中对接deepseek本地模型,自动生成Python代码(新版)

yund56 2025-04-09 16:16 9 浏览

随着deepseek-r1模型开源,免费,性能强劲,可以部署到本地,不受网络限制,非常的诱人。许多人都开始各种奇特的想法来玩转deepseek。

本次小栈也将deepseek本地部署了,让开发软件PyCharm接入本地的deepseek,通过开发者的思维,让其自动生成Python代码,让开发的过程变的更方便。



在 PyCharm 中对接 deepseek 本地模型并实现自动生成 Python 代码,是一个非常有意义的探索,能够显著提升开发效率。


前期准备


系统环境

windows 10


软件环境

Pycharm (Professional 版)

Python 3.9.16

这两个是需要安装的,

小栈使用的Pycharm (Professional 版)是破解版,功能还是比较完善!

小栈使用的Python 3.9.16,小版本差异不大,可以从官方网上直接下载,也可以直接下载小栈分享的。

能进来看这篇文章的,说明已经有这两个基础软件了,安装过程在这里就不再赘述。

如果这两个软件有需要下载的,在我的公众号后台回复:PyCharm即可获取。


PyCharm接入deepseek


PyCharm插件式接入deepseek,分两步:

1、在本地搭建deepseek服务

2、通过PyCharm下载CodeGPT插件

我们看一下具体操作:


1. 本地搭建deepseek


1、下载Ollama并安装

首先,打开网站

https://ollama.com/


下载:


选择与系统匹配的版本

小栈是windows 10,本次就以此为例


安装:


找到下载的Ollama软件


右击 【以管理员身份运行】

点击【Install】默认安装即可



安装过程完全是自动的,安装完成后,在cmd命令窗口输入ollama list命令


由于电脑并没有安装过其他的,刚安装ollama现在执行这条命令应该是空的,这个已经表明安装成功!




2、下载DeepSeek-r1模型

我们先看以下deepseek的版本,打开Ollama官网,点击左上角菜单【Models】


DeepSeek-r1 目前一共有7个不同版本,随着尺寸参数变大对电脑要求也会变高,电脑没有大显存GPU的朋友,推荐安装1.5b的。

这版尺寸,即使是无GPU的普通电脑也能流畅运行。

我们进行deepseek详细版本页面,复制命令


打开电脑cmd命令窗口

输入安装命令:

ollama pull deepseek-r1:1.5b

大约等10分钟左右的时间

出现success,则已经安装完成



3、使用及验证

安装完成后,我们来使用,验证一下效果

在cmd命令窗口输入


ollama run deepseek-r1:1.5b

出现 Send a message,这个就是输入问题的地方

我们可以直接在这里提问

比如提问:“学习编程方面,我们该如何学习,请列出5个学习的方法”

OK,可以看到本地模型部署可以使用!


2. CodeGPT插件安装

安装CodeGPT插件:

打开PyCharm,File->Settings->Plugins,搜索“CodeGPT”,点击安装。

点击【Install】时,提示Third-Party Plugins Notice,【Accept】即可

安装完成后,点击【OK】,退出Settings界面

最后需要重新启动Pycharm(可能有的环境不需要重启,但建议最好是重启一下)

重启完成后,在编辑器左侧会出现CodeGPT图标

CodeGPT图标可以移动位置的,小编默认是在左上侧,如果有朋友不习惯的,可以右击图标,自定义位置。




CodeGPT插件配置

在CodeGPT界面,首先需要登录一下,小编是用的Github号直接关联登录的(也可以Google,根据自己的情况而定)

登录成功后,就可以进行配置本地模型了

点击【Claude-3.5-Sonnet】

选择【Local LLMs】,就可以看到本地下载的deepseek-r1:1.5b模型了,由于是本地已经部署好了,所以这里默认显示出来了!

接着点击【deepseek-r1:1.5b】

就可以进入以deepseek-r1:1.5b模型的提问对话界面了

很简单,到这里PyCharm已经成功接入本地deepseek模型,接下来我们就可以使用它了!



PyCharm中deepseek的使用


我们从编写指令 和 代码调试,了解如何使用。

1. 编写指令

请编写一个函数,传参是一个列表


1、如果列表长度小于等于3,那么就直接存入另一个列表中,返回格式[[1,2,3]];


2、如果列表长度大于3,那么就将列表中每三个元素存入一个列表,最终存入一个大列表中,返回格式[[1,2,3],[4,5,6]]

将指令写入,回车,等待回复

如下:

本地deepseek回复,也是比较详细的,这里面除了自动生成的代码、逻辑思路、解释,还有 测试案例,让研发过程更加方便和快速了!

小编只截取代码的部分,看一下效果

是不是很方便?结合前期的 API 形式的,这里又多了一个辅助工具


2. 代码调试

我们将代码导入到py文件中,点击【Insert code】即可,相当方便!

我们将函数和测试案例都导入到py文件中,验证一下结果

def process_list(lst):
    if len(lst) <= 3:
        return [[1, 2, 3]]
    else:
        result = []
        for i in range(0, len(lst), 3):
            sub_lst = lst[i:i+3]
            result.append(sub_lst)
        return result




# 测试用例1:列表长度为3
print(process_list([1, 2, 3]))  # 输出 [[1, 2, 3]]


# 测试用例2:列表长度大于3
lst = [1, 2, 3, 4, 5, 6]
print(process_list(lst))       # 输出 [[1, 2, 3], [4, 5, 6]]

执行,结果如下:

这个结果与我们期望的需求一致!


总结


deepseek模型是本地部署的,不会产生额外的费用,PyCharm通过CodeGPT插件接入本地模型,继上次Continue插件后,又算一个无缝结合,配置很简单。


这个就是通过PyCharm的Continue插件,API_Key的方式,有兴趣的可以了解一下。

相关推荐

如何在Office 中编辑 PDF?附详细化步骤

PDF很受欢迎,因为它能在不同的设备和操作系统上仍然保持原有格式。但是,这也意味着直接更改PDF文件比其他格式更难更复杂。值得庆幸的是,Microsoftoffice和UPDF帮你解决这一难题。一...

我的 Windows 装机必备软件清单

今天给大家分享下我的装机必备软件,都是用了好多年的软件神器。靠谱、好用、无广告,Windows电脑必备软件,收藏这一篇就够了!01.浏览器王者:Chromehttps://www.google.c...

Docnet Core 是一个轻量级、高性能的 .NET PDF 操作库

DocnetCore介绍DocnetCore是一个轻量级、高性能的.NETPDF操作库,依托于PDFium渲染引擎,提供强大的PDF文档解析、渲染、操作等功能。它完全支持.NET...

分享三款好用的PDF编辑软件,轻松处理PDF

作为一名需要经常和PDF文件打交道的工作者,我来分享一下几款好用的PDF编辑软件,并详细分析了它们的优缺点,希望能帮你找到合适的工具。1.AdobeAcrobatDC作为PDF格式的发明者,Ado...

PDF文档创建工具软件:novaPDF OEM 11.9 Build 432 for Windows

novaPDFOEM是一款实用高效的软件,从头开始设计,让您尽可能轻松地在应用程序中添加PDF打印功能。换句话说,这个实用程序是专门为应用程序开发人员设计的,可以直接在程序安装程序中集成为PDF打印...

线性表顺序存储结构求集合的并,交,补,差(源代码附上 超详细)

一:算法分析1)用数组A,B,C,E表示集合。假定A={1,3,4,5,6,7,9,10},  B={2,,3,4,7,8,10},E={1,2,3,4,5,6,7,8,9,10},  输入数组A...

分享一套SpringBoot开发博客系统源码,包含完整开发文档和视频

基本信息项目名称:eblog摘要:eblog是一个基于Springboot2.1.2开发的博客学习项目,为了让项目融合更多的知识点,达到学习目的,编写了详细的从0到1开发文档。主要学习包括:自定义Fr...

通达信指标合集〔源码齐全〕

很多朋友问到我哪款指标好用,这里我说一下,之所以有很多不同的指标是因为我们在针对不同的盘面情况的时候使用的指标是不同的,我给到的指标一般来讲就目前的环境来讲都是比较适合的,今天我就把我平时自己常用的指...

巅峰对决!Spring Boot VS .NET 6

SpringBoot和ASP.NETCore都是企业中流行的Web框架,对于喜欢C#的人会使用ASP.NETCore,而对于Java或Kotlin等基于JVM的语...

在asp.net core 中控制访问权限的方法

Intro#由于项目需要,需要在基于asp.netmvc的Web项目框架中做权限的控制,于是才有了这个权限控制组件,最初只是支持netframework,后来dotnetcore2.0...

ASP.NET是否无生存之地?

ASP.NET,这个已经很久的技术,总觉得已经被时代淘汰,我们公司是一个10人小公司,几个十年十五年的项目还是用ASP.NET开发的。这两年由于客户的需求变化,我们公司也顺势开始对这些项目重新开发,改...

Spring Boot + Vue.js 实现前后端分离(附源码)

作者:梁小生0101链接:juejin.im/post/5c622fb5e51d457f9f2c2381SpringBoot+Vue.js前后端涉及基本概念介绍,搭建记录,本文会列举出用到环...

ASP.NET Core 中的 Mapster 使用入门教程

在本文中,我们将学习如何在ASP.NETCore应用程序中使用Mapster。首先,我们将了解Mapster是什么以及如何将其安装到.NETCore应用程序中。然后,我们将在使用...

Asp.net常用方法及request和response-a

asp.net教程asp.net常用方法:1、Request.UrlReferrer请求的来源,可以根据这个判断从百度搜的哪个关键词、防下载盗链、防图片盗链,可以伪造(比如迅雷)。(使用全局一般处理...

ASP.NET Core使用功能开关控制路由访问

前言在前面的文章,我们介绍了使用Middleware有条件地允许访问路由(《ASP.NETCore使用Middleware有条件地允许访问路由》)。而对于一些试验性的功能,我们并不希望用密码去控制是...