Type something to search...
创建您自己的 OpenAI 操作员代理:使用 Microsoft Autogen 框架最新功能的逐步指南

创建您自己的 OpenAI 操作员代理:使用 Microsoft Autogen 框架最新功能的逐步指南

用几行代码创建你自己的类似 OpenAI 的 Operator 代理!

Microsoft AutoGen 是一个用于构建 LLM 驱动的 AI 应用程序的开源框架。 之前,我写了一篇关于 AutoGen 0.2 版本和 AutoGen Studio 的博客。 在这篇 博客 中,我将介绍 AutoGen 的最新版本。

AutoGen 0.4 的核心是代理。 它提供了一些预构建的代理,无需深入研究细节即可利用。 我们开箱即用的最好的代理系统之一是 ‘Magentic-One’。

[图片 1] AutoGen 框架构建模块。

除此之外,Autogen 0.4 还更新了 No-Code Agent 平台“Autogen Studio”,外观焕然一新,并使用 React-flow 提供无缝的代理构建体验。

[图片 2] AutoGen Studio 截图。

我认为这个介绍足以让我们开始逐步指南。

从 Magentic-One 代理系统(参考图片 3),我们将使用 2 个组件:

  1. Web Surfer 代理
  2. Orchestrator ( MagenticOneGroupChat)

[图片 3] Magentic-One 架构。

步骤 0: 使用 conda 准备虚拟环境。

conda activate autogen

提示:建议使用虚拟环境,因为我们将访问 Web 获取数据。

步骤 1: 安装多模态 Web Surfer 代理

pip install "autogen-ext[web-surfer]"

提示:我在 0.4.5 稳定版上遇到了缺少软件包的问题。 如果您也遇到此问题,只需运行 pip install -U “autogen-agentchat。 更多安装信息 在此处

步骤 2: 创建 Azure OpenAI 客户端。 我将使用 DefaultAzureCredentia() 作为一种安全的方式连接到 Azure OpenAI,而不是基于密钥的身份验证。

from autogen_ext.models.openai import AzureOpenAIChatCompletionClient
from azure.identity import DefaultAzureCredential, get_bearer_token_provider

### Create the token provider
token_provider = get_bearer_token_provider(
    DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default" # while running locally, it will use user's credentail.
)

client = AzureOpenAIChatCompletionClient(
    azure_deployment="GPT4ov1", # deployment name from Azure OpenAI Deployments tab
    model="gpt-4o",
    api_version="2024-08-01-preview",
    azure_endpoint="https://testmediumazureopenai.openai.azure.com/", # your Azure OpenAI endpoint
    azure_ad_token_provider=token_provider,
)

您也可以使用 OpenAI 创建客户端:

 model_client=OpenAIChatCompletionClient(model="gpt-4o-2024-08-06")

### Note you need to add `api-key` in the env variable

提示:如果您使用基于 Azure Ad 的身份验证,请确保您已安装 Azure CLI — https://learn.microsoft.com/en-gb/azure/developer/azure-developer-cli

步骤 3: 定义 Web Surfer 代理

    # Define an agent
    web_surfer_agent = MultimodalWebSurfer(
        name="MultimodalWebSurfer",
        model_client=client,
        headless = False, # to open cromium browser in GUI mode
        animate_actions = True # to animate click actions
    )

步骤 4: 使用 Magnetic-One orchestrator 创建代理团队

 agent_team = MagenticOneGroupChat([web_surfer_agent], max_turns=13, model_client=client)

提示Web Surfer 代理基于 Playwright 框架进行自动化测试。 您需要使用 **playwright install 安装它

步骤 5: 将所有内容放在一起

async def main() -> None:
    token_provider = get_bearer_token_provider(
        DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default" # while running locally, it will use user's credentail.
    )

