ChatGPT 作为一个自然语言处理东西,已经火了一段时刻。对待 ChatGPT 不同人有着不同的观点,新事物的出现必定如此。利益相关者形成 抵制疯狂 两极;哗众取宠者蹭蹭热度,问些花活,博人眼球;猎奇者尝尝鲜,起哄者挑挑火;有用派在考虑新事物的价值和劳动力:

Flutter & ChatGPT |  代码生成器

关于那些拿 ChatGPT 当百科全书来用的,或询问哲学问题的朋友,我只想说:

关于一个问题,用过错的东西去向理得出过错的成果,是一件很正常的事。


1. ChatGPT 的特色和下风

ChatGPT 最大的特色是基础的语义剖析,让计算机对自然语言进行处理并输出。在一段会话中,上下文是有用的,所以能够相似于沟通。

问这个问题,它会怎样答复?

这种猎奇的心理,会让一部分人期望测验;有稀奇古怪或愚笨的答复,也能够满意人类对人工智障的优越感;共享问答,也让 ChatGPT 具有一丝的交际特点。蹭热度、猎奇、起哄三者能够用它填充一块心里的空虚,也仅止步于此。


ChatGPT 目前的下风也很明显,因为数据是几年前的,所以时效性不强;对许多问题答复的精准度并不高,关于盲目信任的人,或判别力较差的朋友并不友好;最终一点,非常重要:关于东西而言,假如对其依赖性太高,脱离东西时,会让人的主观能动性降低。

Flutter & ChatGPT |  代码生成器


2. 代码的生成与规矩诱导

如下所示,让它生成一个 Dart 的 User 类:

生成一个 dart 类 User, 字段为 : 可空 int 型 age 、final 非空 String 型 username 默许值为 “unknown”

Flutter & ChatGPT |  代码生成器

虽然代码给出了,但是能够看出,这是空安全之前的代码。或许许多人到这儿,觉得数据陈旧没什么用途,就拜拜了您嘞。

Flutter & ChatGPT |  代码生成器


但它是一个有会话上下文的自然语言处理东西,你能够让它了解一些概念。就像一个新职工,上班榜首天出了一点小过错,你是马上开除他,仍是告诉他该怎样正确处理。如下所示,给了它一个概念:

Dart 新版本中可空类型界说时,这以后需求加 ?

Flutter & ChatGPT |  代码生成器


如下所示,你就能够在当时的会话环境中让它生成更多字段的类型:

用 Dart 新版本生成一个 dart 类 User,字段为: final 非空 int 型 age , final 非空 String 型 username 默许值为 “unknown” , final 非空 int 型 height,可空 String型info,final 非空 int 型 roleId

Flutter & ChatGPT |  代码生成器

假如存在问题,能够继续进行纠正。比方 :

用 Dart 新版本,有默许值的字段不需求运用 required 关键字,其他非空字段需求

Flutter & ChatGPT |  代码生成器

所以关于 ChatGPT 而言,咱们能够把它当作一个有一些基础常识的,可为咱们免费服务的职工,简称:奴隶。当它做错事时,你骂它,责怪它,抛弃它是毫无意义的,因为它是机器。咱们需求去 诱导 它了解,在当时工作环境中正确的事。

这样在当时会话中,它就能够了解你倾诉的规矩,当用它创立其他类时,他就不会再犯错。并且不扫除它会根据你的规矩,去完善本身的 常识储藏 ,当众多的人用正确的规矩去 诱导 它,这便是一个好心的正反馈。


3. 处理方案的概念

这儿从生成的代码 不支撑空安全支撑空安全,其实只用了几句话。榜首句是反馈测验,看看它的 默许常识储藏

生成一个 dart 类 User, 字段为 : 可空 int 型 age 、final 非空 String 型 username 默许值为 “unknown”

当它的输出不满意咱们的需求时,再进行 诱导

Dart 新版本中可空类型界说时,这以后需求加 ?
用 Dart 新版本,有默许值的字段不需求运用 required 关键字,其他非空字段需求

