Skip to main content

使用DeepSeek快速体验Microsoft Agent Framework

分类:  AI开发 标签:  #AgentFramework 发布于: 2025-10-09 0:01:40

这几天微软新一代的智能体开发工具Microsoft Agent Framework已经开放给了社区使用了,不过目前仍然是在public preview阶段,感兴趣的可以开始试用这个版本。

这个框架是由之前Semantic KernelAutoGen同一个团队开发的,至于为什么又需要一个新的框架以及之前的两个框架后继会怎么办,我建议你仔细的体会官方的说明:https://devblogs.microsoft.com/foundry/introducing-microsoft-agent-framework-the-open-source-engine-for-agentic-ai-apps/, 文档中明确给出了如何从Semantic Kernel以及AutoGen迁移的指导文档。

我个人比较烦恼的是,才搞明白了Semantic Kernel的各个组件,包括Agent以及Process Framework, 又需要重新学习新的框架了,好在理论还是之前的同一套。

我们快速的用deepseek来体验一下新的框架。

注册DeepSeek API

https://platform.deepseek.com/ 注册之后,拿到apiKey, 注意DeepSeek使用和OpenAI相同的API接口,那么在创建OpenAIClient的时候,需要使用:

  1. Endpoint 指向:https://api.deepseek.com
  2. ModelId 指向: deepseek-chat

创建测试代码

我们这里分别以.Net以及Python分别体验一下。

基于.Net的测试

如果您使用.Net 需要 SDK 8.0及以上

# 创建项目
dotnet new console -o QuickStart

# 添加包
cd QuickStart
dotnet add package Azure.AI.OpenAI
dotnet add package Microsoft.Agents.AI.OpenAI --prerelease

创建之后,打开Program.cs, 输入如下的代码片段:

using System;
using System.ClientModel;
using System.Net;
using Azure.AI.OpenAI;
using Microsoft.Agents.AI;
using OpenAI;

var options = new OpenAIClientOptions
{
    Endpoint = new Uri("https://api.deepseek.com")
};

AIAgent agent = new OpenAIClient(
    new ApiKeyCredential("Your Deep Seek Key"),
    options
)
.GetChatClient("deepseek-chat")
.CreateAIAgent(instructions: "您是一个单口相声大师。");


Console.WriteLine(await agent.RunAsync("请讲一个简短的关于懒汉的单口相声."));

然后运行如下:

❯ dotnet run
(一拍醒木)您各位瞧见过懒人没有?我给您说个真事儿。我们胡同有个李老二,那懒的,好家伙!早晨赖床能赖到下午三点,饿得前胸贴后背了,愣是不起,伸着舌头舔墙皮——您猜怎么着?他们家墙让他舔薄了三寸!

(学懒汉腔调)“妈,把饭端我被窝里来呗?”
“儿啊,你都二十八啦!”
“那您把被窝端厨房去也行。”

有一回他妈让他扫院子,这位爷拎着扫帚在院里转悠三圈,哎,想出个主意。把家里电扇搬出来对着地上吹,呼啦啦把树叶全吹邻居院儿去了。邻居不乐意了,找上门来:“李老二!你这叫扫地吗?”您猜他说啥?“高科技,这叫空气动力学扫地法!”

最绝的是上周,躺床上想关电视,遥控器离着就二尺远,愣是不伸手。硬是等到半夜电视台停播了,满屏雪花点儿了,这才安心睡觉。第二天跟我们吹呢:“我这叫节能环保,等它自动待机!”

(突然正经)后来您猜怎么着?上个月街道组织大扫除,大家把他从被窝里拽出来,这位爷被迫干了十分钟活儿——好家伙,当天晚上就上医院了!
(疑惑表情)大夫一检查:肌肉拉伤。打从出生头一回使这么大劲儿!

基于Python

我们这里使用了uv来管理项目,并且使用新型的entry point来启动项目,如果您对于uventry point都不熟悉,你可以直接使用pip来管理。

#创建项目
uv init --package quick-start

# 添加必要的依赖包
cd quick-start
uv add agent-framework --prerelease=allow

然后使用编辑器打开该项目目录,项目目录如下所示:



我们在目录src\quick-start下新建一个文件deepseek.py, 然后输入如下的内容:

import asyncio
from agent_framework.openai import OpenAIChatClient


async def deepseek():
    agent = OpenAIChatClient(
        model_id="deepseek-chat",
        api_key="Your Key",
        base_url="https://api.deepseek.com",
    ).create_agent(
        instructions="您是一个单口相声大师。",
    )
    
    result = await agent.run("请讲一个简短的关于海盗的单口相声.")
    print(result)
    
    
def main():
    asyncio.run(deepseek())

然后更改根目录下的项目文件pyproject.toml, 将project.scripts的值更改为:

[project.scripts]
quick-start = "quick_start.deepseek:main"

保存上述更改后,直接运行:

uv run quick-start

即有如下的结果:

❯ uv run quick-start
(拍桌)各位观众,您知道吗?我前两天去应聘海盗,结果人家不要我!

(疑惑状)为啥?说我不够专业。我说我怎么不专业了?我从小就立志当海盗,我连微信头像都是独眼龙!

(模仿面试官)人家说了:我们这是正经海盗公司,得会专业技能。我说我会啊!我打小就会唱《水手》,还会说“哟嚯嚯嚯”!

(无奈)人家说:那您会看航海图吗?我说:会啊!高德地图我熟!人家说:那您会开船吗?我说:会啊!公园里的碰碰船我开得可溜了!

(叹气)最后人家问我:那您知道怎么找宝藏吗?我寻思这题我会啊!我说:打开手机,搜索“附近的金店”!

(摊手)这不,人家直接把我轰出来了。临走前还跟我说:您这样的,还是去说相声比较合适!