DoubleCloud 即将停止服务。迁移到 ClickHouse 并享受限时免费迁移服务。立即联系我们 ->->

博客 / 产品

宣布 ClickHouse Cloud 中推出基于 GenAI 的查询建议

author avatar
ClickHouse 团队
2023 年 10 月 25 日

我们很高兴地宣布 ClickHouse Cloud 查询控制台中基于 GenAI 的查询建议正式可用。ClickHouse Cloud 用户现在可以使用自然语言问题编写查询,并让查询控制台根据可用表的上下文将这些问题转换为 SQL 查询。

生成式 AI 和大型语言模型 (LLM) 最近成为了热门话题。我们中的许多人可能都使用过 ChatGPT 等服务来提高日常工作效率。这些技术的出现对数据分析师、工程师或数据库管理员的工作产生了不小的影响。虽然 LLM 编写 SQL 的能力已存在一段时间,但诸如 ChatGPT 等服务可能不够精确,并且容易生成不正确的查询(除非提供上下文)。通过将 ChatGPT API 直接集成到 Cloud 的 SQL 控制台中,我们可以将表及其各自的架构作为任何查询的上下文提供 - 从而提高响应的准确性和实用性。

所有 SQL 经验水平的用户都可以从此功能中受益。除了降低非技术用户对 ClickHouse 编写查询的门槛之外,经验丰富的 SQL 专家还可以提高生产力,并利用查询助手为复杂问题提供基础,或者只是他们记不起来的一些语法 :)

例如,请考虑我们常用的 英国房屋成交价格数据集 中的以下表架构

CREATE TABLE default.uk_price_paid ( 
  `price` UInt32, 
  `date` Date, 
  `postcode1` LowCardinality(String), 
  `postcode2` LowCardinality(String), 
  `type` Enum8('other' = 0, 'terraced' = 1, 'semi-detached' = 2, 'detached' = 3, 'flat' = 4), 
  `is_new` UInt8, 
  `duration` Enum8('unknown' = 0, 'freehold' = 1, 'leasehold' = 2), 
  `addr1` String, 
  `addr2` String, 
  `street` LowCardinality(String), 
  `locality` LowCardinality(String), 
  `town` LowCardinality(String), 
  `district` LowCardinality(String), 
  `county` LowCardinality(String) 
) ENGINE = MergeTree()
ORDER BY (postcode1, postcode2, addr1, addr2)

假设我们想对该表进行逐年交易量和价值的分析。我们可以简单地输入以下提示:

显示所有 uk_price_paid 交易按年份的总价格和总数量

如我们所见,LLM 返回了一个有效的查询

gpt-generated-query.png

虽然查询建议可能并不总是完美无缺,但它们仍然可以为用户提供迭代的基础。除了仅通过描述编写查询的能力外,该服务还提供了一种快速更正查询的方法 - 根据 ClickHouse 提供的错误上下文修复语法。

请考虑以下情况

SELECT
    startOfYear(date) as year,
    countIf(price < 1000000) as small_transactions,
    countIf(price >= 1000000) as large_transactions
FROM uk_price_paid
WHERE
    twon = 'LONDON'
GROUP BY
    year
ORDER BY
    year ASC

此查询存在几个问题 - startOfYear 不是有效的 ClickHouse 函数,并且 twon 是一个错别字(应为 town)。运行此查询将引发错误

query_error.png

根据错误消息,我们可以点击“修复查询”按钮以请求 LLM 帮助调试此查询

query_error_fix_gpt.png

从差异中,我们可以看到 LLM 正确识别并修复了此查询中的这两个问题。只需点击“应用”即可提交更改并重新运行查询

fixed_query.png

立即在 ClickHouse Cloud 中试用我们新的基于 GenAI 的查询建议。立即开始使用 并获得 300 美元的信用额度。在 30 天试用期结束后,您可以继续使用按需付费计划,或者联系我们 了解有关我们基于用量的折扣的更多信息。请访问我们的定价页面 获取详细信息。

分享此帖子

订阅我们的新闻通讯

随时了解功能发布、产品路线图、支持和云产品信息!
正在加载表单...
关注我们
Twitter imageSlack imageGitHub image
Telegram imageMeetup imageRss image