Microsoft Agent Framework部署指南:从开发到生产环境
Microsoft Agent Framework是一个用于构建、编排和部署AI代理及多代理工作流的框架,支持Python和.NET两种编程语言。本指南将详细介绍如何从开发环境搭建到生产环境部署的完整流程,帮助普通用户及运营人员快速上手。
开发环境准备
环境要求
在开始之前,请确保你的系统满足以下要求:
- Python 3.10及以上版本(用于Python开发)
- .NET SDK 6.0及以上版本(用于.NET开发)
- Git工具(用于代码仓库克隆)
- 适当的代码编辑器,如VSCode
代码仓库克隆
首先,克隆项目仓库到本地:
git clone https://gitcode.com/GitHub_Trending/age/agent-framework
cd agent-framework
Python开发环境设置
对于Python开发者,推荐使用uv工具进行依赖管理。以下是详细的环境搭建步骤:
-
安装uv工具:
# Windows系统 powershell -c "irm https://astral.sh/uv/install.ps1 | iex" # Linux或MacOS系统 curl -LsSf https://astral.sh/uv/install.sh | sh # MacOS系统(使用Homebrew) brew install uv -
创建虚拟环境并安装依赖:
# 安装指定版本的Python uv python install 3.10 3.11 3.12 3.13 # 创建虚拟环境(以Python 3.13为例) uv venv --python 3.13 # 安装项目依赖 uv sync --dev uv run poe install # 安装pre-commit钩子 uv run poe pre-commit-install或者,你可以使用更简便的命令一键设置环境:
uv run poe setup -p 3.13 -
VSCode配置:
- 安装Python扩展
- 打开python文件夹作为工作区
- 选择刚刚创建的虚拟环境作为解释器
详细的Python开发环境设置可以参考Python Development Guide。
.NET开发环境设置
对于.NET开发者,环境搭建步骤如下:
-
安装.NET SDK: 请从微软官方网站下载并安装.NET SDK 6.0及以上版本。
-
安装项目依赖:
cd dotnet dotnet restore
框架核心组件介绍
项目结构概览
Microsoft Agent Framework的项目结构清晰,主要包含以下几个部分:
- 文档目录:docs/,包含项目文档、设计决策记录等
- Python代码目录:python/,包含Python版本的源代码、示例和测试
- .NET代码目录:dotnet/,包含.NET版本的源代码、示例和测试
- 工作流示例:workflow-samples/,包含各种工作流示例
核心功能模块
- 代理创建与管理:框架提供了灵活的代理创建接口,支持多种LLM提供商。
- 工作流编排:支持基于图的工作流,可连接代理和确定性函数。
- DevUI工具:交互式开发者UI,用于代理开发、测试和调试工作流。
- 可观测性:内置OpenTelemetry集成,支持分布式追踪、监控和调试。
开发实战:创建第一个代理
Python代理示例
以下是一个简单的Python代理示例,使用Azure OpenAI服务创建一个生成俳句的代理:
# pip install agent-framework --pre
# Use `az login` to authenticate with Azure CLI
import os
import asyncio
from agent_framework.azure import AzureOpenAIResponsesClient
from azure.identity import AzureCliCredential
async def main():
# 初始化Azure OpenAI响应客户端
agent = AzureOpenAIResponsesClient(
credential=AzureCliCredential(), # 使用Azure CLI凭据进行身份验证
).create_agent(
name="HaikuBot",
instructions="You are an upbeat assistant that writes beautifully.",
)
# 运行代理,生成关于Microsoft Agent Framework的俳句
print(await agent.run("Write a haiku about Microsoft Agent Framework."))
if __name__ == "__main__":
asyncio.run(main())
更多Python示例可以参考python/samples/getting_started/agents目录。
.NET代理示例
以下是一个简单的.NET代理示例,使用OpenAI服务创建一个生成俳句的代理:
// dotnet add package Microsoft.Agents.AI.OpenAI --prerelease
using System;
using OpenAI;
// 替换<apikey>为你的OpenAI API密钥
var agent = new OpenAIClient("<apikey>")
.GetOpenAIResponseClient("gpt-4o-mini")
.CreateAIAgent(name: "HaikuBot", instructions: "You are an upbeat assistant that writes beautifully.");
Console.WriteLine(await agent.RunAsync("Write a haiku about Microsoft Agent Framework."));
更多.NET示例可以参考dotnet/samples/GettingStarted/Agents目录。
工作流开发与测试
工作流示例
Microsoft Agent Framework提供了丰富的工作流示例,位于workflow-samples/目录下。以下是一个简单的工作流示例:
# 工作流示例:HumanInLoop.yaml
name: HumanInLoop
description: A workflow that includes human-in-the-loop approval
steps:
- name: GenerateContent
agent: ContentGenerator
input: "{{ $input.prompt }}"
output: generated_content
- name: HumanApproval
type: human_approval
input: "{{ $steps.GenerateContent.output }}"
timeout: 86400 # 24 hours
- name: Finalize
agent: ContentFinalizer
input: "{{ $steps.HumanApproval.approved_content }}"
output: final_content
DevUI工具使用
DevUI是一个交互式开发者UI,可帮助你开发、测试和调试工作流。你可以通过以下命令启动DevUI:
cd python
uv run poe devui
启动后,访问http://localhost:8000即可打开DevUI界面。更多关于DevUI的信息可以参考python/packages/devui目录。
生产环境部署
部署准备
在部署到生产环境之前,请确保完成以下准备工作:
-
代码质量检查:
# Python代码检查 cd python uv run poe check # .NET代码检查 cd dotnet dotnet build dotnet test -
环境变量配置: 创建
.env文件,配置必要的环境变量,如API密钥、端点等:# 示例.env文件 AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com/ AZURE_OPENAI_API_KEY=your-api-key AZURE_OPENAI_API_VERSION=2023-05-15
部署选项
Docker容器化部署
-
创建Dockerfile:
# Python示例Dockerfile FROM python:3.13-slim WORKDIR /app COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt COPY . . CMD ["python", "your_agent_app.py"] -
构建并运行Docker镜像:
docker build -t agent-framework-app . docker run -d -p 8000:8000 --env-file .env agent-framework-app
云服务部署
Microsoft Agent Framework可以部署到各种云服务平台,如Azure、AWS、Google Cloud等。以下是部署到Azure App Service的简要步骤:
-
创建Azure App Service:
az webapp create --name my-agent-app --resource-group my-resource-group --plan my-app-service-plan --runtime "PYTHON|3.13" -
部署代码:
az webapp deployment source config --name my-agent-app --resource-group my-resource-group --repo-url https://gitcode.com/GitHub_Trending/age/agent-framework --branch main --manual-integration -
配置环境变量:
az webapp config appsettings set --name my-agent-app --resource-group my-resource-group --settings AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com/ AZURE_OPENAI_API_KEY=your-api-key
监控与维护
可观测性设置
Microsoft Agent Framework内置了OpenTelemetry集成,可帮助你实现分布式追踪、监控和日志记录。以下是启用可观测性的示例代码:
# Python可观测性示例
from agent_framework import configure_telemetry
from agent_framework.observability import TelemetrySettings
# 配置遥测
configure_telemetry(
TelemetrySettings(
service_name="my-agent-service",
service_version="1.0.0",
exporter_type="otlp",
otlp_endpoint="http://otel-collector:4317"
)
)
更多关于可观测性的信息可以参考python/samples/getting_started/observability目录。
性能优化建议
- 合理设置缓存策略,减少重复计算
- 使用异步编程模式,提高并发处理能力
- 根据实际需求选择合适的LLM模型,平衡性能和成本
- 定期更新框架版本,获取性能优化和新功能
常见问题解决
开发环境问题
-
依赖安装失败:尝试使用uv工具代替pip安装依赖
uv add agent-framework -
Python版本不兼容:确保使用Python 3.10及以上版本,可以使用uv管理多个Python版本
uv python install 3.13 uv venv --python 3.13
部署问题
- 环境变量未生效:检查环境变量名称是否正确,确保部署环境中已设置所需变量
- API调用失败:检查网络连接,确保API密钥和端点正确,查看docs/FAQS.md获取更多帮助
总结与展望
通过本指南,你已经了解了Microsoft Agent Framework的开发环境搭建、核心功能、开发实战和生产环境部署的完整流程。框架提供了丰富的功能和灵活的部署选项,可以满足不同场景下的AI代理开发需求。
未来,Microsoft Agent Framework将继续完善以下方面:
- 更多LLM提供商支持
- 增强的工作流编排能力
- 更丰富的监控和调试工具
- 优化的性能和资源使用
如果你在使用过程中遇到问题或有任何建议,欢迎参考CONTRIBUTING.md参与项目贡献。
附录:参考资源
- 官方文档:docs/
- Python示例:python/samples/
- .NET示例:dotnet/samples/
- 工作流示例:workflow-samples/
- 架构决策记录:docs/decisions/
GLM-5智谱 AI 正式发布 GLM-5,旨在应对复杂系统工程和长时域智能体任务。Jinja00
GLM-5-w4a8GLM-5-w4a8基于混合专家架构,专为复杂系统工程与长周期智能体任务设计。支持单/多节点部署,适配Atlas 800T A3,采用w4a8量化技术,结合vLLM推理优化,高效平衡性能与精度,助力智能应用开发Jinja00
请把这个活动推给顶尖程序员😎本次活动专为懂行的顶尖程序员量身打造,聚焦AtomGit首发开源模型的实际应用与深度测评,拒绝大众化浅层体验,邀请具备扎实技术功底、开源经验或模型测评能力的顶尖开发者,深度参与模型体验、性能测评,通过发布技术帖子、提交测评报告、上传实践项目成果等形式,挖掘模型核心价值,共建AtomGit开源模型生态,彰显顶尖程序员的技术洞察力与实践能力。00
Kimi-K2.5Kimi K2.5 是一款开源的原生多模态智能体模型,它在 Kimi-K2-Base 的基础上,通过对约 15 万亿混合视觉和文本 tokens 进行持续预训练构建而成。该模型将视觉与语言理解、高级智能体能力、即时模式与思考模式,以及对话式与智能体范式无缝融合。Python00
MiniMax-M2.5MiniMax-M2.5开源模型,经数十万复杂环境强化训练,在代码生成、工具调用、办公自动化等经济价值任务中表现卓越。SWE-Bench Verified得分80.2%,Multi-SWE-Bench达51.3%,BrowseComp获76.3%。推理速度比M2.1快37%,与Claude Opus 4.6相当,每小时仅需0.3-1美元,成本仅为同类模型1/10-1/20,为智能应用开发提供高效经济选择。【此简介由AI生成】Python00
Qwen3.5Qwen3.5 昇腾 vLLM 部署教程。Qwen3.5 是 Qwen 系列最新的旗舰多模态模型,采用 MoE(混合专家)架构,在保持强大模型能力的同时显著降低了推理成本。00- RRing-2.5-1TRing-2.5-1T:全球首个基于混合线性注意力架构的开源万亿参数思考模型。Python00
