SuperAPI AI 工具集

bedrock-flows

智能体与模型

查看项目

更新于 10-15 10:00

技能介绍

用途

Amazon Bedrock Flows 是 Amazon Bedrock 的视觉化工作流构建器,用于端到端编排生成式 AI 应用。它把基础模型、提示词、知识库和 AWS 服务连接起来,目标是让用户不写编排代码也能搭建复杂 AI 流程。

主要能力

资料列出的核心能力包括:

  • 视觉化流程构建器:通过拖放界面创建复杂工作流。
  • 基础模型集成:连接多个模型与提示词。
  • 知识库节点:基于 Bedrock Knowledge Bases 构建 RAG 流程。
  • 条件分支:按条件决定执行路径。
  • 迭代与循环:处理数组并重复操作。
  • Lambda 与内联代码:在不部署的情况下编写自定义逻辑。
  • 版本管理:为 A/B 测试与回滚提供流程版本。
  • API 部署:通过 boto3 以编程方式调用流程。

资料还列出收益:无需代码、组件可复用、支持并行执行、具备版本控制、以别名提供生产级 API 调用、原生支持 Lambda、S3 与 Knowledge Base。

节点类型

流程控制节点:

  • 输入节点(必需):每个流程必须且只能有一个 Input 节点作为入口。
  • 输出节点(必需):每个流程至少有一个 Output 节点。

编排节点:

  • Prompt 节点:用提示词模板调用基础模型,支持内联提示或引用已保存提示、{{variable_name}} 变量替换、完整推理配置以及多模型支持。
  • Agent 节点:调用 Bedrock Agent 进行多轮交互。

数据节点:

  • Knowledge Base 节点:执行带 RAG 的知识库查询,可配置 numberOfResults(1–100)与 overrideSearchType(HYBRID 语义加关键词,或 SEMANTIC),同时返回生成结果与原始检索结果。
  • S3 Retrieval 节点:从 S3 存储桶获取数据。
  • S3 Storage 节点:将数据写入 S3 存储桶。

逻辑节点:

  • Condition 节点:按条件分支执行,典型用例包括内容路由(情感、类别、语言)、错误处理(重试、回退)、功能开关(A/B 测试)、阈值检查(置信度分数)。
  • Iterator 节点:遍历数组元素。
  • Collector 节点:收集迭代器结果。Iterator 与 Collector 可组合成“迭代(文档)→ 逐个处理 → 收集(摘要)”的模式。
  • DoWhile 循环节点(2025 新增):在条件为真时重复执行,可用于迭代优化、带退避的重试、渐进增强与多步校验。

代码节点:

  • Lambda Function 节点:执行外部 Lambda 函数,要求流程执行角色具有 lambda:InvokeFunction 权限,Lambda 需接收事件负载并返回 JSON 响应。
  • Inline Code 节点(2025 新增,预览):直接执行 Python 代码而无需部署 Lambda,运行 Python 3.x、可访问标准库、采用类似 Lambda 的事件与上下文模式、迭代更快。限制包括:仍处于预览阶段(需查阅 AWS 文档确认可用性)、不支持外部依赖(pip 包)、存在执行时间限制、仅限 Python 3.x。

使用方式

资料给出三步快速入门与对应代码。

第一步,创建流程。用 boto3 的 bedrock-agent 客户端调用 create_flow,提供 name、description、executionRoleArn 以及包含 nodes 与 connections 的 definition。示例构建了一个文档问答流程:FlowInput 输入节点、SearchKB 知识库节点、FlowOutput 输出节点,并用 Data 类型连接串联。

第二步,部署流程。依次调用 prepare_flow(校验配置)、create_flow_version(创建版本)、create_flow_alias(创建别名),别名的 routingConfiguration 指向某个流程版本。

第三步,调用流程。用 bedrock-agent-runtime 客户端的 invoke_flow,传入 flowIdentifier、flowAliasIdentifier 以及 inputs 数组(包含 content、nodeName、nodeOutputName),然后遍历返回的 responseStream,从 flowCompletionEvent 判断完成原因,并从 flowOutputEvent 取得输出内容。

资料中各节点的配置示例展示了通过 inputs 中的 expression 字段在节点之间传递数据,例如 FlowInput.document、SearchKB.generatedResponse、GenerateResponse.modelCompletion 等。

适用场景

资料给出的适用场景包括:多步 AI 工作流(串联多次模型调用)、RAG 应用(从知识库检索并生成回答)、基于条件的动态路由、数据处理管道(转换与丰富数据)、智能体编排以及生产部署(稳定且带版本的 AI 应用)。

限制

资料明确提到的限制集中在 Inline Code 节点:仍处于预览阶段、不支持外部依赖、有执行时间限制、仅限 Python 3.x。Lambda 节点方面要求执行角色具备调用权限、Lambda 需接受事件负载并返回 JSON。其余如配额、价格、区域可用性、流程规模上限等信息暂未提供。