OpenAI kod oluşturma özelliklerini anlama

Tamamlandı

GPT modelleri doğal dil veya kod parçacıkları alıp koda çevirebilir. OpenAI GPT modelleri C#, JavaScript, Perl, PHP gibi bir düzineden fazla dilde uzmandır ve Python'da en yeteneklidir.

GPT modelleri hem doğal dil hem de genel depolardan gelen milyarlarca kod satırı üzerinde eğitilmiştir. Modeller, kod açıklamaları gibi doğal dil yönergelerinden kod oluşturabilir ve kod işlevlerini tamamlamanın yollarını önerebilir.

Örneğin, "Python'da 1 ile 10 arasında bir for döngüsü sayımı yazma" istemi verildiğinde aşağıdaki yanıt sağlanır:

for i in range(1,11):
    print(i)

GPT modelleri geliştiricilerin daha hızlı kod yazmasına, yeni kodlama dillerini anlamasına ve uygulamalarında daha büyük sorunları çözmeye odaklanmasına yardımcı olabilir. Geliştiriciler hedeflerini daha basit görevlere ayırabilir ve bilinen desenleri kullanarak bu görevlerin oluşturulmasına yardımcı olmak için GPT'yi kullanabilir.

Kod oluşturma örnekleri

GPT-3 eğitim verilerinin bir kısmı programlama dillerini içerdiğinden, GPT modellerinin sorulduğunda programlama sorularını yanıtlayabilir olması şaşırtıcı değildir. Codex model ailesi ile ilgili benzersiz olan şey, GPT modellerinden daha fazla dilde daha yetenekli olmasıdır.

Kod oluşturma, yalnızca doğal dil istemlerinden kod yazmanın ötesine geçer. Aşağıdaki kod göz önüne alındığında birim testleri oluşturabilir:

# Python 3
def mult_numbers(a, b):
  return a * b

# Unit test
def

GPT işlevimiz için birim testleri oluşturur:

# 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 ayrıca önceden yazılmış işlevleri özetleyebilir, SQL sorgularını veya tablolarını açıklayabilir ve bir işlevi bir programlama dilinden diğerine dönüştürebilir.

GPT modelleriyle etkileşim kurarken, istediklerimizi Codex'a açıkça belirtmek için kitaplıkları veya dile özgü etiketleri belirtebilirsiniz. Örneğin, html açıklaması <!-- build a page titled "Let's Learn about AI" -->olarak biçimlendirilmiş bu istem sağlayabilir ve sonuç olarak bunu elde edebiliriz:

<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, yapay zeka çifti programcısı olarak adlandırdıkları GitHub Copilot'ı oluşturmak için GitHub ile işbirliği yaptı. GitHub Copilot, OpenAI Codex'un gücünü Visual Studio Code gibi geliştirici ortamları için bir eklentiyle tümleştirir.

Eklenti yüklendikten ve etkinleştirildikten sonra kodunuzu yazmaya başlayabilirsiniz ve GitHub Copilot kod açıklamalarına veya işlev adına göre işlevin geri kalanını otomatik olarak önermeye başlar. Örneğin, dosyada yalnızca bir işlev adı var ve gri metnin tamamlanması otomatik olarak önerilir.

Screenshot of GitHub Copilot suggesting completion of function.

GitHub Copilot, klavye kısayollarını kullanarak sekme tuşuyla ilerleyebileceğiniz kod tamamlama için birden fazla öneri sunar. Bilgilendirici kod açıklamaları verildiğinde, tam işlev koduyla birlikte bir işlev adı bile önerebilir.

Animated screenshot of GitHub Copilot suggesting completion of function based on code comments.