先做个广告:如需代注册ChatGPT或充值 GPT4.0会员(plus),请添加站长微信:gptchongzhi
ChatGPT-4 vs GoogleBard
推荐使用GPT中文版,国内可直接访问:https://ai.gpt86.top
在人工智能 (AI) 进步的快节奏世界中,开发人员正在寻找最高效和突破性的解决方案来加快和提高他们的工作质量。对于 PostgreSQL 开发人员来说,选择理想的 AI 支持的工具以最专业的方式解决他们的查询至关重要。
ChatGPT 对比 Google Bard
数据: ChatGPT 在截至 2021 年收集的文本和代码数据集上进行训练,而 Google Bard 在不断更新的数据集上进行训练。这意味着 Google Bard 可以访问更多最新信息,并可以提供更准确的答案。
准确性: Google Bard 通常比 ChatGPT 更准确,尤其是在涉及事实信息时。这是因为 Google Bard 是在更大、更新的数据集上训练的。
创造力:在生成文本格式(例如诗歌、代码、脚本、音乐作品、电子邮件、信件等)方面,ChatGPT 比 Google Bard 更具创造力。这是因为 ChatGPT 是在包含更广泛创意的数据集上训练的文本格式。
可用性: ChatGPT 可供任何想使用它的人使用,而 Google Bard 目前仅供有限数量的用户使用。
用 ChatGPT 和 Bard 进行 PostgreSQL 开发?
测试准备
Pagila 示例数据库(评论区获取)
访问 ChatGPT-4
访问 Google Bard
dbForge Studio for PostgreSQL是一个用于开发和管理PostgreSQL数据库的GUI工具。PostgreSQL的IDE允许用户创建、开发和执行查询、编辑和调整代码,设计数据感知报告和图表,非常适合此次演示,准备好上述工作后,开始测试~
测试案例:创建SQL函数
ChatGPT-4 生成了以下 SQL 代码:
CREATE OR REPLACE FUNCTION most_rented_films(start_date DATE, end_date DATE)
RETURNS TABLE (film_id INTEGER, title TEXT, rental_count INTEGER) AS $$
BEGIN
RETURN QUERY
SELECT f.film_id, f.title, COUNT(r.rental_id) AS rental_count
FROM film AS f
JOIN inventory AS i ON f.film_id = i.film_id
JOIN rental AS r ON i.inventory_id = r.inventory_id
WHERE r.rental_date BETWEEN start_date AND end_date
GROUP BY f.film_id, f.title
ORDER BY rental_count DESC;
END;
$$ LANGUAGE plpgsql;
现在让我们打开 dbForge Studio for PostgreSQL 并验证 AI 创建的代码。
显而易见,Studio 抛出错误,因为未指定用于创建函数的架构。我们稍微修改一下代码,然后再试一次。
这次查询成功,并且该函数现在在数据库资源管理器中可见。现在,运行 SELECT 语句以确保一切都按要求工作。
又出现错误。在函数语法中,rental_count 列数据类型已指定为 INTEGER,这显然是错误的。我们需要修改语法并重试。因此,工作代码如下:
CREATE OR REPLACE FUNCTION public.most_rented_films(start_date DATE, end_date DATE)
RETURNS TABLE (film_id INTEGER, title TEXT, rental_count BIGINT) AS $$
BEGIN
RETURN QUERY
SELECT f.film_id, f.title, COUNT(r.rental_id) AS rental_count
FROM film AS f
JOIN inventory AS i ON f.film_id = i.film_id
JOIN rental AS r ON i.inventory_id = r.inventory_id
WHERE r.rental_date BETWEEN start_date AND end_date
GROUP BY f.film_id, f.title
ORDER BY rental_count DESC;
END;
$$ LANGUAGE plpgsql;
我们删除之前创建的函数,创建一个新函数,然后运行 SELECT。这次成功了
现在让我们评估一下 Google Bard
我们得到了如下代码:
CREATE OR REPLACE FUNCTION most_rented_films (start_date DATE,
end_date DATE) RETURNS TABLE (
film_id INT,
film_title VARCHAR(255),
rental_count INT
)
AS
$func$
BEGIN
RETURN QUERY
SELECT
f.film_id,
f.film_title,
COUNT(*) AS rental_count
FROM
film_rentals fr
JOIN
films f ON f.film_id = fr.film_id
WHERE
fr.rental_date >= start_date
AND fr.rental_date < end_date
GROUP BY
f.film_id,
f.film_title
ORDER BY
rental_count DESC;
END
$func$;
让我们在 Studio 中运行它!我们得到了同样的错误——模式没有被指定。
于是,我们修改代码,再次运行。并得到另一个错误。
我们需要进一步修改查询。指定语言并执行语法后,我们运行 SELECT。并且……再次出错。
Google Bard 在其脚本中引用了不存在的表;除此之外,rental_count 列的数据类型被错误地指定为 INT。在我们解决了所有这些问题之后,我们终于得到了工作代码。
因此使用 Google Bard,我们不得不调整生成的代码很长一段时间,这需要一定程度的专业知识, SQL 初学者可能很难操作。
在进行尝试创建函数后, 我们又同样使用这两个AI工具进行了其他4项测试: 创建日期函数、窗口函数、JOIN 子句、数据透视表。由于测试篇幅过长,此处就不进行展示,可点此跳转查看完整测试~
哪个AI工具更好用?
以上便是本次带来的关于Google Bard 和 ChatGPT-4在PostgreSQL开发的对比测试,感兴趣的大佬不防亲自尝试一下, 前往慧都下载最新版dbForge Studio for PostgreSQL,或者扫码咨询我们获取下载,开启你的AI数据库之旅~
网友评论