如何在云效中使用 DeepSeek 等大模型实现 AI 智能评审

本文涉及的产品
云效 DevOps 流水线,基础版人数 不受限
云效 DevOps 项目协作,基础版人数 不受限
云效 DevOps 制品仓库,基础版人数 不受限
简介: 除了代码智能补全外,AI 代码智能评审是 DevOps 领域受开发者广泛关注的另一场景了。本文,我们将结合云效代码管理 Codeup、流水线 Flow 和 DeepSeek,分享一种企业可快速自主接入,即可实现的 AI 智能评审解决方案,希望给大家一些启发。

作者:崔力强、黄博文


除了代码智能补全外,AI 代码智能评审是 DevOps 领域受开发者广泛关注的另一场景了。本文,我们将结合云效代码管理 Codeup、流水线 Flow 和 DeepSeek,分享一种企业可快速自主接入,即可实现的 AI 智能评审解决方案,希望给大家一些启发。


方案简介


云效流水线 Flow 提供了灵活的集成机制,企业可以在云效 Flow 内开发一个自定义步骤来调用 DeepSeek 等大模型,对云效 Codeup 提交的代码评审进行智能评审,并通过云效的 API,将这些评审意见回写到合并请求中。


同时,结合云效流水线 Flow 的能力还可以对提交的代码进行单元测试、代码扫描等任务,并将这些结果一并展示回云效 Codeup 的提交历史中,反馈每个 commit 的代码质量状态。


image.png


下面我们将会一步步指引您如何实现这个自定义的步骤,并配置流水线来实现代码的智能评审。


实现步骤


1、创建云效组织并获取访问令牌


如您没有云效组织,可访问 https://devops.aliyun.com,并创建您自己的组织。为了能够让大模型调用云效 API[1]获取合并请求详情,并把 Review 的结果写到合并请求中,我们需要创建一个云效 API 的访问令牌。点击右上角的头像-个人设置-新建令牌,并按照下图中设置令牌的权限:代码比较设置为只读,合并请求设置为读写。



image.png

image.png


创建好之后,将令牌保存下来。


image.png


2、创建百炼 APIKey


前往阿里云大模型服务平台百炼,创建 APIKey,保存方便后续调用。


image.png

image.png


🔔 注:百炼为新用户提供了千万免费的 tokens,大家可以放心使用。


3、创建 Flow 自定义步骤调用大模型能力


首先,安装 flow-cli 的最新版本。(需要本地有安装 nodejs。)


# 安装flow-cli最新版本
npm install -g @flow-step/flow-cli --registry=https://registry.npmmirror.com


运行 flow-cli 的登录命令,选择你刚才创建的云效组织。


flow-cli login


https://atomgit.com/flow-example/yunxiao-mr-review-step 克隆代码到本地,修改其中的 step.yaml 文件,修改第 4~5 行,为步骤 id 和 name 添加后缀。


image.png


由于步骤名称是全局唯一的,因此需要添加“组织 ID”的后缀。


组织 IP 获取路径:点击云效页面右上角头像 -> 管理后台,打开后台管理页面,在其中找到“组织 ID”。


image.png


命令行切换到刚才克隆代码的代码库的根目录,执行下面的命令以发布步骤。


flow-cli step publish --auto-version


🔔 注:flow-cli 的详细操作可参见文档:https://help.aliyun.com/zh/yunxiao/user-guide/use-flow-cli-to-customize-development-steps


步骤发布后,访问 flow.aliyun.com,在步骤管理-组织步骤中可以看到 MergeRequestLLMReviewer 步骤,即表示步骤发布成功。


image.png


4、创建进行代码 Review 的示例代码库


访问 codeup.aliyun.com,导入代码库 https://atomgit.com/flow-example/CodeReviewSampleCode.git 到云效 Codeup 中。


image.png


5、创建流水线


在 flow.aliyun.com 中创建流水线,模板选择【Nodejs 测试、构建】模版。


image.png


代码源选择刚才导入的示例代码库,并开启代码源触发,设置触发条件为【合并请求 新建/更新】。


image.png


因为这里我们只做 CodeReview,无需构建,所以我们删除掉模板中的 Nodejs 构建任务。我们添加一个空任务,并在空任务中添加刚才我们创建的自定义步骤,以便调用大模型能力做 CodeReview。


image.png


你可以按需选择模型,支持 deepseek-r1、deepseek-v3、qwen-max,并填入云效 token(前面创建的个人访问令牌)和百炼 APIkey。不过为了安全起见,我们不建议您直接填入这些信息,最好的方式是创建 2 个私密环境变量:${YUNXIAO_TOKEN}、 ${BAILIAN_APIKEY},在环境变量中中配置刚才的私密信息。


image.png

image.png


6、创建合并请求


在前面导入的 CodeReview 示例代码库中,创建合并请求,从 dev1 分支合并到 main 分支。


image.png


当合并请求被创建之后,进入云效 Flow,可以看到流水线被触发,该流水线会运行代码检查和单元测试,并且调用大模型进行智能评审。


image.png


查看自定义步骤的日志输出,可以看到大模型对代码评审的 diff 进行处理,并最终将结果回写到 Codeup 端。


image.png


在 Codeup 的代码评审侧可以看到回写的评审意见。


image.png


点击自动化检查标签可以看到流水线的代码扫描和单元测试结果。


image.png


以上即是方案的全部内容。


点击此处,体验完整流程,前 100 位可获得积木拼图、阿里云代码马克杯等实物奖品。


image.png


相关链接:


[1] 云效 API

https://help.aliyun.com/zh/yunxiao/developer-reference/api-reference-standard-proprietary/

