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

用了Cline和华为云的大模型,再也回不去了

这两年AI火热,受影响最大的还是程序员群体,因为编程语言是高度形式化的,完全可以用BNF等形式精确地定义,不像自然语言那样,容易出现歧义。另外开源是软件界的潮流,GitHub上有海量的开源代码可供AI来训练,两者叠加,让AI在编程这一块儿表现非常优异。

比如Cline就是一个开源的AI助手,深度集成在VS Code当中,通过调用大模型API,为程序员提供了极佳的开发体验。但是国外大模型的API价格高昂,用起来肉疼,很难畅快使用。

幸好国产的DeepSeek横空出世,将Token的价格打到了极低的程度,我们完全可以把Cline和DeepSeek结合起来,打造一个属于自己的代码编辑器。

DeepSeek自己部署有难度,最好去找云厂商,我最近用的是华为云的ModelArts Studio(MaaS),它不但部署了满血版的DeepSeek,还提供了两百万的Token免费使用,非常划算。

让Cline接入MaaS

接入的过程非常简单,主要是三步:(1)创建API Key,(2)领取免费的DeepSeek 额度,(3)在Cline中配置DeepSeek

1.创建API Key

登录MaaS控制台: https://console.huaweicloud.com/modelarts/?locale=zh-cn&region=cn-southwest-2#/model-studio/homepage

从左侧的API Key管理进入,创建一个新的API Key。

需要注意的是:务必复制保存密钥,单击“关闭”后将无法再次查看密钥。

2.领取免费DeepSeek额度

从“模型推理”菜单就可以领取免费的额度:

然后点击“调用说明”,就能看到模型名称和API地址。

注意:API地址要去掉尾部的/chat/completions,然后复制下备用

3.在Cline中配置

在VS Code中安装Cline非常简单,搜索“Cline”插件,直接安装即可。

进入Cline的Setting界面,API Provider选择“OpenAI Compatible”,Base URL填从华为云MaaS平台中复制的那个API地址,注意url最后没有/chat/completions。

API Key填入华为云MaaS平台中的API Key,最后的Model ID 填“DeepSeek-R1”,点击Done 就完成了,就是这么简单。

使用Cline

点击VS Code左边栏的Cline图标,就可以使用了,可以看到,我们已经使用了华为云MaaS平台的DeepSeek-R1。

点击那个@符号可以添加上下文,支持文件,文件夹,终端,问题等各种领域。

1.解释代码

我找了一些10年前写的代码,让它分析一下:

它形成了API Request,把相关的信息发给了华为云MaaS的DeepSeek服务

很快,结果就出来了,分析得非常精准,看出了代码是Java多线程下载,使用了观察者模式,网络协议可扩展,支持并发下载,断点续传,甚至“猜”出了这是一段教学代码,还画了个图,效果好得出乎意料

2.自然语言生成代码

接下来,我要求它用Python实现一个带GUI的计算器:

很快,它再次生成API Requst,发给华为云MaaS的DeepSeek服务,很快代码就生成了,我只要点击“Save”即可

然后,它贴心地提醒我运行:

运行起来是这个效果,还真不错,

接下来我要求它“需要支持连续运算,例如3+5*2,注意优先级。把界面再优化一下,改成Windows计算器的风格”,Cline调用MaaS以后修改了代码。

最后的界面成了这样扁平的风格,真是不错:

3.重构代码

程序员经常会遇到烂代码,读起来痛苦,改起来麻烦,这时候就可以让Cline来重构了。

像这样的代码,就存在”参数列表过长,未封装业务概念(Customer/Item对象缺失),直接用System.out输出”等问题。

让Cline调用华为云MaaS的DeepSeek来分析一下,给出的结果是这样的:

然后它建议把代码改成这个样子,做得相当不错:

4.写单元测试

写单元测试对程序员来说是一件痛苦的事情,因为不能直接产生业务价值,还得考虑各种各样的情况,所以大家都不愿意写,现在有了Cline 和 MaaS,完全可以交给AI来写了。

比如这个类在计算价格的时候包含几种情况:

Cline就可以轻松地把单元测试给写出来,把各种情况和边界条件都给覆盖到了:

除了上面介绍的功能之外,通过结合Cline和MaaS,AI编程工具可以做的事情还有非常多,例如“把错误消息扔给它,让它找到Bug并且Fix”,“帮助写文档”等等,这里就不再一一展示了。

总结

一路使用下来,我发现华为云的MaaS平台中的DeepSeek系列模型非常顺畅和稳定,毕竟它基于华为云昇腾云服务做了全栈优化适配,达到了全球高端GPU部署模型的效果,提供了生产级的服务能力。

