<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
ChatGPT 作為一個自然語言處理工具,已經火了一段時間。對待 ChatGPT
不同人有著不同的看法,新事物的出現必然如此。利益相關者形成 抗拒 和 狂熱 兩極;譁眾取寵者蹭蹭熱度,問些花活,博人眼球;獵奇者嚐嚐鮮,起鬨者挑挑火;實用派在思考新事物的價值和勞動力:
對於那些拿 ChatGPT 當百科全書來用的,或詢問哲學問題的朋友,我只想說:
對於一個問題,用錯誤的工具去處理得出錯誤的結果,是一件很正常的事。
ChatGPT 最大的特點是基礎的語意分析,讓計算機對自然語言進行處理並輸出。在一段對談中,上下文是有效的,所以可以類似於交流。
問這個問題,它會怎麼回答?
這種獵奇的心理,會讓一部分人期望嘗試;有稀奇古怪或愚蠢的回答,也可以滿足人類對人工智障的優越感;分享問答,也讓 ChatGPT 擁有一絲的社交屬性。蹭熱度、獵奇、起鬨三者可以用它填充一塊內心的空虛,也僅止步於此。
ChatGPT 目前的劣勢也很明顯,由於資料是幾年前的,所以時效性不強;對很多問題回答的精準度並不高,對於盲目相信的人,或判別力較差的朋友並不友好;最後一點,非常重要:對於工具而言,如果對其依賴性太高,脫離工具時,會讓人的主觀能動性降低。
h3>2. 程式碼的生成與規則誘導
如下所示,讓它生成一個 Dart 的 User 類:
生成一個 dart 類 User, 欄位為 : 可空 int 型 age 、final 非空 String 型 username 預設值為 “unknown”
雖然程式碼給出了,但是可以看出,這是空安全之前的程式碼。可能很多人到這裡,覺得資料陳舊沒什麼用途,就拜拜了您嘞。
但它是一個有對談上下文的自然語言處理工具,你可以讓它理解一些概念。就像一個新員工,上班第一天出了一點小錯誤,你是立刻開除他,還是告訴他該怎麼正確處理。如下所示,給了它一個概念:
Dart 新版本中可空型別定義時,其後需要加 ?
如下所示,你就可以在當前的對談環境中讓它生成更多欄位的型別:
用 Dart 新版本生成一個 dart 類 User,欄位為: final 非空 int 型 age , final 非空 String 型 username 預設值為 “unknown” , final 非空 int 型 height,可空 String型info,final 非空 int 型 roleId
如果存在問題,可以繼續進行指正。比如 :
用 Dart 新版本,有預設值的欄位不需要使用 required 關鍵字,其他非空欄位需要
所以對於 ChatGPT 而言,我們可以把它看成一個有一些基礎知識的,可為我們免費服務的員工,簡稱:奴隸。當它做錯事時,你罵它,責備它,拋棄它是毫無意義的,因為它是機器。我們需要去 誘導 它理解,在當前工作環境中正確的事。
這樣在當前對談中,它就可以理解你訴說的規則,當用它建立其他類時,他就不會再犯錯。並且不排除它會基於你的規則,去完善自身的 知識儲備 ,當眾多的人用正確的規則去 誘導 它,這就是一個善意的正反饋。
這裡從生成的程式碼 不支援空安全
到 支援空安全
,其實只用了幾句話。第一句是反饋測試,看看它的 預設知識儲備
生成一個 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
你拷貝程式碼後,就是可用的:
上面生成 Dart 資料類比較簡單,下面繼續拓展,比如對於資料型別而言 copyWith
、toJson
、fromJson
的方法自己寫起來比較麻煩。如果現在告訴它:
為上面的類提供 copyWith、toJson 、 fromJson 方法
它會進行提供,說明它具有這個 預設知識儲備
,但可以看到 copyWith
方法中的欄位不符合空安全:
此時可以訓練它的 型別可空 的意識,讓它主動處理類似的問題,也可以直白的告訴它
將上面的 copyWith 方法入參型別後加 ? 號
這樣生成的 TaskResult
類就可以使用了:
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, ); } }
對於一些相對固定的程式碼,可以使用程式碼邏輯,拼接字串來生成。如下所示,通過對類結構的抽象化,使用物件進行設定,輸出字串。我們來思考一下,這和 ChatGPT 生成程式碼的區別。
首先,使用程式碼生成程式碼是一種完全的 冪等行為 。也就是說任何人、在任何時間、任何空間下,使用相同的輸入,都可以獲取到相同的輸出,是絕對精準的。其產生程式碼的行為邏輯是完全可控的,人的內心是期待確定性的。
而 ChatGPT 對自然語言的理解,你可以用語言去引導它輸出一些你的需求,比如 :
以json 格式生成 10 句連續的中文對話,key 為 content包括。另外 time 欄位為時間戳 ,type 欄位1,2 隨機
其實沒有什麼孰強孰弱,只是使用場景的不同而已。刀在不同人的手裡有不同的用法,人是生產生活的主體,工具只有服務的屬性。駕馭工具,讓它產生實用的價值,才是工具存在的意義。好了,本文到這裡就扯完了,感謝觀看 ~
以上就是Flutter ChatGPT程式碼生成器方案概念的詳細內容,更多關於Flutter ChatGPT程式碼生成器的資料請關注it145.com其它相關文章!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45