NVIDIA Agent Intelligence toolkit 是一个开源库,用于高效连接和优化 AI 智能体 团队。它专注于帮助开发者快速构建、评估、分析和加速复杂的代理式 AI 工作流,即多个 AI 智能体协作执行任务的系统。
“智能体工具包作为一个统一框架,集成了各种平台 (例如 LangChain、LlamaIndex、Semantic Kernel 和 CrewAI) 中的现有智能体、工具和工作流。该工具包将这些组件视为函数调用,使其可组合和可重复使用。可以将智能体工具包视为编排 AI 智能体团队的“指挥”。此外,它还提供用于分析 (例如跟踪延迟和 token 使用情况) 、优化、扩展和可观察性的工具,确保企业级代理式系统的高效性能。

Agent Intelligence 工具包的核心优势在于其可扩展性。本文将介绍如何通过添加与其他代理式框架 Agno 的集成来扩展工具包。
“Agno (以前称为 Phidata) 是一个轻量级构建智能体库,特别是具有多模态功能的智能体。它将 大语言模型 (LLMs) 作为统一的 API 公开,并为它们提供内存、知识、工具和推理等超能力。截至撰写本文之时,Agno 的开发者生态系统不断发展,拥有超过 26,000 个 GitHub 星。Agno 与模型无关、速度快且原生多模态。有关功能的完整列表,请在 GitHub 上查看 agno-agi/agno 。”
智能体工具包的主要功能
Agent 工具包生态系统中的常见特征和术语包括以下内容:
- 工作流 :工作流是 Agent 工具包应用的主要切入点。它由 YAML 配置文件完全配置 ,该文件指定了要在工作流中使用的实体 (例如函数、LLMs 或 embedders) ,以及常规配置设置。
- 软件包 :模块化组件或插件,可扩展工具包的功能,使其能够与各种框架、工具和工作流集成。这些软件包可以根据特定用例或要求单独安装,并使 Agent 工具包能够支持各种代理式工作流。例如,CrewAI 的多智能体协作等工作流将使用
agentiq-crewai
包。 - 插件 :Agent 工具包具有可扩展的插件系统,支持您向库中添加新工具、代理、工作流程等。Agent 工具包插件系统围绕两个主要概念设计:entry points 和 decorators。借助 entry points,工具包可以从 Python 环境中安装的任何分发包中发现插件。decorators 支持开发者向库注册插件。
图 2 显示了工具包不同级别的 plugins。

将 Agno 集成到 Agent Intelligence Toolkit 中
本节介绍将 Agno 集成到 Agent 工具包的步骤。可以应用相同的步骤将其他代理式框架集成到工具包中。
第 0 步:预备知识
在访问 NVIDIA NIM 微服务时 ,运行 Agent 工具包工作流没有特定的 GPU 要求。但是,如果您自行托管 NIM,则需要所选 NIM 所需的特定 GPU 或 GPU。有关 Agent 工具包的前提条件及其安装步骤的更多详细信息, 请参阅 GitHub 上的 NVIDIA/AIQToolkit 。
第 1 步:创建新的 Agent Toolkit 包
代理工具包使用软件包 (位于 packages
目录中) 与外部框架集成。创建一个新软件包 agentiq_agno
,将 Agno 连接到 Agent 工具包。首先,在 AgentIQ/packages/
下创建名为 agentiq_agno
的新文件夹。通过研究 agentiq_crewai
等现有软件包结构,可以得到如 Figure 3 所示的基本结构。

