前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用ChatGPT模型智能生成Elasticsearch搜索语句

使用ChatGPT模型智能生成Elasticsearch搜索语句

作者头像
点火三周
发布2023-03-08 15:23:57
2.3K0
发布2023-03-08 15:23:57
举报
文章被收录于专栏:Elastic Stack专栏Elastic Stack专栏

今天在朋友圈刷到TiDB在他们的 TiDB Cloud Serverless Tier中集成的chat2query功能。看到chatXXX这个名字,大家应该都能顾名思义。显然,它能通过对话的方式帮你生成Query。

这里是演示的动图,分别展示了一个Top 10查询和date histogram的聚合查询:

查询的语句不算复杂,“直观”上似乎是能够降低用户的使用入门门槛的。

可惜,就像唐刘自己在公众号里说的 ——

但是,我推荐的朋友几乎全是有技术背景的人,所以当我跟一位不懂技术的朋友进行推荐的时候,我才突然意识到,我们的这款产品离好看以及好用,还有很长的路要走。

关于数据库,query,BI这档事,业界早有定论,普通人需要的是不用学习query就能够知道查询和分析的结果。而拖拽式的可视化工具,难道不是更好的答案?

好了,不扯远了。其实我们今天要谈的是如何借助类似ChatGPT这种生成式的大模型来生成Elasticsearch搜索语句,嗯,就像Chat2Query所做的一样。

01

生成式查询语言的需求

其实,随着数据量的增长和业务需求的不断变化,传统的查询和分析语言已经不能满足现代应用的需求。因此,越来越多的企业和技术公司开始尝试开发新的数据查询语言,或者利用人工智能等新技术提供更加智能化的数据查询解决方案。

在这方面,GPT模型作为一种先进的自然语言处理技术,能够生成领域特定的DSL表达式,使得用户可以使用更加自然、直观的方式来进行数据查询和分析。这样可以大大提高数据查询的效率和准确性,使得用户可以更加方便地从数据中获取有用的信息和洞察。因此,不少公司正在积极探索并利用这些新技术,以满足用户不断增长的需求。

其中,Copilot的出现更表明了人工智能技术在编程领域的应用越来越成熟,未来这种技术将会在软件开发领域扮演更加重要的角色。通过自动化代码生成、错误检测和调试等工作,将大大降低开发者的工作量,提高代码的质量和效率。

而ChatGPT更加加重了这一趋势和需求,因为ChatGPT的出现使生成式对话模型的应用变得更加普及化和便捷化,其火爆程度,直接把AIGC带入我们每个人的生活。

所以,如果我们对ES的DSL感到恐惧,不妨试一试现有各种AIGC工具,寻求AI的帮助,本文,我们就从Copilot和chatGPT开始。

02

使用Copilot和chatGPT编写ES的DSL


第一个,我们先来看看在VS code上使用Copilot来生成ES DSL的例子。

首先,我们的先注册和申请Copliot的使用账号,并且将其安装到VS code中,步骤如下:

  1. 在 VS Code 中安装 Copilot 插件。打开 VS Code,在菜单栏中选择“Extensions”选项,并搜索 Copilot 插件,点击“Install”按钮安装插件。
  2. 注册 Copilot 账号。在安装完插件后,点击插件图标,选择“Register”选项,并按照指示填写注册信息完成注册。
  3. 配置 Copilot API 密钥。注册成功后,在 Copilot 网站上获取 API 密钥,然后在 VS Code 中点击插件图标,选择“API key”选项,将获取到的 API 密钥输入到相应的文本框中。
  4. 在 VS Code 编辑器中打开项目,并打开一个代码编辑器窗口。
  5. 输入要编写的代码段,按下快捷键(默认为 Ctrl + Shift + P),选择“Copilot: Generate Code”选项,Copilot 就会根据你的输入自动生成相应的代码。

就如在下图中,我们只需要在注释中写入我们的需求,换行之后,通过tab键,就可以让Copilot为我们生成Elasticsearch的DSL:


接下来,我们再来看看在intellij上使用chatGPT的例子。

这里,我们将借助一个叫做EDQL的工具。

EDQL是基于Intellij平台的Elasticsearch专业查询和管理工具。它用于管理 Elasticsearch 集群和从 Elasticsearch 查询数据,具有以下功能。

  1. EDQL 完全兼容官方的Query DSL,你可以直接复制Query DSL 在EDQL 上运行,无需任何额外的努力。
  2. EDQL 有一个可视化编辑器,允许您通过交互式 UI 快速编写查询条件。
  3. 拥有强大的脚本引擎:支持函数、变量、迭代等。使用Smart Intellij,您可以轻松编写查询DSL(重构、提取等)。

安装并试用:https ://github.com/chengpohi/edql/releases/tag/v1.9.16

使用的方式和Copilot类似:

03

总结

时代是在进步的,AIGC终将会带来一场不小的革命,而通过AIGC自动代码生成功能,能帮助我们提高编程效率和减少出错率。

然而,在使用过程中,我们还是需要保护好自己的隐私和知识产权,并遵守相关法律法规和道德规范。

同时,我们也需要意识到,作为一条经验法则,我们应该假设它可能会做最糟糕的事情:生成一个看起来正确、语法正确但产生错误答案的查询。

因此,工具为我们带来效率的同时,绝不意味着我们不再需要学习。当我们自己,停止进步的时候,或许,就会是潘多拉魔盒中厄运降临的时候

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-03-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 点火三周 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
Elasticsearch Service
腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档