client = AzureOpenAIChatCompletionClient(
        azure_deployment="GPT4ov1", # deployment name from Azure OpenAI Deployments tab
        model="gpt-4o",
        api_version="2024-08-01-preview",
        azure_endpoint="https://testmediumazureopenai.openai.azure.com/", # your Azure OpenAI endpoint
        azure_ad_token_provider=token_provider,
    )
    # Define an agent
    web_surfer_agent = MultimodalWebSurfer(
        name="MultimodalWebSurfer",
        model_client=client,
        headless = False, # to open cromium browser in GUI mode
        animate_actions = True # to animate click actions
    )

## Define a team

agent_team = MagenticOneGroupChat([web_surfer_agent], max_turns=13, model_client=client)

task = input("Enter the task for the agent team: ")

## Run the team and stream messages to the console
    stream = agent_team.run_stream(task=task)
    await Console(stream)

## Close the browser controlled by the agent
    await web_surfer_agent.close()

asyncio.run(main())

因此,对于任务:“转到 opentable,并在亚特兰大预订餐厅。 使用我的电话号码 123–456–7890 进行预订”

最后的想法

很高兴看到在 AutoGen 中创建基于视觉的 Web Surfer 代理是多么容易。 但是,请记住,AutoGen 仅用于研究和概念验证目的,不应在生产中使用。 Microsoft 建议 使用 Semantic Kernel 进行企业支持。 虽然 Semantic Kernel 仍然落后于 AutoGen,但在 Semantic Kernel 中创建此类代理也很容易。 查看我之前的 博客 了解更多详情。

参考:

