如果您正在尋找人工智慧助理來幫助您編寫程式碼,那麼您很可能遇到 CodeGPT。它是您在編程時可以用來幫助您的眾多人工智慧工具之一。但CodeGPT真的能寫程式嗎?
CodeGPT 是一個專用擴展,它使用不同的人工智慧 (AI) 模型來幫助程式設計師編寫和修復程式碼。它包括旨在更快、更輕鬆編程的各種功能,包括自動完成、程式碼解釋、重構、文件、單元測試、錯誤檢查和錯誤修復。它還具有類似 ChatGPT 的介面,您可以從程式碼編輯器存取。
這個擴充特別強大,因為它可以讓您連接到來自 OpenAI 和 Google 等不同供應商的各種主流大語言模型 (LLM)。最重要的是,CodeGPT 允許您建立自己的 AI 代理,您可以在專案中使用它或與其他人共用。
雖然有多種適用於 Linux、macOS 和 Windows 的程式碼編輯器,但 CodeGPT 僅提供兩種。現在,您可以在 VS Code 或 Cursor(VS Code 的一個分支)中安裝和使用 CodeGPT。
您可以免費下載並安裝 CodeGPT,但使用該擴充功能需要付費。 CodeGPT 提供各種訂閱套餐,如果您需要無限制訪問,您可以付費購買。
CodeGPT Plus 共有三種訂閱方案。基本方案的價格為 9.99 美元/月,其次是標準方案(19.99 美元/月)和黃金方案(49.99 美元/月)。有一個免費試用期,您可以使用該試用期來評估擴充功能。每個包都可以讓您存取特定的 AI 代理並進行無限的互動。
請記住,您需要為無限制使用第三方 AI 模型(例如 OpenAI 的 GPT-4 模型)付費。儘管您可以免費存取 Open AI 的 GPT-4 模型,但您無法在 VS Code 或 Cursor 中執行此操作。
為了評估這一點,我們將使用擴充功能來幫助我們在 Python 中產生兩個不同的程式碼範例。
首先,我們要求模型使用所有相關方法在 Python 中產生堆疊資料結構。我們使用了這個提示:
在Python 中建立一個堆疊並包含所有必要的方法
模型產生了以下回應:
classStack:def__init__(self):self.stack = []defpush(self, item):self.stack.append(item)defpop(self):if self.is_empty():raise IndexError("Pop from empty stack")return self.stack.pop()defpeek(self):if self.is_empty():raise IndexError("Peek from empty stack")return self.stack[-1]defis_empty(self):return len(self.stack) == 0defsize(self):return len(self.stack)
此範例顯示CodeGPT 夠聰明,可以使用類別建立堆疊,並包含必要的檢查處理可能出現的特定錯誤。例如,如果您嘗試查看或彈出空堆疊,程式碼會拋出資訊性錯誤。
在第二個挑戰中,我們要求 CodeGPT 將 JSON 格式的回應從 JSONPlaceholder API 儲存到 CSV 檔案。對於上下文,來自JSONPlaceholder API 的回應如下所示:
{'userId': 1,'id': 1,'title': 'sunt aut facere repellat provident occaecati excepturi optio reprehenderit','body': 'quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto'}
我已向https://jsonplaceholder.typicode.com/posts/1 上的外部API 發出請求,並且收到了回應。我已將回應格式化為 json,如何將其保存在 csv 檔案中? CodeGPT 回應的代碼為:import csvimport requests# 向API 發出GET 請求response = requests.get('https://jsonplaceholder.typicode .com/ posts/1')# 將回應轉換為JSON 格式data = response.json()# 由於我們收到的是一本字典,因此我們需要將其轉換為一個字典的列表data = [data]# 開啟(或建立) 一個CSV 檔案來寫入資料with open('output.csv', 'w', newline='') as output_file:# 建立一個CSV writer objectwriter = csv.DictWriter(output_file, fieldnames=data[0]. keys( ))# 寫入CSV headerswriter.writeheader()# 將資料寫入CSV filewriter.writerows(data)
import csvimport requests# Make a GET request to the APIresponse = requests.get('https://jsonplaceholder.typicode.com/posts/1')# Convert the response to JSON formatdata = response.json()# Since we're receiving a dictionary, we need to turn it into a list of one dictionarydata = [data]# Open (or create) a CSV file to write the datawith open('output.csv', 'w', newline='') as output_file:# Create a CSV writer objectwriter = csv.DictWriter(output_file, fieldnames=data[0].keys())# Write the CSV headerswriter.writeheader()# Write the data to the CSV filewriter.writerows(data)
這裡唯一的問題是呼叫 open() 時回應未指定編碼類型。雖然會自動包含預設值,但建議指定編碼類型,並在使用 Python 寫入檔案時將其視為最佳實踐。這可能會幫助您避免錯誤的解釋,從而導致文字混亂。
所以:CodeGPT 可以編寫程式碼,但您應該小心,因為它並不總是為您提供最佳輸出。您得到的結果可能容易出錯,並且可能不遵循最佳實踐。每當您使用 CodeGPT 或任何其他人工智慧驅動的工具編寫程式碼時,請先努力理解程式碼的作用。不要只是複製和貼上。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3