描述
DAGent 提供了一个有主见的 Python 库,用于以最小的开销快速创建 AI 代理。核心概念围绕着将 AI 代理逻辑结构化为工作流,可视化为有向无环图 (DAG)。代理中的每个 Python 函数都被视为该图中的一个节点。
通过使用大型语言模型 (LLM) 来推断下一个要执行的函数来实现代理行为。此推断过程由“决策节点”管理,该节点充当 LLM 驱动的决策制定的中心点。工具,本质上是 Python 函数,可以集成到代理中。强烈建议为这些函数提供清晰的文档字符串和类型注解,以帮助 LLM 理解其目的和参数,特别是对于更复杂的工具。
该库区分 `FunctionNode` 和 `DecisionNode`。`FunctionNode` 执行一个 Python 函数,当它连接到 `DecisionNode` 时,它可以被视为 LLM 可以选择的工具。`DecisionNode` 是 LLM 从一组可用函数中进行选择的地方。`.compile()` 方法会自动在 `Tool_JSON` 文件夹下生成并保存工具描述(JSON 格式),如果需要提高代理的可靠性,可以手动编辑这些描述。`prev_output` 参数对于在工作流中的函数之间传递数据至关重要,要求它存在于函数签名中。为了处理意外的参数,建议在函数签名中添加 `**kwargs`。
DAGent 支持使用各种 LLM 模型进行推理和工具描述生成。用户可以在调用 LLM 函数或编译 `DecisionNode` 实例时指定所需的模型,从而灵活选择 Groq 或 Ollama 等模型。该库支持函数节点的动态参数覆盖,从而能够在执行期间微调代理行为。可以通过专用表单提供对该库的反馈。
DAGent的核心功能
使用现有的 Python 代码构建 AI 代理
将代理逻辑结构化为有向无环图 (DAG)
通过决策节点实现 LLM 驱动的函数选择
将函数视为 LLM 的工具
自动生成工具描述 (JSON)
支持多种 LLM 模型 (例如 Groq, Ollama)
使用 `prev_output` 参数在函数之间传递数据
函数节点的动态参数覆盖
包含示例快速入门代理
DAGent入门
安装: pip install dagent 或 rye add dagent
配置: 确保您的 API 密钥 (例如 OPENAI_API_KEY) 可用
开发: 定义用作节点的 Python 函数
集成: 使用 DecisionNode 允许 LLM 选择函数
编译: 运行 `.compile()` 以生成工具描述
执行: 运行您的代理工作流
DAGent的使用案例
- 自动化任务执行
- 数据分析代理
- 代码生成助手
- 工作流自动化
- 自定义 AI 工具集成
- LLM 驱动的脚本