Cline+MaaS真是强强联合,提供了非常好的编程体验,效果不亚于一些著名AI IDE。尤其是MaaS平台提供的两百万免费Token ,实在是太香了。

强烈建议大家都来尝试一下,体验一下AI时代编程的乐趣:  

DeepSeek应用专场-华为云200万Token限时免费体验DeepSeek,支持知识库和联网搜索https://activity.huaweicloud.com/maas-ds.html?utm_source=shequn&utm_medium=pr-cn&utm_campaign=xinchun&utm_content=maas-ds

对了,最近大模型应用开发平台很流行,开源的Dify非常火爆,让每个人都可以开发AI智能体和应用,如果公司想通过Dify构建企业级AI Agent业务应用,对内对外提供服务,建议考虑下华为云的Dify部署方案。

Dify官方默认的部署方式为单台虚拟机部署,应用涉及10个容器,包含数据库、缓存、向量数据库等均为单节点部署,存在可靠性、性能及稳定性等隐患,采用华为云原生高可用部署方案,通过关键组件的替换和调优,增加高可用和主备方式,提升可靠性同时,极大的增强Dify性能,有效应对Dify高性能、高可靠使用需求,满足企业级业务快速上线需求。华为云一键部署的方式,实际操作下来,3分钟就可以搞定企业级Dify平台,非常方便。

相关文章:

用了Cline和华为云的大模型,再也回不去了

这两年AI火热,受影响最大的还是程序员群体,因为编程语言是高度形式化的,完全可以用BNF等形式精确地定义,不像自然语言那样,容易出现歧义。另外开源是软件界的潮流,GitHub上有海量的开源代码可供AI来训练&am…...

解码软件需求的三个维度:从满足基础到创造惊喜

在软件开发的世界里,用户需求就像一张复杂的地图,指引着产品前进的方向。但并非所有需求都能带来同样的价值——有些是产品生存的“氧气”,有些是吸引用户的“磁石”,还有一些则是让人眼前一亮的“魔法”。如何区分它们&#xff1…...

<table>内有两行<tr>,第一行设定高度为60,剩余第二行,和右侧元素高度补齐。

实现 <table> 内第一行高度设定为 60px&#xff0c;第二行和右侧元素高度补齐的效果&#xff0c;你可以通过 CSS 样式来控制。示例&#xff1a; 为第一行 <tr> 设置固定高度 60px。对于右侧元素&#xff0c;假设它是一个 <div> 或者其他容器&#xff0c;将其…...

详细解析格式化消息框的代码

书籍&#xff1a;《windows程序设计(第五版)》的开始 环境&#xff1a;visual studio 2022 内容&#xff1a;格式化消息框 说明&#xff1a;以下内容大部分来自腾讯元宝。 封装MessageBoxPrintf 在MessageBoxPrintf()中处理可变参数&#xff0c;通过va_list机制&#xff0c…...

过往记录系列 篇四:年报月行情历史梳理

文章目录 系列文章市场整体走势板块表现资金面与成交量市场风格系列文章 过往记录系列 篇一:牛市板块轮动顺序梳理 过往记录系列 篇二:新年1月份(至春节前)行情历史梳理 过往记录系列 篇三:春节行情历史梳理 市场整体走势 整体趋势:震荡分化,先扬后抑 上涨概率约40%:…...

Jetson Nano 三个版本(B01 4GB、Orin 4GB、Orin 8GB)本地部署Deepseek等大模型的测评

Jetson Nano三个版本&#xff08;B01 GB、Orin 4GB、Orin 8GB&#xff09;本地部署Deepseek等大模型的测评 一、为什么要在终端设备部署大模型&#xff1f;二、 Jetson Nano推理大模型时计算资源占用情况分析为什么测试Jetson Nano?三款Jetson Nano芯片简介 三、大模型推理实验…...

基于Netty实现高性能HTTP服务的架构解析

一、HTTP协议基础 1.1 HTTP协议概述 HTTP&#xff08;HyperText Transfer Protocol&#xff09;作为现代Web应用的基石&#xff0c;是基于TCP/IP的应用层协议&#xff0c;具有以下核心特性&#xff1a; 请求/响应模型&#xff1a;客户端发起请求&#xff0c;服务端返回响应无…...

mac calDAV 日历交互

安装Bakal docker https://sabre.io/dav/building-a-caldav-client/ 在Bakal服务器上注册账户 http://localhost:8080/admin/?/users/calendars/user/1/ 在日历端登录账户&#xff1a; Server: http://127.0.0.1:8080/dav.php Server Path: /dav.php/principals/lion No e…...

