DAGent 是一个有明确设计取向的 Python 库,旨在帮助开发者利用现有 Python 代码快速构建 AI 智能体,避免不必要的复杂性。其核心是将 AI 智能体结构化为工作流:每个 Python 函数被设置为图中的一个节点,智能体行为则通过大语言模型(LLM)推断应运行哪个函数来实现,这一过程由抽象的“决策节点”(Decision Node)完成。在这种设计下,工具就是 LLM 可以使用的普通函数。
安装与配置: 可通过 pip install dagent 或 rye add dagent 安装。使用时需确保系统中提供所选的 API 密钥,默认使用 OPENAI_API_KEY。快速入门示例可参考 dagent/examples/quickstart_simple_agent.py。
主要能力与使用方式:
- 函数节点:用于运行 Python 函数,可附加到 DecisionNode 上被当作工具,让 LLM 选择运行哪个函数。
- 决策节点:在这里 LLM 从给定选项中挑选要运行的函数。其 .compile() 方法会自动生成并保存工具描述到 Tool_JSON 文件夹。若出现错误或工具选项变更,可用参数 force_load=True 强制加载。开发者可自由编辑生成的功能/工具描述,以提高智能体可靠性。
- prev_output 参数:如果需要在函数之间传递数据,必须在函数签名中包含该参数;前一个函数应返回相应值才能生效。
- 异常处理:如果出现传入多余参数或异常情况,可在函数中添加 **kwargs 以查看是否有隐藏参数需要处理。
- 参数覆盖:参数可随时覆盖,覆盖操作会在后台合并 kwargs,且以用户提供的参数优先。
使用不同模型: DAGent 支持使用不同的 LLM 模型进行推理和工具描述生成。可以在调用 call_llm、call_llm_tool 时指定模型,也可以在编译 DecisionNode 时指定。例如使用 groq/llama3-70b-8192 模型。
适用场景与限制: DAGent 适合希望复用现有 Python 代码、以图结构组织工作流并快速创建 AI 智能体的开发者。建议为函数编写文档字符串和类型注解,尤其是在较大的函数/工具中,以帮助 LLM 推断其功能。工具描述可手动编辑以提升可靠性。关于具体支持的模型范围、计费、性能表现等更多信息,资料中暂未提供。