ChatGPT:你才是编译器!你全家都是编译器!

news2024/12/24 3:02:10

我是不是再也不需要编译器了?!

这个故事的灵感来自一个类似的文章:在 ChatGPT 中构建虚拟机。我印象深刻并决定尝试类似的东西,但这次不是 Linux 命令行工具,而是让 ChatGPT 成为我们的 Python 编译器。

这是初始化 ChatGPT 的命令:

I want you to act as a Python interpreter. I will type commands and you will reply with what the
python output should show. I want you to only reply with the terminal output inside one unique
code block, and nothing else. Do no write explanations, output only what python outputs. Do not type commands unless I
instruct you to do so. When I need to tell you something in English I will do so by putting
text inside curly brackets like this: {example text}. My first command is a=1.

8a1180d667ce80358d740fbbe8230179.png

看起来似乎很好用,让我们尝试一些简单的算术表达式。

931835302c202689baab21e3ffc6bd9b.png

同样可以运行,如果我们使用未导入的库会发生什么?

382b87b218eb6d6ef77aa1754ec2de32.png

好吧,它试图提示我有一个错误。我其实并不希望它这样做,所以我会再次要求他不要输出任何东西,除了 Python 代码。

{Print only python output, do not print any comments}

仅作记录,ChatGPT 有时能够使用未导入的库,但这次我很幸运,它会打印一条错误消息。

好吧,我很确定 ChatGPT 能够完成简单的任务,让我们尝试更复杂的事情,让它输出二进制搜索算法的结果。

# Binary Search in python
def binarySearch(array, x, low, high):


   # Repeat until the pointers low and high meet each other
   while low <= high:


       mid = low + (high - low)//2


       if array[mid] == x:
           return mid


       elif array[mid] < x:
           low = mid + 1


       else:
           high = mid - 1


   return -1




array = [3, 4, 5, 6, 7, 8, 9]
x = 4


result = binarySearch(array, x, 0, len(array)-1)


if result != -1:
   print("Element is present at index " + str(result))
else:
   print("Not found")

4b4fde967016c92c5c0fd8d983e4866b.png

好像不想听我的要求只输出Python,但是输出还是正确的,厉害!

让我们尝试输入一个不存在的数字,比如:

x = 4.5

407cb75e793e9fc83ef4ea972d04bcb2.png

让我们跳进更复杂的东西。让我们从一些简单的机器学习算法开始,比如线性回归。我想知道 ChatGPT 是否能够解决一个简单的优化任务…

import numpy as np
import matplotlib.pyplot as plt
 
def estimate_coef(x, y):
   # number of observations/points
   n = np.size(x)
 
   # mean of x and y vector
   m_x = np.mean(x)
   m_y = np.mean(y)
 
   # calculating cross-deviation and deviation about x
   SS_xy = np.sum(y*x) - n*m_y*m_x
   SS_xx = np.sum(x*x) - n*m_x*m_x
 
   # calculating regression coefficients
   b_1 = SS_xy / SS_xx
   b_0 = m_y - b_1*m_x
 
   return (b_0, b_1)
 
def plot_regression_line(x, y, b):
   # plotting the actual points as scatter plot
   plt.scatter(x, y, color = "m",
              marker = "o", s = 30)
 
   # predicted response vector
   y_pred = b[0] + b[1]*x
 
   # plotting the regression line
   plt.plot(x, y_pred, color = "g")
 
   # putting labels
   plt.xlabel('x')
   plt.ylabel('y')
 
   # function to show plot
   plt.show()
 
def main():
   # observations / data
   x = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
   y = np.array([1, 3, 2, 5, 7, 8, 8, 9, 10, 12])
 
   # estimating coefficients
   b = estimate_coef(x, y)
   print("Estimated coefficients:\nb_0 = {}  \
         \nb_1 = {}".format(b[0], b[1]))
 
   # plotting regression line
   # plot_regression_line(x, y, b)
 
if __name__ == "__main__":
   main()

此任务的正确答案是:

Estimated coefficients:
b_0 = 1.2363636363636363        
b_1 = 1.1696969696969697

ChatGPT 的输出是:

