Skip to content

快速开始:使用 Anthropic 节点创建 Flow

本页面展示如何使用 Claude 3 Sonnet 模型,对接收到的遥测数据进行数值聚合处理。该示例模拟一个真实场景,在智能工厂或楼宇等物联网系统中,设备通过 MQTT 发送状态消息,系统需要对这些数据进行自动化、智能化的处理。

场景描述

在许多工业或智能楼宇应用中,IoT 设备会在一条 MQTT 消息中同时上报多个指标。例如,一个电力监测设备可能会一次性上报多个回路的电力数据。

每条消息发布到主题 devices/power_report,其字段包括:

  • device_id:设备唯一标识
  • 多个数值型字段,例如 circuit_1circuit_2circuit_3
  • 其他非数值字段,如 statustimestamp

目标是使用 LLM(Claude 3 Sonnet)对消息中的所有数值字段进行求和(即各个回路的总耗电量),并将结果以数值形式转发到下游用于计费或存储处理。

示例消息

json
{
  "device_id": "pmu-1008",
  "circuit_1": 120.5,
  "circuit_2": 98.7,
  "circuit_3": 103.2,
  "status": "nominal",
  "timestamp": "2025-06-06T10:00:00Z"
}

预期输出(由 Claude 模型生成)

322.4

即所有回路电量字段的总和。

创建 Flow

前置条件

请确保你拥有有效的 Anthropic API Key,并设置正确的 API 版本(如 2023-06-01)。

  1. Flow 设计器页面中点击新建 Flow

  2. 添加消息节点:

    • 从左侧 Source 区域拖拽一个消息节点到画布中。
    • 设置订阅主题为 devices/power_report
    • 点击保存
  3. 添加 Anthropic 节点:

    • 从 Processing 区域拖拽一个 Anthropic 节点并连接到上一步的消息节点。

    • 配置节点如下:

      • 输入:填写 payload

      • 系统消息:填写以下提示词:

        你是一个电力消耗计算器。给定一个包含多个键的输入 JSON 对象,请对其中所有数值型字段(如各回路读数)进行求和,并仅返回总和。
      • 基础 URL:默认值为 https://api.anthropic.com/v1 ,您也可以输入其他兼容 Anthropic API 格式的模型基础 URL。

        注意

        如果使用基础 URL(公网地址),需确保您已开通了 NAT 网关。如果使用支持兼容 Anthropic API 格式的模型基础 URL(内网地址),需确保您已设置了 VPC 对等连接私网连接(PrivateLink)

      • 模型:选择 claude-3-sonnet-20240620

      • 最大令牌数50

      • Anthropic 版本2023-06-01

      • API 密钥:填写您的 Anthropic API 密钥。

      • 基础 URL:留空(使用默认地址)。

      • 输出结果别名:填写 total_power

    • 点击保存以保存节点配置。

  4. 添加消息重发布节点:

    • 从 Sink 区域拖拽一个消息重发布节点,并连接到 Anthropic 节点。
    • 设置目标主题为 devices/power_total
    • 设置 Payload 为 ${total_power}
    • 点击保存
  5. 连接所有的节点,并点击右上角的保存按钮保存整个 Flow。

    anthropic_node_flow

  6. Flow 和表单规则是互通的。你也可以在规则页面中查看对应的 SQL 和规则配置。

    anthropic_node_rule_page

测试 Flow

  1. 使用 MQTT 客户端连接到 EMQX。

    您可以使用部署的在线调试模拟 MQTT 客户端,也可以使用 MQTTX 或实际 MQTT 客户端:

    • 连接至 EMQX 服务端。
    • 订阅主题 devices/power_total
  2. 开始测试:

    • 在 Flow 设计器中点击任意节点,打开编辑面板。

    • 点击编辑 Flow,然后点击开始测试打开底部测试面板。

    • 点击输入模拟数据,设置消息主题为 devices/power_report,在 Payload 中输入以下测试消息,然后点击提交测试发布到:

      json
      {
        "device_id": "pmu-1008",
        "circuit_1": 120.5,
        "circuit_2": 98.7,
        "circuit_3": 103.2,
        "status": "nominal",
        "timestamp": "2025-06-06T10:00:00Z"
      }
  3. 查看结果和节点运行指标:

    • 你将看到 Flow 成功执行并产出结果。

      anthropic_node_test_result
    • 回到在线调试页面,您应能收到类似以下的 AI 输出结果:

      322.4

    • 若测试失败,页面会显示对应错误信息。

    • 若需查看该 Anthropic 节点的运行统计,在 Flow 设计器中双击数据处理节点,在弹出的编辑面板中点击运行统计选项卡。

      anthropic_node_statistics