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/
Kimi-K2.5Kimi K2.5 是一款开源的原生多模态智能体模型,它在 Kimi-K2-Base 的基础上,通过对约 15 万亿混合视觉和文本 tokens 进行持续预训练构建而成。该模型将视觉与语言理解、高级智能体能力、即时模式与思考模式,以及对话式与智能体范式无缝融合。Python00- QQwen3-Coder-Next2026年2月4日,正式发布的Qwen3-Coder-Next,一款专为编码智能体和本地开发场景设计的开源语言模型。Python00
xw-cli实现国产算力大模型零门槛部署,一键跑通 Qwen、GLM-4.7、Minimax-2.1、DeepSeek-OCR 等模型Go06
PaddleOCR-VL-1.5PaddleOCR-VL-1.5 是 PaddleOCR-VL 的新一代进阶模型,在 OmniDocBench v1.5 上实现了 94.5% 的全新 state-of-the-art 准确率。 为了严格评估模型在真实物理畸变下的鲁棒性——包括扫描伪影、倾斜、扭曲、屏幕拍摄和光照变化——我们提出了 Real5-OmniDocBench 基准测试集。实验结果表明,该增强模型在新构建的基准测试集上达到了 SOTA 性能。此外,我们通过整合印章识别和文本检测识别(text spotting)任务扩展了模型的能力,同时保持 0.9B 的超紧凑 VLM 规模,具备高效率特性。Python00
KuiklyUI基于KMP技术的高性能、全平台开发框架,具备统一代码库、极致易用性和动态灵活性。 Provide a high-performance, full-platform development framework with unified codebase, ultimate ease of use, and dynamic flexibility. 注意:本仓库为Github仓库镜像,PR或Issue请移步至Github发起,感谢支持!Kotlin08
VLOOKVLOOK™ 是优雅好用的 Typora/Markdown 主题包和增强插件。 VLOOK™ is an elegant and practical THEME PACKAGE × ENHANCEMENT PLUGIN for Typora/Markdown.Less00
