自定义算子¶
当前官方 Python 和 Go SDK 没有 WorkItem 清单、自定义算子管理或通用工作流模板 API。它们能创建节点图,但 CatalogWorkflowNode.type 只是字符串;SDK 不校验目标实例是否注册了该类型,也不校验端口和初始化参数。
内置的文档处理模板¶
唯一公开的高层工作流模板是:
Python:
SDKClient.create_document_processing_workflow()Go:
SDKClient.CreateDocumentProcessingWorkflow()
该 helper 创建固定的读取、解析、分块、向量化和写出链,并在文件载入时触发。Python 当前使用 EmbeddingNodeV2,Go 当前使用 EmbedNode;这是两个 SDK main 分支的真实差异。部署前在目标实例分别验证,不要假定跨语言创建出的定义完全相同。
helper 不接受自定义 WorkItem、节点列表或初始化参数。需要自定义图时,使用 RawClient.create_workflow()/CreateWorkflow() 组装 nodes 和 connections。
自定义节点图的安全边界¶
创建前从目标 MOI 实例取得实时 WorkItem 清单。当前 SDK 没有封装 GET /workspaces/:id/workitems,因此应使用实例文档中明确支持的 Product API 客户端查询,或在 UI 中核对。不要维护静态节点类型清单。
对每个节点确认:
type与目标实例返回的 WorkItem ID/类型一致;init_parameters符合该 WorkItem 的签名;无参数时传空对象而不是null;连接的发送/接收端口确实存在;
节点版本、模型、资源和 Catalog 对象在当前工作区可用。
自定义算子的创建、测试、启停和版本发布应在 Catalog 或目标实例明确提供的 API 中完成。SDK 的 CreateWorkflow 只引用节点,不负责注册算子。
需要把算子作为同步 HTTP 服务发布时,参见 工作项服务 的支持边界。