Type something to search...
构建多代理互联网研究助手

构建多代理互联网研究助手

…使用 OpenAI Swarm 和 Llama 3.2(100% 本地)。

让我们使用 OpenAI Swarm 和 Llama 3.2(100% 本地)构建一个多智能体互联网研究助手:

动手教程,构建一个多智能体互联网研究助手应用程序,该应用程序:

  • 接受用户查询。
  • 在网上搜索相关信息。
  • 并将其转化为一篇精心撰写的文章。

我们在这个应用中使用了三个智能体:

  • 智能体 1 → 接受用户查询并在网上搜索。
  • 智能体 2 → 接受来自智能体 1 的网络结果并进行精炼。
  • 智能体 3 → 一个技术写作智能体,接受精炼后的结果,起草一篇文章,并将其发送回用户。

最近,OpenAI 发布了 Swarm。

这是一种开源框架,旨在以高度可定制的方式管理和协调多个 AI 智能体。

AI 智能体是自主系统,可以推理、思考、规划,找出相关来源并在需要时从中提取信息,采取行动,甚至在出现问题时自我纠正。

今天,让我们覆盖一个实用的动手演示。我们将构建一个互联网研究助手应用程序,该应用程序:

  • 接受用户查询。
  • 在网上搜索相关信息。
  • 并将其转化为一篇精心撰写的文章。

我们将使用:

  • OpenAI Swarm 进行多智能体编排。
  • Streamlit 进行用户界面设计。

以下是我们多智能体应用的逐步工作流程。

如上所示,我们有三个智能体:

  • 智能体 1 → 接受用户查询并在网上搜索。
  • 智能体 2 → 接受来自智能体 1 的网络结果并进行精炼。
  • 智能体 3 → 一个技术写作智能体,接受精炼后的结果,起草一篇文章,并将其发送回用户。

让我们构建这个应用程序!

导入

首先,我们开始进行一些标准导入:

  • 我们使用来自OpenAI的Swarm来构建我们的多代理应用。
  • 我们使用duckduckgo_search来搜索网络。

接下来,我们定义模型名称,并初始化swarm客户端和搜索客户端:

Agent 1

该代理必须接受用户的查询,搜索网络,并返回原始网络结果。

为了构建这个,我们首先实现一个接受查询并返回原始结果的函数。

  • 第7行:搜索网络。
  • 第9–16行:将所有网络结果(标题 + URL + 正文)收集到一个字符串中并返回。

接下来,我们定义我们的网络搜索代理,它将利用上述函数,并且我们还在下面指定该代理的指令:

第1行:我们指定角色。

第6–11行:我们定义一个Agent类的对象(来自OpenAI Swarm),指定上述函数、指令和LLM。

Agent 2

Agent 1 返回的结果可能非常杂乱,并且可能包含大量无关信息。我们需要另一个代理来筛选适当的信息。

与 Agent 1 一样,我们定义另一个 Agent 类的对象并传递指令:

Agent 3

最后,我们构建了另一个代理,它接受上述过滤结果并撰写文章:

将它们组合在一起

虽然我们已经定义了上述三个代理,但多代理应用程序并不知道这些代理必须运行的顺序以及哪个输出必须传递给下一个代理。

因此,我们需要在工作流函数中将它们组合在一起。

为了简单起见,我们一步一步来。

  • 首先,我们将用户查询传递给网络搜索代理,它生成原始响应:

接下来,我们将原始响应传递给网络过滤代理:

完成!

这是 run_workflow 方法的完整代码:

执行 run_workflow 方法会生成期望的输出,如下所示(以及本通讯顶部的视频:

当然,我们在本教程中没有涉及 Streamlit 部分。

我们今天启动了这个仓库,我们将在其中发布此类动手 AI 工程通讯期刊的代码。

这个仓库将专注于:

  • 深入教程关于 LLMs 和 RAGs。
  • 真实世界的 AI 代理 应用。
  • 在您的项目中实施、适应和扩展的示例。

您喜欢这个主题吗?加入我们的通讯 订阅

如果您喜欢这篇文章并希望支持我,请确保:

👏 为故事点赞(100 次点赞)并关注我 👉🏻 Mohammed Lubbad

📑 查看我 Medium 个人资料 上的更多内容

🔔 关注我: LinkedIn | Medium | GitHub | Twitter | Telegram

🚀 通过与您的朋友和同事分享我的内容,帮助我接触更广泛的受众。

Related Posts

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

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

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

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

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

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

阅读更多
10 个强大的 Perplexity AI 提示,让您的营销任务自动化

10 个强大的 Perplexity AI 提示,让您的营销任务自动化

在当今快速变化的数字世界中,营销人员总是在寻找更智能的方法来简化他们的工作。想象一下,有一个个人助理可以为您创建受众档案,建议营销策略,甚至为您撰写广告文案。这听起来像是一个梦想? 多亏了像 Perplexity 这样的 AI 工具,这个梦想现在成为现实。通过正确的提示,您可以将 AI 转变为您的 个人营销助理。在本文中,我将分享 10 个强大的提示,帮助您自动

阅读更多
10+ 面向 UI/UX 设计师的顶级 ChatGPT 提示

10+ 面向 UI/UX 设计师的顶级 ChatGPT 提示

人工智能技术,如机器学习、自然语言处理和数据分析,正在重新定义传统设计方法。从自动化重复任务到实现个性化用户体验,人工智能使设计师能够更加专注于战略思维和创造力。随着这一趋势的不断增长,UI/UX 设计师越来越多地采用 AI 驱动的工具来促进他们的工作。利用人工智能不仅能提供基于数据的洞察,还为满足多样化用户需求的创新设计解决方案开辟了机会。 1. 用户角色开发 目的

阅读更多
在几分钟内完成数月工作的 100 种人工智能工具

在几分钟内完成数月工作的 100 种人工智能工具

人工智能(AI)的快速发展改变了企业的运作方式,使人们能够在短短几分钟内完成曾经需要几周或几个月的任务。从内容创作到网站设计,AI工具帮助专业人士节省时间,提高生产力,专注于创造力。以下是按功能分类的100个AI工具的全面列表,以及它们在现实世界中的使用实例。 1. 研究工具 研究可能耗时,但人工智能工具使查找、分析和组织数据变得更加容易。**ChatGPT, Cop

阅读更多
你从未知道的 17 个令人惊叹的 GitHub 仓库

你从未知道的 17 个令人惊叹的 GitHub 仓库

Github 隐藏的宝石!! 立即收藏的代码库 学习编程相对简单,但掌握编写更好代码的艺术要困难得多。GitHub 是开发者的宝藏,那里“金子”是其他人分享的精心编写的代码。通过探索 GitHub,您可以发现如何编写更清晰的代码,理解高质量代码的样子,并学习成为更熟练开发者的基本步骤。 1. notwaldorf/emoji-translate *谁需

阅读更多