DeepSeek智能编程
技术背景
DeepSeek开源之后,让大家意识到了即时是在自己硬件性能一般的本地环境,也能够部署和使用大语言模型,真正实现了大模型的“私有化”。而私有化大模型之后,自然是考虑生产力的私有化。例如,如何使用大模型作为一个工具来进行编程?本文将要介绍两种不同的人工智能编程方法。
Cursor的安装与使用
第一种方法,是使用Cursor来进行编程,是一个跟VSCode很像的IDE,优点是支持了很多模型的api,例如deepseek和o1-mini、o3这些,原生的为人工智能编程而设计。
Cursor安装
首先访问Cursor官网,下载适合自己本地平台的版本。我这里下载的是Windows版本,可以直接安装:
没有太多可以配置的选项:
按照自己的需求进行设置就好了:
Cursor基本使用
打开一个文件夹作为workspace:
创建一个测试py脚本,只需要输入一行注释:
这个时候下面的代码还是灰色的,只需要按一下TAB,就可以插入AI生成的代码:
也可以选择生成一些函数:
这里因为输入的指令可能不是很明确,导致函数没有输出,我们可以要求它输出一个排序之后的列表:
这样就有输出了,然后一样的,点击TAB键,就可以自动填入生成的代码:
甚至还自动生成了两个测试案例,这个对于需要单元测试的项目来说非常的友好。除了可以写代码之外,可以把项目作为输入的知识库,进行Chat,只需要使用快捷键ctrl+L即可:
可以看到这里的代码解读还是比较准确的,即使是作为一个源码阅读的辅助工具也是很棒的。
另外除了使用注释生成代码之外,我们还可以直接用ctrl+K快捷键,弹出代码需求窗口,直接把需求输入,就可以生成代码:
点击这个绿色按钮,代码就填入到光标位置了:
这里因为光标前有一个缩进,所以生成的代码块前默认加了一个缩进,自己根据需求调整下位置就可以了。
小结
Cursor的智能编程体验还是不错的,而且使用远程的API对于本地环境要求也不高。但是有个问题是似乎比较难配置本地的Ollama环境,找了一圈也没有找到相关的文档。所以如果是本地已经部署了Ollama环境的,可以优先查看下面章节要介绍的VSCode插件。
VSCode插件Continue
第二个要介绍的工具是VSCode里面的一个智能编程插件Continue。
安装与配置
直接在VSCode的插件商城里面搜Continue:
点击安装,然后就能在左侧显示一个Continue的图标:
可以在对话选项里面选择添加一个Chat Model:
如果配置了Ollama的环境,会显示出本地的相关模型:
运行前可以查看本地Ollama运行情况:
$ ollama ps
NAME ID SIZE PROCESSOR UNTIL
随便发送一个问题过去:
再次查看:
$ ollama ps
NAME ID SIZE PROCESSOR UNTIL
deepseek-r1:14b ea35dfe18182 12 GB 100% GPU 29 minutes from now
这里就是加载Ollama模型对话成功了。然后就会收到回复:
但是这里只是临时会话的配置,真正要做到DeepSeek智能编程,我们要找到Local with Ollama做一些额外的设置:
点击config file,进行配置,默认是这样的:
或者也可以从continue的设置里面找到配置文件的位置:
按照自己本地模型修改下代码:
这里关于Ollama的请求格式,可以参考其官网文档。
关于Continue插件的快捷键使用方法,点击设置按钮右边的三个点的按钮,可以查看:
接下来开始智能编程。
Continue与DeepSeek
我们可以先输入一个注释:
选中注释:
这里会提示你快捷键该怎么用,例如我们使用ctrl+L快捷键进入Chat模式,并告诉它我们需要生成代码:
点击接受:
新的代码就更新进来了。这次我们选中刚才生成的代码,快捷键使用ctrl+I启用编辑模式,然后告诉他我们要修改的内容:
自动生成的函数效果:
再补充一个Chat模式随机字符串生成的函数(要在对话框里面@你所需要修改的文件):
chat模式下生成的代码块有一个三角形,可以直接apply到你的python文件中:
测试AI生成代码的本地运行:
$ python3 test_chat.py
s!
小结
这里Continue插件使用的完全是本地Ollama环境中的DeepSeek开源蒸馏模型,可以很好的把本地LLM和Embedding模型应用到人工智能编程中。不过这样虽然隐私性较好,但效率和质量也会受限于本地的硬件条件。
总结概要
本文介绍了两种智能编程的方案,一种是使用Cursor结合远程API形式的智能化自动编程,另一种方案是VSCode插件结合本地部署的Ollama模型来进行智能编程。用户可以根据自己的需求来选择一种合适的交互方案,总体来说智能化、自动化的编程已经近在眼前了。
版权声明
本文首发链接为:https://www.cnblogs.com/dechinphy/p/cursor.html
作者ID:DechinPhy
更多原著文章:https://www.cnblogs.com/dechinphy/
请博主喝咖啡:https://www.cnblogs.com/dechinphy/gallery/image/379634.html
参考链接
- https://www.5dzone.com/posts/visual-studio-code中continue插件连接ollama的配置方法.html
- https://github.com/continuedev/continue/issues/3752
DeepSeek智能编程的更多相关文章
- aixcoder智能编程助手开发插件推荐
1. aixcoder安装使用 1.1. 介绍 1.1.1. 功能 智能代码提示她用强大的深度学习引擎,能给出更加精确的代码提示: 代码风格检查她有代码风格智能检查能力,帮助开发者改善代码质量: 编程 ...
- 准备踏入IT编程的学子们,你们第一门编程语言选谁? Are You Ready? Go!
Are You Ready? Go! ——第一门编程语言选谁? 金旭亮 说明: 这篇文章是专门针对大学低年级学生(和其他软件开发初学者)写的,如果你己经是研究生或本科高年级学生,请将这篇文章转发给你的 ...
- 人工智能都能写Java了!这款插件让你编程更轻松
最近在浏览技术社区,发现了一款 IDE 插件,利用人工智能技术帮助程序员高效写代码.节省开发时间,一下子勾起了我的好奇心. 下载之后,使用一番,确实蛮好的,可以有效提升编程效率. 这款插件叫:aixc ...
- CodeArts Snap:辅助你编程的神器
摘要:通过将自然语言转化为规范可阅读.无开源漏洞的安全编程语言,提升开发者编程效率,助力企业快速响应市场需求. 本文分享自华为云社区<华为云发布智能编程助手 CodeArts Snap!> ...
- 推荐一款基于 AI 开发的 IDE 插件,帮助提升编码效率
最近在浏览技术社区的时候,发现了一款神奇 IDE 插件,官网称可以利用 AI 帮助程序员写代码,一下子吸引了我的好奇心.赶紧下载下来使用一番,感觉确实蛮神奇,可以火速提升编程效率. 这款插件叫做 ai ...
- 自动编写Python程序的神器,Python 之父都发声力挺!
就在不久前,kite——那个能够自己编写python代码的AI,Python 之父 Guido van Rossum 使用之后,也发出了「really love」感叹,向大家墙裂推荐了这一高效工具 ...
- aiXcoder安装&使用
1.官网下载 https://www.aixcoder.com/#/setting 1.1介绍 1.2选择对应的下载版本 1.3安装&注册(需关闭IDEA) 安装完进行手机/邮箱注册,下载对应 ...
- 超全Python IDE武器库大总结,优缺点一目了然!
本文介绍了多个 Python IDE,并评价其优缺点.读者可以参考此文列举的 Python IDE 列表,选择适合自己的编辑器. 写 Python 代码最好的方式莫过于使用集成开发环境(IDE)了.它 ...
- SpringCloud微服务实战——搭建企业级开发框架(三十一):自定义MybatisPlus代码生成器实现前后端代码自动生成
理想的情况下,代码生成可以节省很多重复且没有技术含量的工作量,并且代码生成可以按照统一的代码规范和格式来生成代码,给日常的代码开发提供很大的帮助.但是,代码生成也有其局限性,当牵涉到复杂的业务逻辑 ...
- 字节跳动Web Infra发起 Modern.js 开源项目,打造现代 Web 工程体系
10 月 27 日举办的稀土开发者大会上,字节跳动 Web Infra 正式发起 Modern.js 开源项目,希望推动现代 Web 开发范式的普及,发展完整的现代 Web 工程体系,突破应用开发效率 ...
随机推荐
- 金仓数据库数据迁移实战:从MySQL到KES的顺利迁移
今天我们将开始实践金仓数据库的数据迁移功能.在此之前,我们一直使用的是简化版的 Docker 镜像,这个版本并没有集成可视化操作工具.因此,为了更方便地进行后续的操作,我们需要额外下载一个 Windo ...
- vue3 重置reactive数据
有一个formData数据字段,使用class创建一份初始数据与其对应,使用Object.assign进行重置 import { reactive } from 'vue' class InitFor ...
- HttpClientFacotry Part 4: 集成 Polly 处理瞬时失效
HttpClientFacotry Part 4: 集成 Polly 处理瞬时失效 原文地址:https://www.stevejgordon.co.uk/httpclientfactory-usin ...
- 程序员出海做 AI 工具:如何用 similarweb 找到最佳流量渠道?
如题,今天给大家带来实操的一个小教程.这里先抛出个问题:"做海外流量增长,如何为产品制定营销渠道?" 分享一个方法只需要 3 步,方法如下: 找到和你产品最接近的细分 Top 竞争 ...
- Springboot-actuator的常用endpoint的使用说明
目的 监控并管理应用程序监控:让我们去发现和了解程序的运行状况各种指标管理:比如说通过Actuator去做一个shutdown功能,通过访问一个特定的url去操作,默认是不开启的,另外 还可以在运行的 ...
- 波折重重:Linux实时系统Xenomai宕机问题的深度定位
目录 一 前言 二 背景 三 原因分析及措施 硬件原因 应用软件 操作系统 四 分析定位 转机 拨云见雾 irq计数 Schedstat coreclk 现象结论 五 原因一 六 原因二 七 解决 八 ...
- Qt/C++视频监控拉流显示/各种rtsp/rtmp/http视频流/摄像头采集/视频监控回放/录像存储
一.前言 本视频播放组件陆陆续续写了6年多,一直在持续更新迭代,视频监控行业客户端软件开发首要需求就是拉流显示,比如给定一个rtsp视频流地址,你需要在软件上显示实时画面,其次就是录像保存,再次就是一 ...
- Qt编写的项目作品19-图片及视频TCP/UDP网络传输
一.功能特点 多线程收发图片数据和解析图片数据,不卡主界面. 同时支持TCP和UDP两种模式,封装了TCP模式以及UDP模式的客户端类和服务端类. 图片传输客户端同时支持发送到多个服务端,可以作为一个 ...
- [转]分享几款微软官方Office卸载工具与使用方法
更换Office版本时,需要先卸载旧版Office,如果是卸载普通软件,我们只需在"控制面板"里点击"卸载"就能轻松实现,但这种方法对卸载Office 可能无效 ...
- [转]OpenCV三角测量重建triangulatePoints原理解析
opencv源代码注释 附上opencv三角测量函数的主要代码和注释 cvTriangulatePoints(CvMat* projMatr1, CvMat* projMatr2, CvMat* pr ...