【面试问题】Java 接口与抽象类的区别

引言 在 Java 面向对象编程中&#xff0c;接口&#xff08;Interface&#xff09;和抽象类&#xff08;Abstract Class&#xff09;是两个重要的抽象工具。它们都能定义未实现的方法&#xff0c;但设计目标和使用场景截然不同。本文将通过语法、特性和实际案例&#xff0c;深入…...

centos【rockylinux】安装【supervisor】的注意事项【完整版】

重新加载 systemd 配置推荐使用pip的方式安装 pip install supervisor 第二步&#xff1a;添加supervisord.conf配置文件 [unix_http_server] file/tmp/supervisor.sock ; UNIX socket 文件&#xff0c;supervisorctl 会使用 ;chmod0700 ; socket 文件的…...

数据库监控:确保业务连续性和用户体验

在数字化时代&#xff0c;数据库作为企业的数据心脏&#xff0c;其重要性不言而喻。无论是交易系统、客户关系管理系统&#xff0c;还是数据分析平台&#xff0c;都离不开数据库的支撑。然而&#xff0c;数据库的运行状态和性能直接影响着企业的业务连续性和用户体验。因此&…...

Deflate和Gzip压缩在HTTP响应中的作用与实现

1. 引言 HTTP响应压缩是一种优化技术,用于减少传输的数据量,从而提高网页加载速度和带宽利用率。Deflate和Gzip是两种常用的压缩算法,广泛应用于HTTP协议中。 2. Deflate与Gzip概述 2.1 Deflate算法简介 Deflate是一种无损数据压缩算法,结合了LZ77算法和哈夫曼编码。它…...

PointVLA:将 3D 世界注入视觉-语言-动作模型

25年3月来自美的集团、上海大学和华东师大的论文“PointVLA: Injecting the 3D World into Vision-Language-Action Models”。 视觉-语言-动作 (VLA) 模型利用大规模 2D 视觉语言预训练&#xff0c;在机器人任务方面表现出色&#xff0c;但它们对 RGB 图像的依赖&#xff0c;…...

sql server数据迁移,springboot搭建开发环境遇到的问题及解决方案

最近搭建springboot项目开发环境&#xff0c;数据库连的是sql server&#xff0c;遇到许多问题在此记录一下。 1、sql server安装教程 参考&#xff1a;https://www.bilibili.com/opus/944736210624970769 2、sql server导出、导入数据库 参考&#xff1a;https://blog.csd…...

SpringBoot-MVC配置类与 Controller 的扫描

文章目录 前言一、自动配置类位置二、自动配置类解析2.1 WebMvcAutoConfiguration2.1.1 EnableWebMvcConfiguration 2.2 DispatcherServletAutoConfiguration 三、RequestMapping 的扫描过程3.1 RequestMappingHandlerMapping#afterPropertiesSet3.2 RequestMappingHandlerMapp…...

企业年度经营计划制定与管理方法论(124页PPT)(文末有下载方式)

资料解读&#xff1a;企业年度经营计划制定与管理方法论 详细资料请看本解读文章的最后内容。 在企业的发展进程中&#xff0c;年度经营计划的制定与管理至关重要&#xff0c;它犹如企业前行的导航图&#xff0c;指引着企业在复杂多变的市场环境中稳健发展。这份《企业年度经营…...

基于微信小程序的充电桩管理系统

一、开发背景 在开发充电汽车管理系统之前&#xff0c;深入的需求分析至关重要。我们要充分了解不同用户群体的需求&#xff0c;比如私家车主希望充电过程便捷、高效、安全&#xff0c;能够实时查看充电状态和费用明细&#xff1b;出租车、网约车司机则更注重充电速度和充电桩…...

算法模型从入门到起飞系列——递归(探索自我重复的奇妙之旅)