在诱导完结之后,它就能够给出满意需求的输出。这种诱导后供给的会话环境,输出是相对安稳的,完结特定的使命。这便是为不确定的输出,增加规矩,使其输出趋近 幂等性 。一旦一项能够处理使命的东西有这种性质,就能够面向任何人运用。能够称这种诱导过程为处理某一问题的一种 处理方案

比方上面的三句话便是:依据类信息生成 Dart 数据类型,并支撑空安全。在当时环境下,就能够根据这种方案去向理同类的使命:

用 Dart 新版本生成一个 dart 类 TaskResult,字段为: final 非空 int 型 cost , final 非空 String 型 taskName 默许值为 “unknown” , final 非空 int 型 count,可空 String型taskInfo,final 非空 String型 taskCode

Flutter & ChatGPT |  代码生成器

你拷贝代码后,便是可用的:

Flutter & ChatGPT |  代码生成器


4. Dart 数据类生成器完善

上面生成 Dart 数据类比较简单,下面继续拓宽,比方关于数据类型而言 copyWithtoJsonfromJson 的办法自己写起来比较费事。假如现在告诉它:

为上面的类供给 copyWith、toJson 、 fromJson 办法

它会进行供给,阐明它具有这个 默许常识储藏 ,但能够看到 copyWith 办法中的字段不符合空安全:

Flutter & ChatGPT |  代码生成器

此时能够练习它的 类型可空 的意识,让它主动处理相似的问题,也能够直白的告诉它

将上面的 copyWith 办法入参类型后加 ? 号

这样生成的 TaskResult 类就能够运用了:

Flutter & ChatGPT |  代码生成器

class TaskResult {
  final int cost;
  final String taskName;
  final int count;
  final String? taskInfo;
  final String taskCode;
  TaskResult({
    required this.cost,
    this.taskName = 'unknown',
    required this.count,
    this.taskInfo,
    required this.taskCode,
  });
  TaskResult copyWith({
    int? cost,
    String? taskName,
    int? count,
    String? taskInfo,
    String? taskCode,
  }) {
    return TaskResult(
      cost: cost ?? this.cost,
      taskName: taskName ?? this.taskName,
      count: count ?? this.count,
      taskInfo: taskInfo ?? this.taskInfo,
      taskCode: taskCode ?? this.taskCode,
    );
  }
  Map<String, dynamic> toJson() {
    return {
      'cost': cost,
      'taskName': taskName,
      'count': count,
      'taskInfo': taskInfo,
      'taskCode': taskCode,
    };
  }
  static TaskResult fromJson(Map<String, dynamic> json) {
    return TaskResult(
      cost: json['cost'] as int,
      taskName: json['taskName'] as String,
      count: json['count'] as int,
      taskInfo: json['taskInfo'] as String,
      taskCode: json['taskCode'] as String,
    );
  }
}

5. 代码生成字符串 与 ChatGPT 生成字符串

关于一些相对固定的代码,能够运用代码逻辑,拼接字符串来生成。如下所示,通过对类结构的抽象化,运用目标进行配置,输出字符串。咱们来考虑一下,这和 ChatGPT 生成代码的差异。

首先,运用代码生成代码是一种完全的 幂等行为 。也便是说任何人、在任何时刻、任何空间下,运用相同的输入,都能够获取到相同的输出,是绝对精准的。其发生代码的行为逻辑是完全可控的,人的心里是等待确定性的。

Flutter & ChatGPT |  代码生成器

而 ChatGPT 对自然语言的了解,你能够用语言去引导它输出一些你的需求,比方 :

以json 格局生成 10 句连续的中文对话,key 为 content包括。别的 time 字段为时刻戳 ,type 字段1,2 随机

Flutter & ChatGPT |  代码生成器

其实没有什么孰强孰弱,只是运用场景的不同而已。刀在不同人的手里有不同的用法,人是生发生活的主体,东西只有服务的特点。驾御东西,让它发生有用的价值,才是东西存在的意义。好了,本文到这儿就扯完了,感谢观看 ~