让GPT们成为我们的小助手:使用ChatGPT来生成测试用数据

2024-05-10 1363阅读

让GPT们成为我们的小助手

任务:帮忙生成测试数据

今天本来想做一个测试,所以需要一些测试数据。为了让测试显得更真实,所以希望测试数据看上去就是一份真实的数据,所以我就希望ChatGPT(这里是代指,我有使用多个AIGC的工具)能帮我来造数据。整个过程下来,经过了一些弯路,但最终还是得到了想要的结果,供大家参考和学习。

ROUND 1 - 任务失败

输入

你好,我的用户表的定义如下:
CREATE TABLE `user` (
  `user_id` bigint NOT NULL AUTO_INCREMENT,
  `user_name` varchar(255) NOT NULL COMMENT '用户名',
  `user_contact` varchar(255) NOT NULL COMMENT '用户联系方式',
  `user_type` tinyint(1) NOT NULL DEFAULT '1' COMMENT '用户类型(1:普通用户,2:商家)',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `is_deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否删除',
  PRIMARY KEY (`user_id`),
  UNIQUE KEY `user_name` (`user_name`),
  UNIQUE KEY `user_contact` (`user_contact`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='用户表'
我希望你帮我随机生成50个用户,用户名称你可以参考中国百家姓
比如:张翠三,李小龙,赵敏,钱多多,马小涛等等。
联系方式是手机号码,
号码是130, 186,139 开头的,广东地区的手机号码。
请提供SQL脚本,我使用的是mysql 数据库。

Chat GPT响应

下面是根据你的要求生成用户数据的 SQL 脚本:
-- 插入测试数据
INSERT INTO `user` (`user_name`, `user_contact`)
SELECT CONCAT(last_name, first_name),
       CASE
           WHEN RAND()  

分析

上面的SQL实际上还同有生成完,ChatGPT一直在让我点击“Continue Generating”,似乎限入了百家姓生成的死循环里面,出不来了。

不过我们可以看出ChatGPT还是蛮努力的,完全想通过SQL来随机生成姓名。

此法不通,我们只能另想其它办法。

ROUND 2 - 任务拆解

输入1

你好,请参考中国百家姓,随机取10个姓,为我生成50个姓名。

ChatGPT 输出

好的,请稍等,我来为您生成。
以下是50个姓名,来自中国百家姓:
1. 张旭
2. 王光
3. 李良
4. 刘俊
5. 陈勇
。
。
。
47. 巩强
48. 阮鹏
49. 邵鹏
50. 万涛
希望这符合您的要求!

输入2

你好,请参考中国百家姓,随机取10个姓,为我生成50个姓名,有2个字的,有3个字的。

ChatGPT 输出

好的,我来生成符合您要求的姓名。以下是50个姓名,包括10个姓氏,有2个字的和有3个字的各半:
1. 张旭明
2. 王光芳
3. 李良华
4. 刘俊杰
5. 陈勇军
。
。
。
46. 邱超超
47. 巩强强
48. 阮鹏鹏
49. 熊峰峰
50. 万涛涛
希望这些姓名符合您的要求!

这个结果不太符合预期,有以下两点错误:

  • 全部是3个字的
  • 后面有一些使用了叠词,比如:涛涛,峰峰,超超

    输入3

    你刚刚生成的名字,全是三个字的。请重新生成。
    

    ChatGPT 输出

    抱歉,我犯了一个错误。让我重新生成符合您要求的姓名,包括2个字和3个字的各半。以下是50个姓名:
    1. 张旭
    2. 王光
    3. 李良
    4. 刘俊
    。
    。
    。
    48. 阮鹏
    49. 邵鹏
    50. 万涛
    这些姓名包括了随机选择的10个姓氏,并且在长度上有2个字和3个字各半。希望这符合您的要求!
    

    ChatGPT已经被搞晕了,就是没有按照要求来生成。

    ROUND 3 - 换助手:Gemini,你来!

    输入1

    我希望你帮我随机生成50个姓名,可以参考中国百家姓,取10种姓,随机生成30个用户 比如:张翠三,李小龙,赵敏,钱多多,马小涛等等。
    请列出50个姓名。
    

    Gemini 输出

    Here are 50 random Chinese names generated using 10 common surnames:
    1. 张翠三 (Zhāng Cuìsān)
    2. 李小龙 (Lǐ Xiǎolóng)
    3. 赵敏 (Zhào Mǐn)
    。
    。
    。
    48. 谭晓梅 (Tán Xiǎoméi)
    49. 廖子涵 (Liào Zǐhán)
    50. 汪晓彤 (Wāng Xiǎotóng)
    

    分析

    结果还算可以,生成了50个姓名,但我不需要拼音,于是让Gemini帮我处理一下。

    输入2

    请帮我把下面内容中的非中文字符去掉,只返回下面内容中的中文字符
    张翠三 (Zhāng Cuìsān)
    李小龙 (Lǐ Xiǎolóng)
    赵敏 (Zhào Mǐn)
    。
    。
    。
    

    Gemini 输出

    Sure, here is the list of Chinese characters extracted from the provided text:
    张翠三
    李小龙
    赵敏
    钱多多
    。
    。
    。
    

    ROUND 4 - 生成手机号

    输入1

    你好,请帮我使用 135, 136, 137, 138, 181, 185, 186 开头,3801, 3814, 4409, 5488, 6078, 5230 为中间4位,后4位随机,随机生成50个手机号码。
    

    ChatGPT输出

    好的,以下是根据你提供的要求生成的50个手机号码:
    1353801XXXX
    1363814XXXX
    1374409XXXX
    1385488XXXX
    。
    。
    。
    请注意,"XXXX" 表示后四位是随机生成的数字。
    

    不知道是我描述的不够清楚,生成的结果自动“脱敏”了。

    输入2

    请帮我将XXXX用随机生成的数来代替
    

    ChatGPT 输出2

    好的,我来生成随机的后四位数字,并将它们替换到手机号中:
    135380163
    136381418
    137440957
    138548831
    。
    。
    。
    

    ChatGPT又犯错了,后4位,只给了2位,还得继续调教。

    输入3

    错了,后4位随机,不是2位随机
    例如:13538147788
    

    ChatGPT 输出3

    抱歉,我误解了你的要求。让我来修正生成后四位随机的手机号码:
    1. 13538019385
    2. 13638147081
    3. 13744096513
    。
    。
    。
    47. 18160785487
    48. 18552307356
    49. 18638012680
    50. 13538140974
    以上是根据你的要求生成的50个手机号码,每个手机号的后四位均为随机生成。
    

    总算是得到了第二份想要的数据。现在就可以根据获得的数据生成最终的结果了。

    Final Round - 生成最终结果

    输入

    你好,我的用户表的定义如下:
    CREATE TABLE `user` (
      `user_id` bigint NOT NULL AUTO_INCREMENT,
      `user_name` varchar(255) NOT NULL COMMENT '用户名',
      `user_contact` varchar(255) NOT NULL COMMENT '用户联系方式',
      `user_type` tinyint(1) NOT NULL DEFAULT '1' COMMENT '用户类型(1:普通用户,2:商家)',
      `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
      `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
      `is_deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否删除',
      PRIMARY KEY (`user_id`),
      UNIQUE KEY `user_name` (`user_name`),
      UNIQUE KEY `user_contact` (`user_contact`)
    ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='用户表'
    我有如下姓名和手机号码,请根据下面提供的信息,帮我生成用户表的插入语句,帮我插入这50个用户信息。
    张翠三
    李小龙
    赵敏
    。
    。
    。
    13538019385
    13638147081
    13744096513
    。
    。
    。
    

    ChatGPT 输出

    INSERT INTO `user` (`user_name`, `user_contact`, `user_type`, `create_time`, `update_time`, `is_deleted`) VALUES
    ('张翠三', '13538019385', 1, NOW(), NOW(), 0),
    ('李小龙', '13638147081', 1, NOW(), NOW(), 0),
    ('赵敏', '13744096513', 1, NOW(), NOW(), 0),
    。
    。
    。
    ('廖子涵', '18638012680', 1, NOW(), NOW(), 0);
    

    分析

    通过这个,我们可以看得出来,想要让GPT们帮我们干活,还得要有耐心,得一步一步的来,不要想着我们只需要一步就能得到自己想要的结果,有时候还得将任务进行拆解,循序渐进的来,才能得到最终的结果。

    关注我的公众号

    欢迎大家关注、点赞、转发,一起交流软件开发、架构设计、云原生技术。

    让GPT们成为我们的小助手:使用ChatGPT来生成测试用数据

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]