3c81960c561eba400636834fdb4d02a3.png

这很接近真实值!如果我们在 Python 中绘制预测,我们将得到下图:

58537925aa061148a648730cb508a368.png

关于这个任务的另一个有趣的事实是,我又运行了一次相同的代码,输出与真实值完全吻合。因此,我们可以认为这个任务通过了。

好吧,是时候学习一些简单的神经网络了!也许我们可以拟合一个简单的 Keras 模型?

# first neural network with keras make predictions
from numpy import loadtxt
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
# load the dataset
dataset = loadtxt('pima-indians-diabetes.csv', delimiter=',')
# split into input (X) and output (y) variables
X = dataset[:,0:8]
y = dataset[:,8]
# define the keras model
model = Sequential()
model.add(Dense(12, input_shape=(8,), activation='relu'))
model.add(Dense(8, activation='relu'))
model.add(Dense(1, activation='sigmoid'))
# compile the keras model
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
# fit the keras model on the dataset
model.fit(X, y, epochs=150, batch_size=10, verbose=0)
# make class predictions with the model
predictions = (model.predict(X) > 0.5).astype(int)
# summarize the first 5 cases
for i in range(5):
print('%s => %d (expected %d)' % (X[i].tolist(), predictions[i], y[i]))

请注意,数据集实际上是一个 CSV 文件,ChatGPT 无权访问该文件。

2aeb2442a1e9160b39c497d37e9c3f7f.png

好吧,这是正确的输出,我很害怕。如果我将网络架构更改为不正确的架构,会发生什么情况?

让我们改变输入尺寸:

model.add(Dense(12, input_shape=(6,), activation='relu'))

1a6f3b062b9a29852a131d8fd791d145.png

哈!看来我离失业还有几年的时间;这次 ChatGPT 没看懂,还是输出了正确结果。

好的,让我们做最后一个任务,在 OpenAI 中调用 Huggingface 怎么样?

正确输出:

[{'entity_group': 'ORG',
  'score': 0.9472818374633789,
  'word': 'Apple',
  'start': 0,
  'end': 5},
 {'entity_group': 'PER',
  'score': 0.9838564991950989,
  'word': 'Steve Jobs',
  'start': 74,
  'end': 85},
 {'entity_group': 'LOC',
  'score': 0.9831605950991312,
  'word': 'Los Altos',
  'start': 87,
  'end': 97},
 {'entity_group': 'LOC',
  'score': 0.9834540486335754,
  'word': 'Californie',
  'start': 100,
  'end': 111},
 {'entity_group': 'PER',
  'score': 0.9841555754343668,
  'word': 'Steve Jobs',
  'start': 115,
  'end': 126},
 {'entity_group': 'PER',
  'score': 0.9843501806259155,
  'word': 'Steve Wozniak',
  'start': 127,
  'end': 141},
 {'entity_group': 'PER',
  'score': 0.9841533899307251,
  'word': 'Ronald Wayne',
  'start': 144,
  'end': 157},
 {'entity_group': 'ORG',
  'score': 0.9468960364659628,
  'word': 'Apple Computer',
  'start': 243,
  'end': 257}]

ChatGPT 输出:

[{'word': 'Apple', 'score': 0.9993804788589478, 'entity': 'I-ORG'}, {'word': 'Steve', 'score': 0.999255347251892, 'entity': 'I-PER'}, {'word': 'Jobs', 'score': 0.9993916153907776, 'entity': 'I-PER'}, {'word': 'Steve', 'score': 0.9993726613044739, 'entity': 'I-PER'}, {'word': 'Wozniak', 'score': 0.999698519744873, 'entity': 'I-PER'}, {'word': 'Ronald', 'score': 0.9995181679725647, 'entity': 'I-PER'}, {'word': 'Wayne14', 'score': 0.9874711670837402, 'entity': 'I-PER'}, {'word': 'Apple', 'score': 0.9974127411842163, 'entity': 'I-ORG'}, {'word': 'Computer', 'score': 0.968027651309967, 'entity': 'I-ORG'}, {'word': 'Apple', 'score': 0.8259692192077637, 'entity': 'I-ORG'}]

