1.概述
最近,比較火熱的ChatGPT很受歡迎。今天,筆者為大家來介紹一下ChatGPT能做哪些事情。
2.內容
ChatGPT是一款由OpenAI開發的專門從事對話的AI聊天機器人。它的目標是讓AI系統更加自然的與之互動,但它也可以在我們編寫程式碼的時候提供一些幫助。
2.1 使用ChatGPT來繪製線性迴歸
如果你想繪製線性迴歸,你可以簡單的告訴ChatGPT:使用 matplotlib 用 Python 繪製線性迴歸
接下來,ChatGPT對話方塊內就會給你聽繪製線性迴歸的步驟和實現程式碼,如下如所示:
我們使用這段程式碼,來執行看看最終的結果,程式碼如下:
import matplotlib.pyplot as plt import numpy as np # 準備資料 x = np.array([1, 2, 3, 4, 5]) y = np.array([1, 2, 1.5, 3, 2.5]) # 繪製散點圖 plt.scatter(x, y) # 計算線性迴歸模型 slope, intercept = np.polyfit(x, y, 1) # 繪製線性迴歸直線 plt.plot(x, slope * x + intercept, color='r') # 新增 x 軸、y 軸和圖示題 plt.xlabel('X') plt.ylabel('Y') plt.title('Linear Regression') # 顯示影像 plt.show()
執行結果如下所示:
這裡需要注意是,如果執行程式碼出現如下錯誤:
Non-ASCII character '\xe5'
可以在程式碼開頭裡面新增如下程式碼:
# -*- coding: UTF-8 -*-
這個任務是比較簡單的,接下來我們來提升一下難度。
2.2 使用Python給微信發資訊
然後,我們在ChatGPT對話方塊中輸入:使用Python給微信發資訊
ChatGPT給出解決方案如下圖所示:
2.3 使用Python傳送電子郵件
我們使用搜尋引擎尋找相關傳送郵件的程式碼片段,搜尋出來的結果可能會有很多程式碼片段展示如何使用Python傳送電子郵件。我們可以使用ChatGPT來更具體一些,比如我們輸入:從“email_1”傳送一封電子郵件到“email_2”,主題為“ChatGPT 傳送的電子郵件”,內容為“ChatGPT Test Email!” 使用 Python
然後,ChatGPT給出的解決方案如下圖所示:
實現程式碼如下所示:
import smtplib # 建立 SMTP 客戶端物件 smtp_client = smtplib.SMTP('smtp.example.com') # 連線到郵件伺服器 smtp_client.login('email_1', 'password') # 傳送電子郵件 smtp_client.sendmail( 'email_1', 'email_2', 'Subject: ChatGPT Send Email\n\nChatGPT Test Email!' ) # 關閉客戶端 smtp_client.quit()
2.4 使用Python開發一個爬蟲程式
使用ChatGPT最有難度的應該就是抓取網站資訊,因為網站具有不同的HTML,因此抓取網站的步驟因站點而異。這裡我們抓取Scrape上的商品名稱和價格,在ChatGPT輸入關鍵字:Python抓取https://books.toscrape.com/商品名稱和價格
ChatGPT給出的解決方案如下所示:
實現程式碼如下所示:
import requests from bs4 import BeautifulSoup # 傳送 HTTP 請求並獲取網頁內容 response = requests.get('https://books.toscrape.com/') html = response.text # 使用 BeautifulSoup 解析 HTML soup = BeautifulSoup(html, 'html.parser') # 提取商品名稱和價格資訊 items = soup.find_all('h3') prices = soup.find_all('p', class_='price_color') # 遍歷商品資訊,列印商品名稱和價格 for item, price in zip(items, prices): print(item.text, price.text)
執行上述Python程式碼,抓取結果如下所示:
無需編寫程式碼,即可透過ChatGPT生成來獲取資料。
3.總結
ChatGPT是基於GPT-3模型的衍生品,因為這一點ChatGPT也被稱為GPT-3.5。ChatGPT背後的訓練除了常規的萬億級語料支援之前,還依賴了更為強大的算力。這也使得ChatGPT可以在不斷積累資料的同時,透過不斷的強化訓練,讓自己變得更加智慧。另外,ChatGPT和其他搜尋引擎就相同的問題進行檢索,透過對比發現ChatGPT往往可以給出使用者最想要的答案,並且呈現的方式也非常的直接,如ChatGPT可以根據使用者程式設計的需求直接生成程式碼,同時也可以幫助使用者檢索已有程式碼存在的錯誤。而面對同樣的問題其他搜尋引擎卻只能給使用者提供一堆網頁連結,需要使用者花費更多的時間來篩選出自己想要的答案。從時間成本和效率上ChatGPT無疑比現有的一些搜尋引擎更有優勢。