了解 OpenAI 程式碼產生功能
GPT 模型能夠接受自然語言或程式碼片段,並將其轉譯成程式碼。 OpenAI GPT 模型熟悉數十種語言,例如 C#、JavaScript、Perl、PHP,而且在 Python 上的表現最為出色。
GPT 模型已透過自然語言和來自公用存放庫的數十億行程式碼進行訓練。 模型能夠從自然語言指令產生程式碼,例如程式碼註解,也可以對完成程式碼函數的方式提出建議。
例如,假設出現「使用 Python 撰寫從 1 到 10 的 for 迴圈計數」提示,則會提供下列答案:
for i in range(1,11):
print(i)
GPT 模型可協助開發人員更快速地撰寫程式碼、了解新的程式碼語言,並專注於解決其應用程式中更大的問題。 開發人員可以將目標細分成更簡單的工作,並使用 GPT 協助使用已知模式建置這些工作。
程式碼產生範例
因為 GPT-3 的部分訓練資料包含程式設計語言,所以 GPT 模型在受到詢問時,可以毫不意外的回答程式設計問題。 Codex 模型系列的獨特之處在於,其在更多語言上的表現較 GPT 模型出色。
程式碼產生不只是從自然語言提示撰寫程式碼。 假設有下列程式碼,其可產生單元測試:
# Python 3
def mult_numbers(a, b):
return a * b
# Unit test
def
GPT 會建置函數的單元測試:
# Python 3
def mult_numbers(a, b):
return a * b
# Unit test
def test_mult_numbers():
assert mult_numbers(3, 4) == 12
assert mult_numbers(0, 10) == 0
assert mult_numbers(4, 0) == 0
# Unit test
def test_mult_numbers_negative():
assert mult_numbers(-1, 10) == -10
assert mult_numbers(10, -1) == -10
GPT 也可以對已撰寫的函數進行摘要、說明 SQL 查詢或資料表,以及將函數從一種程式設計語言轉換成另一種程式設計語言。
與 GPT 模型互動時,您可以指定程式庫或語言特定標籤,以清楚對 Codex 說明我們的要求。 例如,我們可以提供格式化為 HTML 註解的這個提示:<!-- build a page titled "Let's Learn about AI" -->
,並取得下列結果:
<html>
<head>
<title>Let's Learn about AI</title>
<link rel="stylesheet" type="text/css" href="css/styles.css">
</head>
<body>
<div class="wrapper">
<div class="header">
<h1>Let's Learn about AI</h1>
</div>
<div class="nav">
<ul>
<li><a href="index.php">Home</a></li>
<li><a href="about.php">About</a></li>
<li><a href="resources.php">Resources</a></li>
<li><a href="contact.php">Contact</a></li>
</ul>
</div>
<div class="content">
<h2>Contact</h2>
<p>
<!-- build a form to contact the site owner -->
<form action="contact.php" method="post">
<label for="name">Name:</label>
<input type="text" name="name" id="name" required>
<label for="email">Email:</label>
<input type="email" name="email" id="email" required>
<label for="subject">Subject:</label>
<input type="text" name="subject" id="subject" required>
<label for="message">Message:</label>
<textarea name="message" id="message" required></textarea>
<input type="submit" value="Send">
</form>
</p>
</div>
<div class="footer">
<p>Let's Learn about AI</p>
</div>
</div>
</body>
</html>
GitHub Copilot
OpenAI 與 GitHub 攜手建立 GitHub Copilot,並將其稱為 AI 配對程式設計師。 GitHub Copilot 將 OpenAI Codex 的強大功能,整合至 Visual Studio Code 等開發人員環境的外掛程式。
安裝並啟用外掛程式之後,您就可以開始撰寫程式碼,而 GitHub Copilot 會根據程式碼註解或函數名稱,自動建議函數的其餘部分。 例如,我們在檔案中只有函數名稱,而且會自動建議使用灰色文字來完成函數。
GitHub Copilot提供多個程式碼完成建議,您可以使用鍵盤快速鍵來逐一切換。 當指定資訊性程式碼註解時,甚至可以建議函數名稱及完整的函數程式碼。