首頁  >  文章  >  科技週邊  >  整合GPT-4的Cursor讓編寫程式碼和聊天一樣簡單,用自然語言編寫程式碼的新時代已來

整合GPT-4的Cursor讓編寫程式碼和聊天一樣簡單,用自然語言編寫程式碼的新時代已來

王林
王林轉載
2023-04-04 12:15:071819瀏覽

整合GPT-4的Github Copilot X還在小範圍內測中,而整合GPT-4的Cursor已公開發行。 Cursor是一個整合GPT-4的IDE,可以用自然語言寫程式碼,讓寫程式碼和聊天一樣簡單。

GPT-4和GPT-3.5在處理和編寫程式碼的能力上差異還是很大的。官網的一份測試報告。

整合GPT-4的Cursor讓編寫程式碼和聊天一樣簡單,用自然語言編寫程式碼的新時代已來

前兩個是GPT-4,一個採用文字輸入,一個採用圖像輸入;第三個是GPT3.5,可以看出GPT-4的程式碼能力相較於GPT-3.5有較大能力的提升。

整合GPT-4的Github Copilot X還在小範圍內測中,而整合GPT-4的Cursor已公開發行。 Cursor是一個整合GPT-4的IDE,可以用自然語言寫程式碼,讓寫程式碼和聊天一樣簡單。

整合GPT-4的Cursor,快捷鍵:windows電腦ctrl k,mac電腦comand k 喚起需求輸入框,來用自然語言編寫程式碼;ctrl l,comand l 喚起聊天窗口,讓編寫程式碼和聊天一樣簡單。

首先,按 ctrl k。寫下一段需求:寫一個python程序,要求實作圖片轉字畫並寫入文件,要用到pillow 函式庫的使用,araparse函式庫

整合GPT-4的Cursor讓編寫程式碼和聊天一樣簡單,用自然語言編寫程式碼的新時代已來

##cursor在一個空白的檔案中,產生了一段完整的python程式碼。

整合GPT-4的Cursor讓編寫程式碼和聊天一樣簡單,用自然語言編寫程式碼的新時代已來

# Welcome to Cursor




# 1. Try generating with command K on a new line. Ask for a pytorch script of a feedforward neural network
# 2. Then, select the outputted code and hit chat. Ask if there's a bug. Ask how to improve.
# 3. Try selecting some code and hitting edit. Aadd bot to edit. residual layers.
# 4. To try out cursor on your own projects, go to the file menu (top left) and open a folder.
from PIL import Image
import argparse










#4im # 命令列輸入參數處理
parser = argparse.ArgumentParser()

parser.add_argument('file') # 輸入檔案
parser.add_argument('-o', '--output' ) # 輸出檔
parser.add_argument('--width', type = int, default = 80) # 輸出字元畫寬
parser.add_argument('--height', type = int, default = 80 ) # 輸出字元高

# 取得參數
args = parser.parse_args()

IMG = args.file
WIDTH = args.width
HEIGHT = args 。 ()_ -=[]{};':",./?\|`~ ")

# 將256灰階對應到70個字元上
def get_char( r, g, b, alpha = 256):
if alpha == 0:
return ' '
length = len(ascii_char)
gray = int(0.2126 * r 0.7152 * g 0.0722 * b)

unit = (256.0 1)/length

unit = (256.0 1)/length
return ascii_char[int(gray/unit)]

if __name__ == '__main__':
#im = Image. open(IMG)
im = im.resize((WIDTH, HEIGHT), Image.NEAREST)

txt = ""

for i in range(HEIGHT):
for j in range(WIDTH):
txt = get_char(*im.getpixel((j, i)))
txt = 'n'

print(txt)

# 字元畫輸出到檔案if OUTPUT:

with open(OUTPUT, 'w') as f:

f.write(txt)

else:

with open("output .txt", 'w') as f:

f.write(txt)整合GPT-4的Cursor讓編寫程式碼和聊天一樣簡單,用自然語言編寫程式碼的新時代已來

