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
参考链接
本文作者:DECHIN
本文链接:https://www.cnblogs.com/dechinphy/p/18722403/cursor
版权声明:本作品采用CC BY-NC-SA 4.0许可协议进行许可。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
2024-02-19 MindSponge分子动力学模拟——定义Collective Variables(2024.02)