[## AutoGen

AutoGen 的顶级文档,这是一个使用 AI 代理开发应用程序的框架

microsoft.github.io](https://microsoft.github.io/autogen/stable/index.html)

## 微软的代理 AI 框架:AutoGen 和 Semantic Kernel | Semantic Kernel

微软的 Agentic AI 框架:Semantic Kernel 和 AutoGen 深度协作

微软的 agentic AI 框架 Semantic Kernel 和 AutoGen 正在深度协作,为构建多智能体应用程序提供一流的支持。 此次合作旨在利用每个框架的优势,使开发人员能够创建更复杂、更高效的 AI 解决方案。

Semantic Kernel:编排框架

Semantic Kernel (SK) 是一个开源 SDK,允许开发人员轻松地将大型语言模型 (LLM) 与传统编程语言集成。它充当一个编排框架,使开发人员能够:

  • 编排 LLM 调用: SK 简化了调用 LLM 的过程,处理提示工程和上下文管理等复杂问题。
  • 链接不同的技能: 开发人员可以定义执行特定任务的“技能”,并将它们链接在一起以创建复杂的工作流程。
  • 管理内存和上下文: SK 提供了管理对话上下文并将相关信息存储在内存中的机制。

AutoGen:多智能体框架

AutoGen 是一个用于构建多智能体系统的框架。它允许开发人员定义具有不同角色和能力的智能体,并让他们协作以解决复杂的任务。 AutoGen 的主要功能包括:

  • 多智能体对话: AutoGen 使智能体能够沟通和交换信息以实现共同目标。
  • 多样化的智能体能力: 开发人员可以使用不同的 LLM、工具和个性来创建智能体。
  • 自动智能体编排: AutoGen 可以自动编排智能体之间的交互,优化工作流程并减少人工干预。

Semantic Kernel 和 AutoGen 之间的协作

Semantic Kernel 和 AutoGen 之间的协作侧重于以下关键领域:

  • 技能集成: AutoGen 智能体现在可以直接使用 Semantic Kernel 技能,从而扩展其能力并使它们能够执行更复杂的任务。
  • 上下文管理: Semantic Kernel 的上下文管理功能与 AutoGen 集成,确保智能体可以访问做出明智决策所需的必要信息。
  • 工作流程编排: 结合的框架提供了一个强大的平台,用于编排涉及多个智能体和 LLM 的复杂工作流程。

协作的好处

Semantic Kernel 和 AutoGen 之间的协作为开发人员提供了几个好处:

  • 更高的灵活性: 开发人员可以根据自己的特定需求选择最佳框架,并将它们结合起来创建自定义解决方案。
  • 更高的效率: 技能和上下文管理的集成简化了开发过程,并减少了所需的代码量。
  • 增强的功能: 结合的框架使开发人员能够构建更复杂、更强大的 AI 应用程序。

快速入门

要开始使用 Semantic Kernel 和 AutoGen 之间的协作,开发人员可以参考以下资源:

Related Posts

结合chatgpt-o3-mini与perplexity Deep Research的3步提示:提升论文写作质量的终极指南

结合chatgpt-o3-mini与perplexity Deep Research的3步提示:提升论文写作质量的终极指南

AI 研究报告和论文写作 合并两个系统指令以获得两个模型的最佳效果 Perplexity AI 的 Deep Research 工具提供专家级的研究报告,而 OpenAI 的 ChatGPT-o3-mini-high 擅长推理。我发现你可以将它们结合起来生成令人难以置信的论文,这些论文比任何一个模型单独撰写的都要好。你只需要将这个一次性提示复制到 **

阅读更多
让 Excel 过时的 10 种 Ai 工具:实现数据分析自动化,节省手工作业时间

让 Excel 过时的 10 种 Ai 工具:实现数据分析自动化,节省手工作业时间

Non members click here作为一名软件开发人员,多年来的一个发现总是让我感到惊讶,那就是人们还在 Excel

阅读更多
使用 ChatGPT 搜索网络功能的 10 种创意方法

使用 ChatGPT 搜索网络功能的 10 种创意方法

例如,提示和输出 你知道可以使用 ChatGPT 的“搜索网络”功能来完成许多任务,而不仅仅是基本的网络搜索吗? 对于那些不知道的人,ChatGPT 新的“搜索网络”功能提供实时信息。 截至撰写此帖时,该功能仅对使用 ChatGPT 4o 和 4o-mini 的付费会员开放。 ![](https://images.weserv.nl/?url=https://cdn-im

阅读更多
掌握Ai代理:解密Google革命性白皮书的10个关键问题解答

掌握Ai代理:解密Google革命性白皮书的10个关键问题解答

10 个常见问题解答 本文是我推出的一个名为“10 个常见问题解答”的新系列的一部分。在本系列中,我旨在通过回答关于该主题的十个最常见问题来分解复杂的概念。我的目标是使用简单的语言和相关的类比,使这些想法易于理解。 图片来自 [Solen Feyissa](https://unsplash.com/@solenfeyissa?utm_source=medium&utm_medi

阅读更多
在人工智能和技术领域保持领先地位的 10 项必学技能 📚

在人工智能和技术领域保持领先地位的 10 项必学技能 📚

在人工智能和科技这样一个动态的行业中,保持领先意味着不断提升你的技能。无论你是希望深入了解人工智能模型性能、掌握数据分析,还是希望通过人工智能转变传统领域如法律,这些课程都是你成功的捷径。以下是一个精心策划的高价值课程列表,可以助力你的职业发展,并让你始终处于创新的前沿。 1. 生成性人工智能简介课程: [生成性人工智能简介](https://genai.works

阅读更多
揭开真相!深度探悉DeepSeek AI的十大误区,您被误导了吗?

揭开真相!深度探悉DeepSeek AI的十大误区,您被误导了吗?

在AI军备竞赛中分辨事实与虚构 DeepSeek AI真的是它所宣传的游戏规则改变者,还是仅仅聪明的营销和战略炒作?👀 虽然一些人将其视为AI效率的革命性飞跃,但另一些人则认为它的成功建立在借用(甚至窃取的)创新和可疑的做法之上。传言称,DeepSeek的首席执行官在疫情期间像囤积卫生纸一样囤积Nvidia芯片——这只是冰山一角。 从其声称的550万美元培训预算到使用Open

阅读更多
Type something to search...