51Testing软件测试论坛

标题: 利用ChatGPT来自动化Python任务 [打印本页]

作者: lsekfe    时间: 2023-5-16 14:31
标题: 利用ChatGPT来自动化Python任务
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无疑比现有的一些搜索引擎更有优势。






欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2