使用 Elasticsearch Agent Builder 构建对话式费用助手,结合 Telegram, n8n 和 AWS Bedrock

作者:来自 Elastic _som

你是否希望可以直接和你的费用数据对话?

可以这样问:

"我上周花了多少钱?"

"显示我这个月的餐饮支出。"

"添加我昨天用 信用卡 支付的 350 的晚餐费用。"

这个项目将这些自然语言消息,甚至语音消息,转换为结构化数据和可搜索的洞察,使用了:

  • Telegram 作为聊天 UI
  • n8n 作为工作流编排器
  • AWS Bedrock(本示例中使用 Claude 3.5 Sonnet)用于意图分类、数据写入和对话式查询 agent(你可以替换为任何你选择的 LLM)
  • Sarvam Speech-to-Text 用于语音转写(你也可以接入 Whisper、Deepgram、AssemblyAI,或任何你觉得合适的方案)
  • Elasticsearch Agent Builder + MCP 负责存储、语义搜索,以及自定义 ES|QL 函数调用工具

另外,还准备了一个单独的 Colab notebook,用于自动部署整个 n8n 工作流,这是临时的。对于长期运行的 n8n 服务,建议你将其部署在你自己的服务器上,而不是使用 Colab。

这个系统做了什么

  • 将语音 → 文本
  • 判断消息类型是:
    • INGEST("我在午餐上花了 250")
    • QUERY("我上个月花了多少钱?")
  • 将结构化 JSON 和语义 embedding 写入 Elasticsearch
  • 使用 Agent Builder 工具运行有上下文的 ES|QL 查询
  • 在 Telegram 中返回友好的回复
  • 在分类置信度较低时,通过交互式澄清步骤来处理

n8n 架构一览

流程

Telegram → n8n( STT → Classifier → Ingest / Query 路由)→ AWS Bedrock LLMs → Elasticsearch(索引 + 使用 MCP 的语义搜索)→ Elastic Agent Builder 工具 → Telegram 响应

关键节点 / 组件

n8n Workflow

  • Telegram Trigger
  • 语音 / 文本 切换
  • STT 请求
  • Classifier agent
  • Ingestion agent
  • 通过 Agent Builder MCP 的 Query agent
  • Elasticsearch indexer
  • 低置信度门控

Elasticsearch

  • 启用带有 Bedrock embeddings 的 semantic_text 字段
  • 干净的索引 mapping( amount 、 merchant 、 category 、 ts / @timestamp 、 raw_transcript )
  • 使用 ES|QL 构建的 Agent Builder 工具

AWS Bedrock

  • Claude 3.5 Sonnet v2 用于:
  • Intent 分类
  • Expense JSON 提取
  • Query agent 推理(通过 MCP 进行函数调用)

自己动手试试( 一键设置 )

我把所有内容都打包在这个 Colab notebook 里:

Colab

https://colab.research.google.com/gist/someshwaranM/b5d21d51a6a9a9cc96e62b05c97ac203/som-expense-tool-colab.ipynb

Colab 为你做了什么:

  • 在 Colab 内启动 n8n,进行临时设置
  • 通过 Cloudflare Tunnel 将其暴露到互联网上
  • 通过 API 在 n8n 中创建 AWS、ES、Telegram 凭证
  • 安装完整的工作流模板
  • 设置 Elasticsearch:
  • Bedrock 推理端点
  • 带 semantic_text 的索引 mapping
  • 提供批量写入工具,用于你的合成费用数据集
  • 让你可以立即从 Telegram 开始与你的 bot 对话

演示截图

  • Telegram 对话
  • Agent Builder(直接对话)
  • Elastic Agent Builder YouTube 视频

https://www.bilibili.com/video/BV1TcBsBVEoB/?spm_id_from=333.1387.homepage.video_card.click

总结

这个技术栈为你提供:

  • 一个对话式个人理财助手
  • 使用 Elastic Agent Builder 的完整语义 + 结构化搜索
  • 来自聊天或语音的实时写入

原文:https://discuss.elastic.co/t/dec-3rd-2025-en-build-a-conversational-expense-assistant-using-elasticsearch-agent-builder-with-telegram-n8n-and-aws-bedrock/383585

相关推荐
代码改善世界1 分钟前
CANN中的AI算子开发:ops-nn仓库深度解读
人工智能
初恋叫萱萱2 分钟前
模型瘦身实战:用 `cann-model-compression-toolkit` 实现高效 INT8 量化
大数据
Σίσυφος19003 分钟前
PCL法向量估计 之 方向约束法向量(Orientation Guided Normal)
数据库
老毛肚6 分钟前
手写mybatis
java·数据库·mybatis
海山数据库12 分钟前
移动云大云海山数据库(He3DB)postgresql_anonymizer插件原理介绍与安装
数据库·he3db·大云海山数据库·移动云数据库
大江东去浪淘尽千古风流人物15 分钟前
【VLN】VLN(Vision-and-Language Navigation视觉语言导航)算法本质,范式难点及解决方向(1)
人工智能·python·算法
云飞云共享云桌面15 分钟前
高性能图形工作站的资源如何共享给10个SolidWorks研发设计用
linux·运维·服务器·前端·网络·数据库·人工智能
IT实战课堂小元酱21 分钟前
大数据深度学习|计算机毕设项目|计算机毕设答辩|flask露天矿爆破效果分析系统开发及应用
人工智能·python·flask
2501_9279935323 分钟前
SQL Server 2022安装详细教程(图文详解,非常详细)
数据库·sqlserver
星火s漫天24 分钟前
第一篇: 使用Docker部署flask项目(Flask + DB 容器化)
数据库·docker·flask