极客说|利用 Azure AI Agent Service 创建自定义 VS Code Chat participant

今日霍州(www.jrhz.info)©️

利用 GitHub Copilot 可以让 AI 提升开发者的编程效率, 通过不同的 Chat Participant 更可以让开发者完成不同场景的 AI 赋能,如 @workspace 不仅可以创建简单项目和 Notebook,更可以帮你维护项目代码,以及生成测试环境等。你可以通过在 GitHub Copilot Chat 中输入 /help 以了解系统自带的 Chat Participant。当然你也可以自定义属于自己工作流上的各种 Chat Participant。现在自定义 Chat Participant,可以基于 Visual Studio Code Chat Extension 进行创建,也可以直接创建 Copilot Extensions 用以支持更多的 IDE 应用。

今日霍州(www.jrhz.info)©️

在中,大家可以看到如何通过 Semantic Kernel 去编排 Multi-Agents。结合 LLM 的能力,我们可以使用 Multi-Agents 完成更复杂的工作,例如在软件工程中的支撑。过去,我们借助简单的框架使用 IDE 创建项目,再一步步根据需求进行不同的代码编写。有了生成式 AI 的加持后,我们或许可以结合 LLM,根据需求快速完成代码生成工作,不仅能搭建框架,还能够完成逻辑代码的生成。

利用 Azure AI Agent Service 提供的各种 DevOps 环境中的 Agent,可以应对不同的工作流来完成 Multi-Agents 编排。如创建项目,我们需要两个 Agent 配合我们的工作,一个读取需求并生成代码的 Agent,一个保存代码的 Agent。结合 Semantic Kernel 的能力,我们可以快速地完成项目创建工作。接下来让我们围绕 Python Flask 项目创建的场景来构建一个自定义的 Visual Studio Code Chat participant。

今日霍州(www.jrhz.info)©️

模型的选择

为了按特定步骤解读需求并生成代码,我们需要一个具备强大推理能力的模型。 o1-mini是非常棒的选择,当然我们也推荐你尝试 Phi-4。至于代码保存功能,我们可用 gpt-4o-mini来实现。

今日霍州(www.jrhz.info)©️

Multi-Agent 编排

使用 Azure AI Inference SDK 调用 GitHub Models 的 o1-mini来创建代码生成 Agent,利用 Azure AI Foundry SDK 创建基于 Azure AI Agent Service 的代码保存 Agent。使用 Semantic Kernel 进行 Muliti-Agent 编排,按下图所示与 Plugin 进行绑定,并在 GroupChat 中设置 Agent 交互模式。

今日霍州(www.jrhz.info)©️

整体架构

今日霍州(www.jrhz.info)©️

.NET Aspire 是非常好的分布式应用框架,我们使用 .NET Aspire 来管理我们的 Agent 服务。通过集成 .NET + Semantic Kernel,我们可以非常便捷地创建 Chat Participant 自定义接口服务。可以看到,Chat Participant 可用于应对不同的开发场景,不同的 AI Agents 也可以很好地完成相关定义。必须要说的是,在 LLM / SLM 时代,我们需要更灵活地适配工作流,Semantic Kernel / AutoGen 都具备 AI Agent 的编排能力。

至于 Visual Studio Code Chat Extension,我们定义两个指令 /help以及 /proj,来分别定义自我介绍以及项目创建的工作。

  • /help使用 GitHub Copilot 自带的 gpt-4o 来完成简单的介绍工作。无需绑定任何第三方 Agent。

  • /proj用于构建项目,你需要编写需求,然后通过 fetch 调用由封装好的 Semantic Kernel 编排的多 Agent 接口。

查看完整代码

https://github.com/kinfey/MultiAIAgent/tree/main/ghext

相关资源

  • 了解 Azure AI Agent Service

    https://learn.microsoft.com/en-us/azure/ai-services/agents/

  • 学习 Microsoft AutoGen

    https://microsoft.github.io/autogen/dev/

  • 学习 Microsoft Semantic Kernel

    https://github.com/microsoft/semantic-kernel

  • 学习 Visual Studio Code Chat extensions

    https://code.visualstudio.com/api/extension-guides/chat

  • 免费开启 Visual Studio Code GitHub Copilot

    https://aka.ms/CopilotFree_R

卢建晖

微软高级云技术布道师

专注在 AI + Data,著有超过 70 万阅读量的 《Phi-3 Cookbook》。

特别声明:[极客说|利用 Azure AI Agent Service 创建自定义 VS Code Chat participant] 该文观点仅代表作者本人,今日霍州系信息发布平台,霍州网仅提供信息存储空间服务。

猜你喜欢

磷霉素氨丁三醇散具体的功效及不良反应是什么(磷霉素氨丁三醇散几天一疗程)

磷霉素氨丁三醇散为药物通用名,商品名称一般为复安欣。磷霉素氨丁三醇散是一种广谱抗生素,属于合成类抗菌素。该药主要用于治疗由敏感细菌引起的各种感染性疾病,包括呼吸道感染、下尿路感染、肠道感染以及皮肤软组织感染等。

磷霉素氨丁三醇散具体的功效及不良反应是什么(磷霉素氨丁三醇散几天一疗程)

英语沙龙│享阅美文 语出精彩——外文经典领读(十)(英语沙龙阅读版)

1. 提前预习阶段:活动预告发布后,工作人员将在专属活动群内分享所选文章全文和片段。 3. 互动讨论阶段:在深度解析基础上,读者将分组围绕文章主旨含义、科技伦理思考、语言表达技巧等话题展开交流,分享阅读感悟…

英语沙龙│享阅美文 语出精彩——外文经典领读(十)(英语沙龙阅读版)

它会是你想要的 OmniFocus「平替」吗:Locus GTD|App+1(他会,不是他想)

Locus GTD 是我用过的唯一将这两个流程作为重要的用户体验融入到产品设计中的 App,以「处理收集箱」为例,大多数 App 的处理流程是很枯燥的:用户在一个长列表里,机械地点击日期、选择标签、添加项目…

它会是你想要的 OmniFocus「平替」吗:Locus GTD|App+1(他会,不是他想)

德国蓝宝抽真空封口机包装机:家用食品保鲜的全能助手解析(德国蓝宝是什么品牌)

本文介绍德国蓝宝家用型抽真空封口机的功能特点及其在食品保鲜领域的应用。从技术原理、应用场景、性能优势等方面进行深入剖析,旨在为用户了解该类产品提供全面信息。文中避免主观评价,注重科学性和实用性。

德国蓝宝抽真空封口机包装机:家用食品保鲜的全能助手解析(德国蓝宝是什么品牌)

注射式植筋胶,钢筋混凝土粘得死死的(注射式植筋胶使用流程)

注射式植筋胶作为一种在建筑领域广泛应用的材料,在实现钢筋与混凝土牢固锚固方面发挥着关键作用。它采用独特的注射方式,将胶体精准地注入预先钻好的孔中。许多建筑工程实例表明,使用注射式植筋胶锚固的钢筋,能够承受较大…

注射式植筋胶,钢筋混凝土粘得死死的(注射式植筋胶使用流程)