agentiq_agno
的目录结构 其次,配置 pyproject.toml
,用于定义 package 及其 dependencies:
[build-system]
build-backend = "setuptools.build_meta"
requires = ["setuptools >= 64", "setuptools-scm>=8"]
[tool.setuptools.packages.find]
where = ["src"]
include = ["aiq.*"]
[tool.setuptools_scm]
root = "../.."
[project]
name = "agentiq-agno"
dynamic = ["version"]
dependencies = [
"agentiq",
"agno~=1.2.3",
]
requires-python = ">=3.12"
readme = "src/aiq/meta/pypi.md"
description = "Subpackage for Agno integration in Agent toolkit"
keywords = ["ai", "rag", "agents"]
classifiers = ["Programming Language :: Python"]
[tool.uv]
config-settings = { editable_mode = "compat" }
[tool.uv.sources]
agentiq = { workspace = true }
[project.entry-points.'aiq.components']
aiq_agno = "aiq.plugins.agno.register"
请注意此 pyproject.toml
中的以下内容:
- 依赖项:
agentiq
和agno
等依赖项库的列表。 - 项目切入点: 扫描 Python 环境中名为
aiq.components
的切入点。入口点的值是加载入口点时将导入的 Python 模块。例如,它指向aiq.plugins.agno.register
,这意味着在安装aiq-agno
发行版时,将在加载入口点时导入aiq.plugins.agno.register
模块。此模块必须包含初始化库时需要加载的所有@register_<plugin_type>
装饰器。
然后使用以下命令定义 LLM 客户端进行集成 NVIDIA NIM 。在以下代码示例中,@register_llm_client 装饰器注册了用于 Agno 集成的 LLM 客户端,可供使用 Agno 的代理式工作流使用。
@register_llm_client(config_type=NIMModelConfig, wrapper_type=LLMFrameworkEnum.AGNO)
async def nim_agno(llm_config: NIMModelConfig, builder: Builder):
from agno.models.nvidia import Nvidia
config_obj = {
**llm_config.model_dump(exclude={"type", "model_name"}, by_alias=True),
"id": f"{llm_config.model_name}",
}
if ("api_key" not in config_obj or config_obj["api_key"] is None):
if ("NVIDIA_API_KEY" in os.environ):
pass
else:
nvidai_api_key = os.getenv("NVIDIA_API_KEY")
if (nvidai_api_key is not None):
os.environ["NVIDIA_API_KEY"] = nvidai_api_key
nvidia_args = {"id": config_obj.get("id")}
if "base_url" in config_obj and config_obj.get("base_url") is not None:
nvidia_args["base_url"] = config_obj.get("base_url")
yield Nvidia(**nvidia_args)
接下来,为 Agno 注册一个工具包装器。工具包装器用于以特定于 LLM 框架的方式包装函数。例如,使用 Agno 框架时,Agent 工具包函数需要封装在 Agno 的 Tool 类中,以便与 Agno 兼容。查看 agno_tool_wrapper
的源代码。
第 2 步:安装新 toolkit 包
现在,您可以运行以下命令来安装新创建的 Agno 包及其新插件:
uv pip install -e '.[agno]'
第 3 步:使用新支持的 agentic framework 创建自定义工作流
下一步是使用 Agno 创建智能体的自定义工作流程。此示例将使用个人财务智能体,该智能体使用 NVIDIA LLM NIM 生成个性化财务计划。它可以自动执行研究、规划和制定量身定制的预算、投资策略和节约目标的过程,使用户能够控制自己的财务未来。
Agent 工具包随附一组命令行界面来管理工作流。您可以在 agentiq
项目根目录下运行以下命令,为新工作流程 agno_personal_finance
生成必要的文件和目录结构,从而实现设置流程的自动化:
aiq workflow create --workflow-dir examples agno_personal_finance
此命令会在 agentiq
的 examples
目录下生成以下文件和文件夹:

