Elasticsearch:创建 geocoding workflow,并在 agent 中使用它进行位置搜索

我们知道在很多的应用场景中,我们需要定位服务,比如附近最近的餐馆或者酒店。当我们使用大模型进行 agent 任务执行的时候,我们需要位置服务。确切地说,我们需要根据位置来得到相应的经纬度来对数据进行搜索。而大模型有时不具备这种能力。我们在 AI Agents 的设计中,可以通过 workflow 的方法来创建这种工具。

创建 geocoing workflow

我们按照如下的方式来创建一个叫做 geocoding 的 workflow:

复制代码
version: "1"
name: geocoding
description: "Geocoding for a location"
enabled: true

consts:
  geocoding_api_url: https://maps.googleapis.com/maps/api/geocode/json?key=<Your API key>

inputs:
  - name: location
    type: string
    required: true
    description: "location (e.g., Washington)"

triggers:
  - type: manual


steps:
  - name: get_coordinate
    type: http
    with:
      url: "{{ consts.geocoding_api_url }}address={{ inputs.location }}"
      method: GET 


  - name: print_location
    type: console
    with:
      message: "{{ inputs.location }} coordinate is {\"lat\": {{ steps.get_coordinate.output.data.results[0].geometry.location.lat }}, \"lon\": {{ steps.get_coordinate.output.data.results[0].geometry.location.lng }} }."

在上面,我们需要填入自己的谷歌位置开发者 API key。

创建 get_coordinate_by_location 工具

我们接下来创建一个叫做 get_coordinate_by_location 的工具:

创建 agent

我们仿照之前的文章 "Elastic AI agent builder 介绍(一)" 来创建一个叫做 Find parents 的 agent。 它包含创建一个叫做 people 及 parents 的索引。

位置查询示例

我们进行如下的查询:

复制代码
哪个离湖北广水最近?

我们可以看到相应的 get_coordinate_by_location 被调用。

相关推荐
IT_陈寒15 分钟前
React的这个渲染问题连官方文档都没说清楚
前端·人工智能·后端
不加辣椒2 小时前
第12章 工具调用与 Agent 提示工程
人工智能
用户1693176172662 小时前
前端给AI消息做日期分组与时间线
人工智能
i晟2 小时前
Claude Code Harness 深度拆解:从你敲回车到模型回复,中间发生了什么
人工智能
用户252736278143 小时前
【踩坑复盘】我在本地跑 RAG 知识库时踩了 5 个大坑,吐血整理避坑指南
人工智能
大模型真好玩3 小时前
LangChain DeepAgents 速通指南(九)—— 生产级智能体框架 DeepAgents Code 源码导读
人工智能·langchain·agent
用户018349301695 小时前
用Zustand管理AI多会话状态
人工智能
垚森6 小时前
我用 GLM-5.2 造了个炸裂主题后台:16 套主题随心切,可在线体验
ai·react
武子康7 小时前
调查研究-198 Agent 到底该记住什么?读懂《What Must Generalist Agents Remember?》
人工智能·openai·agent