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

简介: 本文介绍了一种基于云效平台和DeepSeek的AI智能代码评审解决方案。通过云效代码管理Codeup、流水线Flow和DeepSeek大模型,企业可快速实现自动化代码评审。具体步骤包括:创建云效组织并获取API令牌、配置百炼APIKey、开发自定义Flow步骤调用大模型、创建示例代码库和流水线,并通过合并请求触发智能评审。最终,评审结果将自动回写到Codeup中,帮助开发者提升代码质量。

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

方案简介

云效流水线Flow提供了灵活的集成机制,企业可以在云效Flow内开发一个自定义步骤来调用DeepSeek等大模型,对云效Codeup提交的代码评审进行智能评审,并通过云效的API,将这些评审意见回写到合并请求中。
同时,结合云效流水线Flow的能力还可以对提交的代码进行单元测试、代码扫描等任务,并将这些结果一并展示回云效Codeup的提交历史中,反馈每个commit的代码质量状态。
1.jpg

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

实现步骤

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

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

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

2、创建百炼APIKey

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

5.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添加后缀。
第4.png

由于步骤名称是全局唯一的,因此需要添加“组织ID”的后缀。
组织ID获取路径:点击云效页面右上角头像 -> 管理后台,打开后台管理页面,在其中找到“组织ID”。
6.png

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

flow-cli step publish --auto-version

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

步骤发布后,访问https://flow.aliyun.com/,在步骤管理-组织步骤中可以看到MergeRequestLLMReviewer 步骤,即表示步骤发布成功。如果你看不到步骤管理菜单项,是因为你当前账号没有步骤管理的权限,可以切换为管理员账号或者让管理员赋予你步骤管理的权限。

7.png

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

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

5、创建流水线

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

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

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

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

6、创建合并请求

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

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

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

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

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

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

目录
相关文章
|
人工智能 自然语言处理 Devops
云效 AI 智能代码评审体验指南
云效AI智能代码评审正式上线!在合并请求时自动分析代码,精准识别问题,提升交付效率与质量。支持自定义规则、多语言评审,助力研发效能升级。立即体验AI驱动的代码评审革新,让AI成为你的代码质量伙伴!
523 7
|
4月前
|
人工智能 自然语言处理 算法
【2025云栖大会】AI 搜索智能探索:揭秘如何让搜索“有大脑”
2025云栖大会上,阿里云高级技术专家徐光伟在云栖大会揭秘 Agentic Search 技术,涵盖低维向量模型、多模态检索、NL2SQL及DeepSearch/Research智能体系统。未来,“AI搜索已从‘信息匹配’迈向‘智能决策’,阿里云将持续通过技术创新与产品化能力,为企业构建下一代智能信息获取系统。”
574 9
|
4月前
|
人工智能 测试技术 API
构建AI智能体:二、DeepSeek的Ollama部署FastAPI封装调用
本文介绍如何通过Ollama本地部署DeepSeek大模型,结合FastAPI实现API接口调用。涵盖Ollama安装、路径迁移、模型下载运行及REST API封装全过程,助力快速构建可扩展的AI应用服务。
1281 6
|
4月前
|
机器学习/深度学习 人工智能 算法
用于实验室智能识别的目标检测数据集(2500张图片已划分、已标注) | AI训练适用于目标检测任务
本数据集包含2500张已标注实验室设备图片,涵盖空调、灭火器、显示器等10类常见设备,适用于YOLO等目标检测模型训练。数据多样、标注规范,支持智能巡检、设备管理与科研教学,助力AI赋能智慧实验室建设。
用于实验室智能识别的目标检测数据集(2500张图片已划分、已标注) | AI训练适用于目标检测任务
|
敏捷开发 缓存 前端开发
阿里云云效产品使用合集之前端打包时npm安装卡住一般是什么导致的
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
敏捷开发 弹性计算 持续交付
阿里云云效产品使用合集之同一个主机部署是否支持下载多个制品
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
敏捷开发 监控 Java
阿里云云效产品使用合集之Codeup WebIDE环境下,如何使用通义灵码
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
敏捷开发 测试技术 持续交付
阿里云云效产品使用合集之如何进行大文件的迁移
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
敏捷开发 安全 测试技术
阿里云云效产品使用合集之如何在甘特图视图中看到负责人信息
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。