如何使用ChatGPT來自動化Python任務

2022-12-25 21:00:50

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無疑比現有的一些搜尋引擎更有優勢。