使用DeepSeek快速体验Microsoft Agent Framework
分类: AI开发 ◆ 标签: #AgentFramework ◆ 发布于: 2025-10-09 0:01:40

这几天微软新一代的智能体开发工具Microsoft Agent Framework
已经开放给了社区使用了,不过目前仍然是在public preview
阶段,感兴趣的可以开始试用这个版本。
这个框架是由之前Semantic Kernel
和AutoGen
同一个团队开发的,至于为什么又需要一个新的框架以及之前的两个框架后继会怎么办,我建议你仔细的体会官方的说明: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
的时候,需要使用:
- Endpoint 指向:https://api.deepseek.com
- 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
来启动项目,如果您对于uv
和entry 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
(拍桌)各位观众,您知道吗?我前两天去应聘海盗,结果人家不要我!
(疑惑状)为啥?说我不够专业。我说我怎么不专业了?我从小就立志当海盗,我连微信头像都是独眼龙!
(模仿面试官)人家说了:我们这是正经海盗公司,得会专业技能。我说我会啊!我打小就会唱《水手》,还会说“哟嚯嚯嚯”!
(无奈)人家说:那您会看航海图吗?我说:会啊!高德地图我熟!人家说:那您会开船吗?我说:会啊!公园里的碰碰船我开得可溜了!
(叹气)最后人家问我:那您知道怎么找宝藏吗?我寻思这题我会啊!我说:打开手机,搜索“附近的金店”!
(摊手)这不,人家直接把我轰出来了。临走前还跟我说:您这样的,还是去说相声比较合适!