Elasticsearch:使用 Workflow 查询天气,发送消息到 Slack

在今天的文章中,我们将使用 Workflow 来展示如何使用 HTTP 来查询天气,以及发送消息到 Slack。

发送消息到 Slack

首先,我们参考之前的文章 "Elasticsearch:如何创建知识库并使用 AI Assistant 来配置 slack 连接器" 来创建一个 Webhook 链接。我们然后参考如下的步骤来创建一个叫做 slack 的连接器:

这样我们就创建了一个叫做 Slack 的连接器。

我们接下来使用如下的方法来创建一个 Workflow:

复制代码
name: Send Message to Slack
enabled: true

triggers:
  - type: manual

inputs:
  - name: message
    default: "Hello from workflow!"
    description: Message to send to Slack
    type: string

steps:
  - name: share_message
    type: slack
    connector-id: slack
    with:
      message: |
        {{ inputs.message }}

我们可以进行测试:

我们检查 Slack:

我们当然也可以发送大微信或者 DingDing。这里就不再累述了。

创建 send slack msg 工具

我们按照如下的步骤来创建一个叫做 send_msg_slack 的工具:

这样我们的工具就创建好了。

创建查询天气的 workflow

我们如法炮制,创建如下的一个叫做 Weather Lookup 的 workflow:

复制代码
# =============================================================================
# Workflow: 🌤 Weather Lookup by Latitude and Longitude
# =============================================================================
name: 🌤 Weather Lookup
enabled: true

# ---------------------------------------------------------------------------
# TRIGGERS
# ---------------------------------------------------------------------------
triggers:
  - type: manual

# ---------------------------------------------------------------------------
# INPUTS
# ---------------------------------------------------------------------------
inputs:
  - name: latitude
    default: 52.52
    description: Latitude of the location
    type: number
  - name: longitude
    default: 13.41
    description: Longitude of the location
    type: number
  - name: hourly_params
    default: temperature_2m
    description: Weather parameters to request (e.g., temperature_2m, windspeed_10m)
    type: string
  - name: timezone
    default: auto
    description: Timezone for the returned times
    type: string

# ---------------------------------------------------------------------------
# STEPS
# ---------------------------------------------------------------------------
steps:

  # Step 1: Call Open-Meteo API
  - name: get_weather
    type: http
    with:
      url: "https://api.open-meteo.com/v1/forecast?latitude={{ inputs.latitude }}&longitude={{ inputs.longitude }}&hourly={{ inputs.hourly_params }}&timezone={{ inputs.timezone }}"
      method: GET
      headers:
        Accept: application/json

我们可以做如下的测试:

很显然,我们的 workflow 已经创建成功。

创建 get_weather 工具

我们如法炮制,创建如下的一个叫做 get_weather 的工具:

测试

我们按照之前的文章 "Elastic AI agent builder 介绍(一)" 创建 "Find parents according to profession" agent。在这个 agent 里,我们添加上面已经创建好的两个工具。

我们然后做如下的查询:

复制代码
Please find the programmer's weather and send it to slack. thanks

我们可以看到 3 个工具被调用,并分别被执行。

我们也可以尝试是用中文来进行搜索:

我们可以查看一下 Slack 上的信息:

相关推荐
guoji77886 分钟前
安全与对齐的深层博弈:Gemini 3.1 Pro 安全护栏与对抗测试深度拆解
人工智能·安全
杨云龙UP12 分钟前
mysqldump逻辑备份文件恢复总结:全库恢复、单库恢复,一篇讲明白
linux·运维·服务器·数据库·mysql·adb
实在智能RPA14 分钟前
实在 Agent 和通用大模型有什么不一样?深度拆解 AI Agent 的感知、决策与执行逻辑
人工智能·ai
舰长11515 分钟前
linux系统服务器加固1、中风险 未设置登录失败处理功能和登录连接超时处理功能。2、中风险 未限制默认账户的访问权限。3、中风险 未实现管理用户的权限分离。
linux·运维·服务器
哥不是小萝莉17 分钟前
Agent Client Protocol 全景解析
ai
独隅18 分钟前
PyTorch 模型部署的 Docker 配置与性能调优深入指南
人工智能·pytorch·docker
lihuayong25 分钟前
OpenClaw 系统提示词
人工智能·prompt·提示词·openclaw
绿算技术36 分钟前
OpenClaw × GP Spark:本地智能与极速存储的终极融合
大数据·分布式·spark
黑客说39 分钟前
AI驱动剧情,解锁无限可能——AI游戏发展解析
人工智能·游戏