看看自動產生的程式碼能否直接運作。


用於轉換的圖片選用下面這張:




(venv) PS C:UsershanweiPycharmProjectspythonProject> python .main.py -h
usage : main.py [-h] [-o OUTPUT] [--width WIDTH] [--height HEIGHT] file

positional arguments:
file
#options:

-h, --helpshow this help message and exit

-o OUTPUT, --output OUTPUT

--width WIDTH整合GPT-4的Cursor讓編寫程式碼和聊天一樣簡單,用自然語言編寫程式碼的新時代已來--height HEIGHT

(venv) PS C:UsershanweiPycharmProjectspythonProject> python .UsershanweiPycharmProjectspythonProject> python .main> .py .golang.png

執行程式後,轉換的效果如下:

#下面來讀讀程式碼:整合GPT-4的Cursor讓編寫程式碼和聊天一樣簡單,用自然語言編寫程式碼的新時代已來##gray = int(0.2126 * r 0.7152 * g 0.0722 * b)

###這段程式碼好奇怪,問Cursor是啥意思。按下 ctrl l,喚起聊天窗口,輸入:這段程式碼是啥意思#############

整合GPT-4的Cursor讓編寫程式碼和聊天一樣簡單,用自然語言編寫程式碼的新時代已來

Cursor給了解釋,原來是透過r,g,b的值加權計算出灰階值,然後透過灰階值計算出字元。也給了參考連結 https://en.wikipedia.org/wiki/Grayscale#Converting_color_to_grayscale

整合GPT-4的Cursor讓編寫程式碼和聊天一樣簡單,用自然語言編寫程式碼的新時代已來

##按下ctrl l,喚起聊天窗口,讓AI解釋下整段程式碼,輸入:用中文解釋下整段程式碼

整合GPT-4的Cursor讓編寫程式碼和聊天一樣簡單,用自然語言編寫程式碼的新時代已來

整合GPT-4的Cursor讓編寫程式碼和聊天一樣簡單,用自然語言編寫程式碼的新時代已來

#可見AI解釋的非常準確和詳盡。

上面程式碼的功能是將圖片轉換成黑白的帶有灰階的ASCII字元畫,下面來改造一下,讓它能夠產生彩色的字元畫。

按下ctrl k 喚醒需求文字框,輸入:請將這段程式碼由產生黑白的字元改成產生彩色的字元

整合GPT-4的Cursor讓編寫程式碼和聊天一樣簡單,用自然語言編寫程式碼的新時代已來

看到動畫:AI會逐行掃描每一行程式碼,在需要改動的地方標註出來,然後在下面給出改動的程式碼。並保留原來的程式碼,方便比較。

整合GPT-4的Cursor讓編寫程式碼和聊天一樣簡單,用自然語言編寫程式碼的新時代已來

AI只改動了2行的程式碼(實際上只改動了一行,第二處AI估計大腦短路了,完全等價的改動),實現了由產生黑白的字元改成產生彩色的字元。下面測試一下:

(venv) PS C:UsershanweiPycharmProjectspythonProject> python .main2.py .golang.png

產生的結果如下,發現文字檔案開啟後,多了很多顏色的資訊

整合GPT-4的Cursor讓編寫程式碼和聊天一樣簡單,用自然語言編寫程式碼的新時代已來

直接打開文字檔案查看,是無法看出原來的圖像了,需要在終端機查看顏色效果:

整合GPT-4的Cursor讓編寫程式碼和聊天一樣簡單,用自然語言編寫程式碼的新時代已來

整合GPT-4的Cursor讓編寫程式碼和聊天一樣簡單,用自然語言編寫程式碼的新時代已來

可見,原來圖片的藍色訊息,且兩種不同深淺的藍色都顯示出來了。 Perfect!

以上是整合GPT-4的Cursor讓編寫程式碼和聊天一樣簡單,用自然語言編寫程式碼的新時代已來的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:51cto.com。如有侵權,請聯絡admin@php.cn刪除