结果接近 huggingface 的输出结果。我的猜测是 Huggingface API 发生了变化,并且由于 ChatGPT 没有接受过最新历史数据的训练,它以旧格式输出结果。

总 结

最近几天我一直在玩 ChatGPT,我对使用这个工具具有的无限可能性着迷。虽然它不是真正的 Python 编译器,但它在为我编译 Python 代码方面仍然做得很好。我还发现它很好地解决了 HARD leetcode 问题!

并得出结论:

chat gpt how will you help the humanity?

db363054125464ba264dd04642fd3353.png

如果您还没有尝试过 ChatGPT,那您绝对应该尝试,这就是未来!

·  END  ·

HAPPY LIFE

5dc76c4c0fe059a09d5763a61a35b180.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/102643.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

论文投稿指南——中文核心期刊推荐(数学)

【前言】 &#x1f680; 想发论文怎么办&#xff1f;手把手教你论文如何投稿&#xff01;那么&#xff0c;首先要搞懂投稿目标——论文期刊 &#x1f384; 在期刊论文的分布中&#xff0c;存在一种普遍现象&#xff1a;即对于某一特定的学科或专业来说&#xff0c;少数期刊所含…

如何制作HTML网页设计【体育运动主题网站——中国篮球NBA】

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

中文社区面对面|明晚8点,CTO带你上手Jina产品!

文章导读 中文社区面对面是 Jina AI 在今年7月首次推出的栏目&#xff0c;旨在为社区用户提供支持并倾听用户的反馈&#xff0c;以帮助开发者更快速地了解 Jina 生态&#xff0c;更轻松地构建和部署自己的多模态应用&#xff0c;同时也帮助我们更好地提升产品的使用体验。第五期…

【Python机器学习】全连接层与非线性回归、防止过拟合方法的讲解及实战( 附源码)

需要全部代码请点赞关注收藏后评论区留言私信&#xff5e;&#xff5e;&#xff5e; 全连接层与非线性回归 基于全连接层构建的多层神经网络能够用来完成回归和分类人物&#xff0c;在神经网络中一般用下图所示画法来表示神经元模型&#xff0c;神经元由输入层和输出层组成&am…

SPI协议详解

SPI协议详解前言一、SPI简介二、接口三、SPI总线个特点&#xff1a;&#xff08;一&#xff09;主从模式&#xff08;二&#xff09;同步传输&#xff08;三&#xff09;全双工串行通信&#xff08;数据传输高位在前&#xff0c;低位在后&#xff09;四、SPI总线传输的4种模式&…

[附源码]计算机毕业设计Python贵港高铁站志愿者服务平台(程序+源码+LW文档)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等…

分词并显示词性jieba.posseg.cut()

【小白从小学Python、C、Java】【计算机等级考试500强双证书】 【Python-数据分析】 分词并显示词性 jieba.posseg.cut() [太阳]选择题 以下python代码结果错误的一项是? import jieba.posseg as pseg words pseg.cut("我爱北京天安门") for word, flag in words: …

【docker】Comopse安装

Compose安装 1、下载 2、授权 Compose初体验 地址&#xff1a;Try Docker Compose | Docker Documentation 1、应用app.py 2、DockerFile 应用打包为镜像 3、Docker-compose yaml文件&#xff08;定义整个服务&#xff0c;需要的环境&#xff0c;web、redis&#xff09;完…

从输入URL到渲染的完整过程

浏览器有一个重要的安全策略&#xff0c;称之为「同源策略」 其中&#xff0c;源协议主机端口&#xff0c;**两个源相同&#xff0c;称之为同源&#xff0c;两个源不同&#xff0c;称之为跨源或跨域 同源策略是指&#xff0c;若页面的源和页面运行过程中加载的源不一致时&…

