與人工智慧的對話之旅 – 利用ChatGPT生成Python程式碼



隨著科技不斷發展,人工智慧技術逐漸滲透到各個領域。ChatGPT(Chat Generative Pre-trained Transformer)作為一種基於GPT-3.5架構的大型語言模型(註一),可以把GPT-3.5想像成一個巨大的圖書館,裡面有無數的書籍和知識。當你提問時,ChatGPT像是一個圖書館員,能夠快速找到相關答案並回答你,因此ChatGPT更具備了自然語言處理和生成能力。但是ChatGPT只能就已有的資料,依據它自認的相關性提供解答,生成資料的正確性,仍有待使用者自行檢視。

本文將介紹如何利用ChatGPT生成Python程式碼,並探討與ChatGPT的交流技巧、調整過程中的關鍵,以及使用ChatGPT協同開發與自行開發的優劣比較。

ChatGPT與人類的對話

ChatGPT是一種類似人類對話風格的AI助手,我們可以向ChatGPT提出問題,並獲得與問題相關的內容。過往我們在專案結案時,需要提供研究過程中所引用的文獻、中間過程產出的文件等,若文件數量很大,整理起來需要花費很多時間。因此,我們可以利用ChatGPT來幫忙檢視資料匣,自動生成Python程式碼,該程式碼可以生成一份Excel檔案,詳細列出每一個資料夾名稱及檔案名稱的階層結構;透過與ChatGPT以自然語言的方式描述我們的需求,來產生對應功能的Python程式碼。

與ChatGPT的對話技巧

與ChatGPT進行對話需要一些技巧,以便更容易獲得準確和滿意的結果。以下幾點建議:

1. 清晰的指令:向ChatGPT提供明確、簡潔且具體的指令,確保它能夠準確理解您的需求。

(1)透過口語化表達描述功能與需求,下達指令。

圖1 下達指令範例1

圖片來源:本文整理

(2)所有功能與需求,逐項條列式列出,下達指令。

就程式碼產生結果而言,由於圖1缺乏大部分的功能描述,圖2較可產出符合對應功能的原型程式碼。

圖2 下達指令範例2

圖片來源:本文整理

2. 逐步引導:如果ChatGPT的回答不符合預期,可以逐步引導它提供更準確的結果。逐步提供更多的上下文資訊。

圖3 逐步引導示範

圖片來源:本文整理

3. 追問細節:如果ChatGPT的回答中存在模糊或不完整的部分,可以追問細節以獲得更具體的答案。這裡可以觀察到,ChatGPT很有禮貌,而且願意接受指導進行修改。

圖4追問細節示範

圖片來源:本文整理

4. 試錯與修改:ChatGPT可能不會一次生成完全符合期望的程式碼。您可以進行試錯,修改指令並與ChatGPT進行多輪對話,以逐步優化結果。

圖5 試錯與修改示範

圖片來源:本文整理

 ChatGPT與網路查找之差異

調整時使用ChatGPT與進行網路搜索有一些明顯的區別。使用ChatGPT調整時,我們可以直接提問並獲得即時回答,這可以更高效地解決問題。而在進行網路搜尋時,我們需要手動進行關鍵字搜尋、瀏覽搜尋結果並篩選資訊,這會消耗更多的時間和精力。  

調整過程中的關鍵點

在使用ChatGPT生成Python程式碼的過程中,以下是一些關鍵的調整點:

  1. 輸入訊息:傳遞給ChatGPT的輸入訊息應該清晰、具體,以及符合Python語法和Excel檔案結構的描述方式。
  2. 訓練數據:ChatGPT的訓練數據影響其回答的準確性和多樣性。如果ChatGPT的回答不夠滿意,可以進一步調整訓練數據或使用更多的對話範例進行微調。
  3. 上下文處理:ChatGPT的回答會基於先前的上下文。如果需要生成更複雜的程式碼,可以透過適當的上下文處理,引導ChatGPT生成更精確的結果。

 ChatGPT協同開發與自行開發的優劣比較

利用ChatGPT進行協同開發具有一定的優勢,尤其是在以下情況:

  1. 快速原型開發:使用ChatGPT可以迅速創建原型,驗證概念或解決特定問題,而無需從頭開始編寫程式碼。
  2. 自然語言處理:ChatGPT具備強大的自然語言處理能力,可以處理和理解人類語言,並生成符合要求的回答或結果。

然而,與自行開發相比,ChatGPT也存在一些限制和不足之處:

  1. 數據依賴性:ChatGPT的性能和回答質量取決於其訓練數據的質量和多樣性。在某些特定領域或特定問題上,可能需要更多的定制和訓練來獲得更準確的結果。
  2. 可解釋性:ChatGPT生成的結果往往是黑盒的,我們很難理解其內部決策過程和推理過程。而自行開發的解決方案可能更容易理解和調整。
  3. ChatGPT無法處理所有錯誤,還需透過人為介入,讓程式更為完整且可運行。

運用ChatGPT優勢可更有效應用AI技術

ChatGPT歷經數次進化,現在自然語言處理能力不斷地提升,目前已可初步協助我們生成Python程式碼,實現特定功能。在與ChatGPT進行對話時,清晰的指令、逐步引導和追問細節都是獲得準確結果的重要技巧。然而,我們也應該注意調整過程中的關鍵點,並認識到ChatGPT開發與自行開發的優劣之處。通過充分利用ChatGPT的優勢,並瞭解其限制,我們可以更有效地應用和開發人工智慧技術。

圖6 讓AI輔助人腦

圖片來源:Unsplash

 

  • 資料來源:
  1. 封面圖,Unsplash:https://unsplash.com/
  2. OpenAI-ChatGPT:https://openai.com/
  3. 一文搞懂ChatGPT相關概念和區別:https://allaboutdataanalysis.medium.com/%E4%B8%80%E6%96%87%E6%90%9E%E6%87%82chatgpt%E7%9B%B8%E9%97%9C%E6%A6%82%E5%BF%B5%E5%92%8C%E5%8D%80%E5%88%A5-gpt-%E5%A4%A7%E6%A8%A1%E5%9E%8B-aigc-llm-transformer-%E7%BE%8A%E9%A7%9D-langchain-9b106583da3

 

註一:
GPT-3.5是一個強大的語言模型,使用深度學習和Transformer架構。它擁有1750億個參數,是最強大的語言模型之一。GPT-3.5通過預訓練和微調兩個階段進行訓練。在預訓練階段,它通過處理大量文本資料學習語言的結構、語法和語義。在微調階段,它使用特定任務的資料進一步訓練,提升在特定領域的性能。GPT-3.5的關鍵技術是Transformer架構,利用多層注意力機制處理文本的上下文和關聯。這使得模型能夠生成更加流暢、合理的回答。由於龐大的模型和訓練數據,GPT-3.5在自然語言處理方面表現出色,它可以應用於文本生成、對話系統、翻譯和問答等多個領域,提供智能的語言處理解決方案。

延伸閱讀
作者相關文章