相关实践学习
2分钟自动化部署2048小游戏到ECS
在短短2分钟内,即可实现2048小游戏的ECS自动化部署
SVN版本控制系统
SVN是现在软件开发之中的主流软件版本控制工具,在工作之中利用SVN可以有效的解决多人开发的代码管理问题,本课程将为读者讲解SVN服务器的配置以及基于MyEclipse的SVN客户端插件的配置与使用,并且在讲解之中着重讲解了冲突的产生于解决。
相关文章
|
8天前
|
人工智能 算法 API
多模态模型卷王诞生!InternVL3:上海AI Lab开源78B多模态大模型,支持图文视频全解析!
上海人工智能实验室开源的InternVL3系列多模态大语言模型,通过原生多模态预训练方法实现文本、图像、视频的统一处理,支持从1B到78B共7种参数规模。
138 6
多模态模型卷王诞生!InternVL3:上海AI Lab开源78B多模态大模型,支持图文视频全解析!
|
7天前
|
人工智能 自然语言处理 监控
基于DeepSeek R1改进的AI安全模型!MAI-DS-R1:微软开源AI安全卫士,敏感话题响应率高达99.3%
微软开源的MAI-DS-R1是基于DeepSeek R1改进的AI模型,通过后训练优化将敏感话题响应率提升至99.3%,同时将有害内容风险降低50%,保持原版推理能力并增强多语言支持。
121 3
基于DeepSeek R1改进的AI安全模型!MAI-DS-R1:微软开源AI安全卫士,敏感话题响应率高达99.3%
|
16天前
|
人工智能 搜索推荐 自然语言处理
大模型落地的关键:如何用 RAG 打造更智能的 AI 搜索——阿里云 AI 搜索开放平台
本文分享了大模型落地的关键:如何用阿里云 AI 搜索开放平台 打造更智能的 AI 搜索。
125 8
大模型落地的关键:如何用 RAG 打造更智能的 AI 搜索——阿里云 AI 搜索开放平台
|
3天前
|
人工智能 JavaScript 前端开发
领导给我3天时间汇总所有AI模块词条,结合DeepSeek,20分钟就搞定了。
本文分享了一次利用AI工具提升工作效率的实际案例。作者接到任务,需在3天内梳理公司AI模块的所有词条并以增量形式提供给项目组。为高效完成任务,作者借助DeepSeek编写了三个Node.js脚本:第一个脚本扫描所有/ai目录下的文件,提取符合“zxy.xxx”格式的词条;第二个脚本对比目标词条库与已提取的词条,生成过滤后的副本;第三个脚本将最终结果输出为Excel文档,满足领导需求。整个过程从十几分钟到二十分钟不等,大幅缩短了原本需要数天的工作量。此案例表明,在重复性工作中合理运用AI工具可显著提高效率。
|
15天前
|
人工智能 自然语言处理 Rust
【内附榜单】评估AI大模型的代码修复能力!Multi-SWE-bench:字节开源代码修复能力评估基准,覆盖7大主流编程语言
Multi-SWE-bench是首个覆盖Python外7种主流编程语言的代码修复基准,包含1632个真实GitHub问题样本,通过严格筛选与人工验证确保数据质量。
55 0
【内附榜单】评估AI大模型的代码修复能力!Multi-SWE-bench:字节开源代码修复能力评估基准,覆盖7大主流编程语言
|
3天前
|
人工智能 自然语言处理 安全
90.9K star!一键部署AI聊天界面,这个开源项目让大模型交互更简单!
"像使用微信一样操作大模型!Open WebUI 让AI对话从未如此简单"
|
12天前
|
存储 人工智能 Java
Spring AI与DeepSeek实战四:系统API调用
在AI应用开发中,工具调用是增强大模型能力的核心技术,通过让模型与外部API或工具交互,可实现实时信息检索(如天气查询、新闻获取)、系统操作(如创建任务、发送邮件)等功能;本文结合Spring AI与大模型,演示如何通过Tool Calling实现系统API调用,同时处理多轮对话中的会话记忆。
241 57
|
1天前
|
人工智能 测试技术 计算机视觉
让AI看懂3小时长视频!Eagle 2.5:英伟达推出8B视觉语言模型,长视频理解能力碾压72B大模型
Eagle 2.5是英伟达推出的8B参数视觉语言模型,通过创新训练策略在长视频和高分辨率图像理解任务中超越更大规模模型,支持512帧视频输入和多样化多模态任务。
49 10
让AI看懂3小时长视频!Eagle 2.5:英伟达推出8B视觉语言模型,长视频理解能力碾压72B大模型
|
9天前
|
人工智能 自然语言处理 搜索推荐
AI对话像真人!交交:上海交大推出全球首个口语对话情感大模型,支持多语言与实时音色克隆
上海交通大学推出的交交是全球首个纯学术界自研的口语对话情感大模型,具备多语言交流、方言理解、角色扮演和情感互动等能力,通过创新技术实现端到端语音对话和实时音色克隆。
90 14
AI对话像真人!交交:上海交大推出全球首个口语对话情感大模型,支持多语言与实时音色克隆
|
2天前
|
人工智能 自然语言处理 运维
让AI读懂K线图!ChatTS-14B:字节开源的时间序列理解和推理大模型,自然语言提问秒解趋势密码!
ChatTS-14B是字节跳动开源的时间序列专用大模型,基于Qwen2.5-14B微调优化,通过合成数据对齐技术显著提升分析能力,支持自然语言交互完成预测推理等复杂任务。
35 1
让AI读懂K线图!ChatTS-14B:字节开源的时间序列理解和推理大模型,自然语言提问秒解趋势密码!

相关产品

下一篇
oss创建bucket