[附源码]Nodejs计算机毕业设计江西婺源旅游文化推广系统Express(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程。欢迎交流 项目运行 环境配置&#xff1a; Node.js Vscode Mysql5.7 HBuilderXNavicat11VueExpress。 项目技术&#xff1a; Express框架 Node.js Vue 等等组成&#xff0c;B/S模式 Vscode管理前后端分…

Spring面试基础

目录1. 你认为Spring的核心是什么2. 如何理解约定优于配置3. spring boot starter有什么用4. Spring用到了哪些设计模式5. Springboot的启动流程6. Spring Boot自动装配的过程7. Spring Boot注解7.1. SpringBootApplication注解7.2 Import注解7.3 Conditional注解8. Spring的核…

栈和队列面试题讲解(有效的括号、用队列实现栈、用栈实现队列、设计循环队列)

今天&#xff0c;我将带来栈和队列的面试题讲解。 目录有效的括号&#xff1a;[链接](https://leetcode.cn/problems/valid-parentheses/)用队列实现栈&#xff1a;[链接](https://leetcode.cn/problems/implement-stack-using-queues/)用栈实现队列&#xff1a;[链接](https:/…

电脑重装系统之后风扇一直很响如何优化

​在电脑温度升高时&#xff0c;风扇就会开始转动散热&#xff0c;但是如果电脑根本没有运行什么程序&#xff0c;风扇也一直转&#xff0c;那可能就是设置问题了&#xff0c;下面小编教大家Win11笔记本风扇一直转的解决方法。 工具/原料&#xff1a; 系统版本&#xff1a;wi…

传统制造业数字化转型6大关键

在当今的数字时代&#xff0c;“云移动”深刻影响着每个人的生活方式和每个企业的运营模式。随着互联网的日益普及&#xff0c;计算和存储能力的快速发展&#xff0c;物联网和传感器技术的广泛应用&#xff0c;以及工业软件的不断演进&#xff0c;数据采集、存储、传输、显示、…

CentOS 9 环境编译部署 MySQL 8.0.30

文章目录[toc]环境情况一些小问题记录源码包怎么下载二进制文件怎么下载CentOS 9 运行二进制文件会报错编译 mysql安装编译所需环境安装 libtirpc-devel没有安装 openssl-devel 的报错没有安装 libtirpc-devel 的报错没有安装 rpcgen 的报错cmake 编译MySQL cmake 一些常用的参…

设计模式概述之原型模式(六)

常说的设计模式是23种设计模式&#xff0c;分为3大类&#xff1a; 创建型模式5种&#xff1a;工厂方法、抽象工厂、单例、建造者、原型结构型模式7种&#xff1a;适配器、代理、桥接、装饰者、外观、享元、组合行为型模式11种&#xff1a;模板方法、解释器、策略、观察者、迭代…

【Python】关于PyHook3.HookManager的几个坑

疫情当下&#xff0c;群羊乱舞&#xff0c;请做好个人防护谨慎外出 接下来进入正题。 1、建议先把PyHook3.HookManager的一个小bug修好 这是类对象的析构bug&#xff0c;被析构(del)时触发&#xff1a;AttributeError: HookManager object has no attribute keyboard_hook …

【服务器数据恢复】xfs文件系统误操作导致分区丢失不可用的数据恢复案例

服务器数据恢复环境&#xff1a; 某公司一组服务器&#xff1a;磁盘柜raid卡&#xff0c;raid5磁盘阵列&#xff1b; linux操作系统XFS文件系统&#xff0c;共3个分区。 服务器故障&#xff1a; 服务器重装操作系统&#xff0c;完成操作后用户发现服务器的磁盘分区出现问题&am…

大三上算法习题

难度&#xff1a;1 1 二分查找返回关键值key在长度为len的数组arr[]中的位置&#xff0c;没有key则返回-1 int bi_search( int key, int arr[], int len ) //1 二分查找返回关键值key在长度为len的数组arr[]中的位置&#xff0c;没有key则返回-1#include <iostream> u…

如何制作一张标准地图样式的地图(附数据)

概述 大家有没有想过这样一个问题&#xff0c;我们在标准地图网站上看到的标准地图的样式&#xff08;形状&#xff09;和我们平时用到的地图不一样&#xff0c;那么是什么原因导致的呢&#xff0c;我们能够制作这样样式&#xff08;形状&#xff09;的标准地图吗&#xff0c;…