SuperAPI AI 工具集

di-agent-flow-pyflow

智能体与模型

查看项目

更新于 10-15 22:16

技能介绍

用途:Pyflow 是 IBM 的 LLM 优化 Python DSL,用于编写 DataStage 和 StreamSets 数据流。它表达声明式意图,编译器负责选择 stage 与连线,并生成引擎相关的命令式流程,因此无需 stage 级 DataStage 专业知识。使用前必须先加载 di-agent-flow-lifecycle 技能,路由(用 pyflow 还是 DataStage SDK、创建还是编辑)由该技能决定。

主要能力:编译器在发布资产前校验流程并给出编译期反馈,自动设置连接元数据,token 消耗远低于 SDK,生成的 pyflow 原生流程可干净往返以便后续编辑。Pyflow 擅长搭建结构(源、连接、过滤及连线),表达式和 stage 属性可在生成的 SDK 中低成本补充。

使用方式:运行时提供全局 q,不要导入或实例化。每个流程用 q.source() 声明源(只列实际使用的列,至少一列),调用一次 q.name("<snake_case_name>"),并以一个 sink 结尾:q.output(frame) 或 q.write(frame, "symbol", operation="insert"|"overwrite"|"update"|"create")。代码不得含 import 或 print(),不得把源结果赋回 q。create_pyflow 通过 replace_flow_id 区分新建与原地覆盖;符号通过 bindings 绑定到数据资产 UUID 或 "<connection_id>:<path>"。优先用 list_data_assets 解析绑定,无匹配再用 discover_connection_data。

适用场景与限制:DataStage 与 Jetstream 支持的 Frame 操作不同,Jetstream 仅支持单线性链且部分操作尚在开发中。已知缺口记录在 di-agent-flow-lifecycle/references/registry.md,分为 blocking 与 spliceable。参数集、本地参数与 DataStage 宏仅限 DataStage。Excel 读取仅支持 Azure Blob Storage、S3 和 COS 源。其余细节暂未提供。