agno_personal_finance
的目录结构 此结构是一个 starter template。接下来,填写详细信息。
pyproject.toml
[build-system]
build-backend = "setuptools.build_meta"
requires = ["setuptools >= 64", "setuptools-scm>=8"]
[tool.setuptools_scm]
root = "../.."
[project]
name = "aiq_agno_personal_finance"
dynamic = ["version"]
dependencies = [
"agentiq[agno]",
"openai~=1.66",
"litellm~=1.63.14"
]
requires-python = ">=3.12"
description = "Custom Workflow using Agno for personal finance"
classifiers = ["Programming Language :: Python"]
[tool.uv.sources]
agentiq = { path = "../..", editable = true }
[project.entry-points.'aiq.components']
aiq_agno_personal_finance = "aiq_agno_personal_finance.register"
agno_personal_finance_function.py
此文件包含个人金融智能体的主要功能。AgnoPersonalFinanceFunctionConfig
类定义用于创建函数 agno_personal_finance
的运行时实例的参数。该功能以用户的财务目标和当前状况为依据,调用研究人员智能体根据用户偏好寻找财务建议、投资机会和节约策略,然后规划器智能体生成个性化的财务计划。要查看此文件的来源,请参阅 GitHub 上的 wenqiglantz/AgentIQ 。
config.yml
工作流配置文件用于指定函数和 LLM,并根据定义的函数和 LLM 以及常规配置设置来构建工作流。此示例使用 Llama 3.3 70B Instruct 作为 LLM。您可以对其进行自定义,以使用任何支持从 build.nvidia.com 或自托管 NIM 进行函数调用的 LLM。
general:
use_uvloop: true
functions:
agno_personal_finance:
_type: agno_personal_finance
llm_name: nim_llm
llms:
nim_llm:
_type: nim
model_name: meta/llama-3.3-70b-instruct
temperature: 0.0
workflow:
_type: agno_personal_finance
tool_names: [agno_personal_finance]
llm_name: nim_llm
verbose: true
retry_parsing_errors: true
max_retries: 3
第 4 步:使用可重复使用的函数优化 workflow
Agent 工具包的显著特点之一是能够使用其 builder 以与框架无关的方式获取或创建工具。这意味着,任何需要使用工具中定义的功能的工作流程都可以重复使用这些工具。
在当前 agno_personal_finance
的实现中,研究代理调用了一个 Serp API 搜索工具,根据用户输入来搜索金融建议、投资机会或其他信息。通过在 agno_personal_finance_function.py
中直接调用 Agno 的 SerpApiTools
来初始化搜索工具:
search_tool = SerpApiTools(api_key=os.getenv("SERP_API_KEY"))
对于 Agent 工具包中的可重用函数,Serp API 搜索是一个很好的选择。下一节将介绍如何在工具包中为 Serp API 搜索添加可重复使用的函数。
首先,研究 Agent 工具包插件图 (图 2) ,并确定此可重复使用函数的最佳位置是在软件包级别。为什么?因为 SerpApiTools
是由 Agno 框架定义的类。然后,添加配置类 SerpApiToolConfig
,实现 serp_api_tool
函数,并将此新函数 serp_api_tool
注册到工具包中。请参阅 serp_api_tool
函数的完整源代码。
定义为新函数并在 Agent 工具包中注册后,Agent 工具包的构建器即可发现此新函数。然后,您可以修改工作流中构建 Serp API 搜索工具的原始代码行:
search_tool = SerpApiTools(api_key=os.getenv("SERP_API_KEY"))
以便:
search_tool = builder.get_tool(fn_name=config.serp_api_tool, wrapper_type=LLMFrameworkEnum.AGNO)
请参阅 agno_personal_finance_function.py
的最终源代码 。
新函数开发完成后,需要对工作流配置文件 config.yml
进行一些调整。在“functions” (函数) 部分下声明 serp_api_tool
,并将其注入到 agno_personal_finance
函数中。工作流部分将 llm_name
和 serp_api_tool
拼接在一起,将其组合成 agno_personal_finance
工作流。请参阅以下 config.yml
的示例片段:
general:
use_uvloop: true
functions:
serp_api_tool:
_type: serp_api_tool
# You can add your SerpAPI key here or use environment variables
# api_key: your_serp_api_key
agno_personal_finance:
_type: agno_personal_finance
llm_name: nim_llm
serp_api_tool: serp_api_tool
llms:
nim_llm:
_type: nim
model_name: meta/llama-3.3-70b-instruct
temperature: 0.0
workflow:
_type: agno_personal_finance
llm_name: nim_llm
serp_api_tool: serp_api_tool
verbose: true
retry_parsing_errors: true
max_retries: 3
最后但并非最不重要的一点是,在 agentiq_agno
包中添加新函数 serp_api_tool
后,有必要修改该包的 pyproject.toml
入口点。请注意 aiq_agno_tools
的新入口点:
[project.entry-points.'aiq.components']
aiq_agno = "aiq.plugins.agno.register"
aiq_agno_tools = "aiq.plugins.agno.tools.register"
第 5 步:安装并运行新 workflow
接下来,运行以下命令安装新 workflow:
uv pip install -e examples/agno_personal_finance
在开始工作流之前,请设置两个 environment variables:
NVIDIA_API_KEY
,用于访问 NVIDIA 托管的 NIM 端点SERP_API_KEY
,用于搜索工具
然后调用 aiq run
运行工作流程:
export NVIDIA_API_KEY=<YOUR_NVIDIA_API_KEY>
export SERP_API_KEY=<YOUR_SERP_API_KEY>
aiq run --config_file examples/agno_personal_finance/src/aiq_agno_personal_finance/configs/config.yml --input "My financial goal is to retire at age 60. I am currently 40 years old, working as a Machine Learning engineer at NVIDIA."
响应示例如下所示:
Workflow Result:
["To create a personalized financial plan for a 40-year-old Machine Learning engineer at NVIDIA with a goal to retire at 60, we'll need to consider several factors, including their current income, expenses, savings, and investment goals.\n\nAssuming the engineer has a stable income and a decent savings rate, here's a possible plan:\n\n1. **Retirement Savings**: Contribute at least 10% to 15% of their income towards retirement accounts such as 401(k) or IRA. NVIDIA may offer a matching program, so it's essential to contribute enough to maximize the match.\n2. **Investment Strategy**: Allocate a significant portion of their portfolio towards low-cost index funds or ETFs, which provide broad diversification and tend to be less volatile. A possible allocation could be:\n\t* 60% Stocks (40% US, 20% International)\n\t* 30% Bonds (20% Government, 10% Corporate)\n\t* 10% Alternatives (Real Estate, Commodities, etc.)\n3. **Savings Rate**: Aim to save at least 20% to 25% of their income towards short-term and long-term goals, including retirement, emergencies, and large purchases.\n4. **Expense Management**: Create a budget that accounts for all necessary expenses, including housing, food, transportation, and insurance. Aim to keep discretionary spending in check and allocate any excess funds towards savings and investments.\n5. **Tax Optimization**: Consider contributing to tax"]
总结
NVIDIA Agent Intelligence 工具包 使开发者能够快速构建、评估、分析和加速复杂的代理式 AI 工作流。它是开源的,具有显著的可扩展性,使开发者能够根据不同需求定制其功能。
本文详细介绍了如何通过集成 Agno 等代理式框架和构建自定义工作流来增强 Agent 工具包。这一过程展示了工具包的灵活性,并凸显了其作为企业环境中创新 AI Agent 驱动解决方案的基础的潜力。
通过无缝整合新的框架和工作流,Agent 工具包使您能够突破基于 Agent 的系统的极限,精准高效地适应特定用例。有关功能、配置选项和高级应用程序等更多详细信息,请参阅官方 文档 。
准备好向我们展示您的能力了吗?报名参加 NVIDIA Agent Toolkit 黑客松,即有机会赢得 NVIDIA GeForce RTX 5090。