OpenAI-kódlétrehozási képességek ismertetése

Befejeződött

A GPT-modellek természetes nyelveket vagy kódrészleteket használhatnak, és kódba fordíthatják őket. Az OpenAI GPT-modellek több mint egy tucat nyelven( például C#, JavaScript, Perl, PHP) használhatók, és a Pythonban a leginkább alkalmasak.

A GPT-modelleket természetes nyelvre és több milliárd kódsorra is betanították a nyilvános adattárakból. A modellek természetes nyelvi utasításokból, például kódbejegyzésekből képesek kódot generálni, és javaslatot tehetnek a kódfüggvények elvégzésére.

Például a "Ciklusszámlálás írása 1-től 10-ig Pythonban" kérdésre a következő választ adja meg:

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

A GPT-modellek segíthetnek a fejlesztőknek a gyorsabb kódolásban, az új kódolási nyelvek megértésében, és az alkalmazás nagyobb problémáinak megoldására összpontosíthatnak. A fejlesztők egyszerűbb feladatokra bonthatják a céljukat, és a GPT használatával ismert minták használatával építhetik ki ezeket a feladatokat.

Példák kódgenerálásra

A GPT-3 betanítási adatainak egy része programozási nyelveket tartalmazott, így nem meglepő, hogy a GPT-modellek válaszolhatnak a programozási kérdésekre, ha feltehetik. A Codex-modellcsalád egyedi tulajdonsága, hogy több nyelvre képes, mint a GPT-modellekre.

A kódlétrehozás túlmutat azon, hogy természetes nyelvi kérésekből írjon kódot. A következő kóddal egységteszteket hozhat létre:

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

# Unit test
def

A GPT egységteszteket készít a függvényünkhöz:

# 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

A GPT a már megírt függvényeket is összegzi, elmagyarázza az SQL-lekérdezéseket vagy táblákat, és egy függvényt egy programozási nyelvről egy másikra konvertál.

A GPT-modellek használatakor kódtárakat vagy nyelvspecifikus címkéket adhat meg, hogy egyértelművé tegye a Codex számára, hogy mit szeretnénk. Megadhatja például ezt a HTML-megjegyzésként formázott kérést: <!-- build a page titled "Let's Learn about AI" -->, és ennek eredményeként lekérheti a következőt:

<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

Az OpenAI a GitHubtal együttműködve hozta létre a GitHub Copilototot, amelyet AI-pár programozónak hívnak. A GitHub Copilot integrálja az OpenAI Codex erejét egy olyan fejlesztői környezetek beépülő moduljába, mint a Visual Studio Code.

A beépülő modul telepítése és engedélyezése után elkezdheti írni a kódot, és a GitHub Copilot automatikusan javaslatot tesz a függvény fennmaradó részére a kód megjegyzései vagy a függvény neve alapján. Például csak egy függvénynév szerepel a fájlban, és a rendszer automatikusan a szürke szöveget javasolja a kiegészítéshez.

Screenshot of GitHub Copilot suggesting completion of function.

A GitHub Copilot több javaslatokat is kínál a kódvégzéssel kapcsolatban, amelyeket billentyűparancsokkal is bejárhat. Ha informatív kód megjegyzéseket ad hozzá, akár egy függvénynevet is javasolhat a teljes függvénykóddal együtt.

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