文章目录 前言一、递归本质1.1 递归的要素1.2 递归特点 二、递归&迭代2.1 递归&迭代比较2.2 递归&迭代如何实现相同功能2.2.1 递归实现2.2.2 迭代实现2.2.3 性能对比 三、优雅的递归理解3.1 阶乘计算分解3.2 [DFS](https://blog.csdn.net/qq_38315952/article/deta…...

YOLO+OpenCV强强联手:高精度跌倒检测技术实战解析

目录 关于摔倒检测 摔倒检测核心逻辑 摔倒检测:联合多种逻辑判断 原理详细解释 1. 导入必要的库 2. 定义函数和关键点连接关系 3. 筛选有效关键点并计算边界框 4. 计算人体上下半身中心点和角度 5. 绘制关键点和连接线 6. 绘制角度标注和检测跌倒 7. 返回处理后的图…...

麒麟银河V10服务器RabbitMQ安装

安装步骤 rabbitMQ依赖于erlang的环境&#xff0c;所以需要先安装erlang&#xff0c;erlang跟rabbitMQ是有版本之间的关联关系的&#xff0c;根据对应的版本去安装下载&#xff0c;保证少出问题。 可以通过官网来查看RabbitMQ和erlang之间的版本对应关系 rabbitMQ和erlang之间…...

‌React Hooks主要解决什么

1、‌状态逻辑复用困难 在Hooks出现之前&#xff0c;React组件间的状态逻辑复用主要依赖高阶组件&#xff08;HOC&#xff09;和 render props。 Hooks 通过允许创建自定义Hook&#xff0c;使得状态逻辑的复用变得简单而直接‌ 缺点 HOC 可能导致 props 命名冲突render props …...

extern和static的作用(有例子)

一、extern extern的作用 声明而非定义 extern告诉编译器某个变量或函数存在于其他地方&#xff08;通常是另一个源文件&#xff09;&#xff0c;当前只是声明它&#xff0c;而不是定义它&#xff08;分配内存&#xff09;。定义只能在一个地方出现&#xff0c;而声明可以多次…...

基于C#的以太网通讯实现:TcpClient异步通讯详解

基于C#的以太网通讯实现&#xff1a;TcpClient异步通讯详解 在现代工业控制和物联网应用中&#xff0c;以太网通讯是一种常见的数据传输方式。本文将介绍如何使用C#实现基于TCP协议的以太网通讯&#xff0c;并通过异步编程提高通讯效率。我们将使用TcpClient类来实现客户端与服…...

【8】分块学习笔记

前言 分块是一种重要的高级数据结构思想&#xff0c;核心为大段维护&#xff0c;局部朴素。 顺带一提&#xff0c;由于个人技术水平,本篇博客的难度并没有标题所述的 8 8 8 级。分块还是很难的。 分块 分块&#xff0c;是“优雅的暴力”。 分块的基本思想是把数据分为若干…...

Deployment声明式更新与应用式更新对比

目录 1. 声明式更新 特点 相关命令 示例 2. 命令式更新 特点 相关命令 示例 3. 声明式更新 vs 命令式更新 4. 声明式更新的优势 5. 命令式更新的适用场景 6. 总结 在 Kubernetes 中&#xff0c;声明式更新和命令式更新是两种不同的资源管理方式。它们分别通过不同的…...

【蓝桥杯】省赛:分糖果(思维/模拟)

思路 数据很小&#xff0c;直接暴力模拟。 有意思的是一个列表如何当成循环队列写&#xff1f;可以arr[(i1)%n]让他右边超出时自动回到开头。 code import os import sysn int(input()) arr list(map(int,input().split()))ans 0 while 1:arr1 arr.copy()for i in range…...

在 Go 语言中生成单元测试报告

在 Go 语言中生成单元测试报告&#xff0c;你可以使用 go test 命令配合一些参数来实现。以下是一些常用的方法和步骤&#xff1a; 基本测试&#xff1a;首先&#xff0c;确保你的项目已经编写了测试文件&#xff08;通常以 _test.go 结尾&#xff09;。然后&#xff0c;在项目…...

Metasploit Framework(MSF)使用教程与命令详解

Metasploit Framework&#xff08;简称MSF&#xff09;是一款功能强大的开源渗透测试工具&#xff0c;广泛应用于网络安全领域。它集成了大量的漏洞利用模块&#xff08;exploits&#xff09;、辅助模块&#xff08;auxiliary&#xff09;和载荷&#xff08;payloads&#xff0…...

进程间通信(1)——管道

1. 进程间通信简介 进程间通信&#xff08;Inter-Process Communication&#xff0c;IPC&#xff09;是指不同进程之间交换数据的机制。由于进程具有独立的地址空间&#xff0c;它们无法直接访问彼此的数据&#xff0c;因此需要IPC机制来实现信息共享、数据传递或同步操作。 …...

python基础8 单元测试

通过前面的7个章节&#xff0c;作者学习了python的各项基础知识&#xff0c;也学习了python的编译和执行。但在实际环境上&#xff0c;我们需要验证我们的代码功能符合我们的设计预期&#xff0c;所以需要结合python的单元测试类&#xff0c;编写单元测试代码。 Python有一个内…...