启用和配置

介绍如何在 DevOps 环境中配置和使用 Code Review Agent 代码评审智能体。包括了了从部署智能体、大模型配置、设置模型访问参数、添加 Webhook、启用智能体以及测试验证的完整流程。

服务端配置

要使用 Code Review Agent,管理员首先需要在服务端添加可用的大模型API访问地址,并配置模型访问参数。当前支持的模型包括

  • GPT系列模型:支持 gpt-3.5-turbo-16kgpt-4gpt-4o,并支持使用 OpenAI 或者 Azure OpenAI 服务。
  • DeepSeek系列模型:支持 deepseek api服务deepseek v2 16b,并支持使用自建的模型API服务,包括使用Nvidia GPU或者华为晟腾910B等硬件平台。

有关模型部署和推理服务的更多信息,请联系部署实施人员。

配置大模型

默认模型为 gpt-3.5-turbo-16k,常用的模型还包括:gpt-4odeepseek/deepseek-chat ,如果需要使用其他模型,请联系部署实施人员来修改。

# pr_agent\settings\configuration.toml 
[config]
model="gpt-3.5-turbo-16k"
model_turbo="gpt-3.5-turbo-16k"
fallback_models=["gpt-3.5-turbo-16k"]

配置模型访问参数

以下是 在 .secrets.toml 中 Azure OpenAI 的配置示例:

[openai]
key = "<OpenAI API key>"
api_type = "azure" 
api_version = '2023-03-15-preview'  
api_base = "<endpoint url>"  
deployment_id = "<your deployment_id>"  

以下是 在 .secrets.toml 中 deepseek 的配置示例:

[openai]
key = "<model key>" 
api_base = "<model api endpoint>" 

DevOps 平台支持

Code Review Agent 代码评审智能体 支持多种 DevOps 平台,包括 Azure DevOps、GitLab 等。当前我们已经提供对 Azure DevOps 平台的的支持,对于GitLab 平台的支持正在适配中,末未正式支持后我们会补充这部分的文档。

Azure DevOps 配置

目前 Code Review Agent 代码评审智能体 已支持 Azure DevOps Servies和Azure DevOps Server的集成。 在使用前需要先配置好webhook, 目前使用到了两个webhook,一个是创建PR事件和提交PR Comment事件。

另外还需配置启用的 Azure DevOps 机构。

获取访问token

需要配置用于Code Review Agent 调用 Azure DevOps API 的 访问 token(pat)。

Azure DevOps 支持2种第三方服务认证方式,分别为:PAT 令牌 或 DefaultAzureCredential 认证(仅适用于Azure DevOps 在线服务)。

  • PAT 创建速度更快,并有内置的到期日期,,PAT需要附属于某个真实用户,需要用户对PAT的过期时间进行小心的维护,否则额很容易出现因为PAT过期而影响使用的情况。
  • 使用 DefaultAzureCredential,可以使用托管身份或服务主体,安全性更好,并且会为代理创建单独的 ADO 用户身份(通过 AAD);但创建过程复杂,而且仅适用于 Azure DevOps 在线服务)。

如果选择了 PAT,您可以在 .secrets.toml 中分配该值。如果选择了 DefaultAzureCredential,您可以直接分配 AZURE_CLIENT_SECRET 等额外的环境变量。

以下是 .secrets.toml 的配置示例:

[azure_devops]
# For Azure devops personal access token
org = "<azure devops org or collection>" 
pat = "<pat>" 

设置服务访问用户和密码

要在 Azure DevOps 中通过 Service Hook 调用 Code Review Agent,首先我们需要配置或者获取 .secrets.toml 中的访问用户名和密码。

以下是 .secrets.toml 文件中的配置示例,您剋打开这个我文件,修复并记录其中的 webhook_usernamewebhook_password,在后续的配置中需要用到。

## in # pr_agent/settings/.secrets.toml 中
[azure_devops_server]
webhook_username = "<basic auth user>" #default value is aisedevpr
webhook_password = "<basic auth password>" #default password is <TO BE Fill>

确保 webhook 端点仅通过 HTTPS 访问,以降低使用基本身份验证时凭据被拦截的风险。

Code Review Agent提供和api支持基本认证和匿名访问(不需要认证)两种模式,前者适用于外网环境,后者适用于内网环境。如果想采用匿名方式(无认证),只里面要把

.secrets.toml中,对整个节点注释(或者删除)即可.

# [azure_devops_server]
# webhook_username = "<basic auth user>" 
# webhook_password = "<basic auth password>" 

另外azure devops 的webhook配置那里帐号和密码留空即可,修改完后需要重启 Code Review Agent 服务才能生效。

配置Service Hook

使用Code Review Agent之前需要在Azure DevOps对应的团队项目(Team Project)中配置对应的Web Hook,所需要配置的Web Hook主要有两个。

  • Pull Request created: 当PR创建的时候自动触发
  • Pull request commented on:当PR上被用户添加了新的评论的时候触发

Web Hooks 配置界面如图:

Hook列表

Web Hook 的具体配置参数如下

  • URL:需要只想当前的 /workspace-api/pragent/
  • 认证方式中的用户名和密码可以在我们提供的物料中获取

Hook详情

完成以上配置后,Code Review Agent 就可以正常工作了。