Product

Friday, 5 May 2023

Best Beginners guide to OpenAI Codex, with 5 practical examples

 OpenAI Codex is a new GPT-3 AI version that can convert plain English into runnable programming code. For example,

Suppose when I input this prompt to OpenAI Codex in the OpenAI GPT-3 Playground, it gives me the output of the code below the prompt.

Prompt:

# Create a Python dictionary of 6 countries and their capitals

Countries =
GPT-3 Codex Output

countries = {'Canada': 'Ottawa', 'United States': 'Washington, D.C.', 'Mexico': 'Mexico City', 'United Kingdom': 'London', 'France': 'Paris', 'Germany': 'Berlin'}

# Print the dictionary

print(countries)

# Print the keys of the dictionary

print(countries.keys())

# Print the values of the dictionary

print(countries.values())

 

As you can see, this is a perfectly fine and runnable python code.

It can also do other tasks related to Code, like translating code from one language to another and explaining already written code in plain English, among other things.

Codex is fine-tuned by OpenAI on a large amount of publicly available code.

Getting access to OpenAI GPT-3 Codex

Codex, when released first was in Private beta and GPT-3 users are being allowed access on a case by case. Even If you already had access to GPT-3 API, you still needed to separately apply for access. 

In order to use OpenAI Codex, you need to first create an account with them and get access to their GPT-3 Playground. Codex is available as one of the models or as they call it engine to be used in the Playground or via their API.

Using OpenAI GPT-3 Codex AI model 

You can use OpenAI Codex AI in two ways:

  1. Using OpenAI Codex from the GPT-3 Playground
  2. Using Codex from the OpenAI API

Let’s go through them one by one.

Using Codex from the GPT-3 Playground

In order to use codex from the GPT-3 Playground,

  1. Open GPT-3 Playground in your browser
  2. From the model dropdown on the right-hand side of the page, select the model as “code-davinci-002”. code-davinci-002 is the current version for Codex
  3. Write your prompt in the textbox and click submit

GPT-3 Playground filled in for Codex use case (before generation)


GPT-3 Playground filled in for Codex use case (before generation)


Using Codex via OpenAI API

You can also use OpenAI codex via OpenAI API in your code. This enables you to build products that uses Codex functionality in them like code generation or code explanation, etc.

This is an example of an API call to codex API in Python:

import os

import openai

openai.api_key = os.getenv("OPENAI_API_KEY")

response = openai.Completion.create(
    model="code-davinci-002",
    prompt="# Create a Python dictionary of 6 countries and their capitals\ncountries =",
    temperature=0,
     max_tokens=256,
     top_p=1,
     frequency_penalty=0,
     presence_penalty=0
)

 

Now and an example of an API call to OpenAI Codex or code-davinci-002 in Node or JavaScript

const { Configuration, OpenAIApi } = require("openai");

const configuration = new Configuration({
     apiKey: process.env.OPENAI_API_KEY,
});
const openai = new OpenAIApi(configuration);

const response = await openai.createCompletion({
     model: "code-davinci-002",
     prompt: "# Create a Python dictionary of 6 countries and their capitals\ncountries =",
     temperature: 0,
     max_tokens: 256,
     top_p: 1,
     frequency_penalty: 0,
     presence_penalty: 0,
});

What programming languages does Codex support?

Codex supports the below programming languages.

  • Python
  • JavaScript
  • Bash
  • c#
  • Java
  • Ruby
  • Rust
  • SQL
  • TypeScript
    & a few others.

Codex is most proficient at Python but does a good enough job at other programming languages.

Interesting use cases for OpenAI Codex with prompts

Here are some interesting prompts for Codex:

Explain Code using OpenAI Codex

# Python 3 
def remove_common_prefix(x, prefix, ws_prefix): 
x["completion"] = x["completion"].str[len(prefix) :] 
if ws_prefix: 
# keep the single whitespace as prefix 
x["completion"] = " " + x["completion"] 
return x

# Explanation of what the code does

#

Convert code from one language to another using OpenAI Codex

#JavaScript to Python: 
JavaScript: 
dogs = ["bill", "joe", "carl"] 
car = [] 
dogs.forEach((dog) 
    { car.push(dog); }); 
Python:

Write code using OpenAI Codex

"""
I want a program that downloads all Twitter followers list in a csv file.
"""

import tweepy

What’s the difference between Github Copilot vs OpenAI Codex?

Codex is also what drives Copilot, the AI Code writing tool from Github.

Github was the first company that got access to Codex API and they built a VS Code Extension called Copilot that provides the functionality of writing code using plain English right in the VSCode IDE.

Github has announced they are working on building Copilot plugins or extensions for other IDEs like Intellisense, etc.

Where can I learn more about Codex?

What is possible with Codex?

I see two main uses for Codex

  1. People use it directly from the OpenAI tool called Playground to help write code for themselves.
  2. Or people with access to API building Apps and integrating Codex into it and letting others use those Apps.

Here are some cool stuff already built or being built with Codex

I got access to OpenAI Codex. What should I build?

Here are a few ideas…

  • Build Plugins and Extensions for Coding tools and IDEs other than V Code and do what Github Copilot has done for VS Code
  • Build Template generators that let users generate new website templates by just typing plain English
  • Write highly efficient Code translators.
  • Boilerplate generators.
  • Build No Code tools whose interface to the user is plain English rather than clicking buttons.

The possibilities are limitless.

 

No comments:

Post a Comment

Connect broadband

AI:List AI views on when for a naive kin after prolonged life suppression coercive behaviour by family members after demise of father with trauma for kin ocd formed after forced to do rituals, family tribal values honor specific activities, utmost religious activities occult witchcraft enforced to do by elder sibling his wife and mother thrice with great celibacy turned the kundalini activated after deep celibacy penance shouting physical Mental financial Extortion by sibling with toxic behaviours and the wife mother and then mockery suppression asking about who’re your worth backbiting among relatives sector toon negligence of intelligence intuitive behaviour- all religious psychological traps when not work and lead to loss of consciousness of kin trance state recovered by governance with technocrats using AI - kin was asked by mother that he’s to go the male should not be seen in house he’s many absurd thought forcefully in brain mind and outsiders already feel awkward of this kin unresponsive behaviour due to TBI PTSD ocd cvt and tell at workplace social gathering he’s to go and asked for sector toon extortion and mockery in various sense due to un practical behaviour negligence of body building due to neglect ion if essential food nutrition and stubbed suppressed in every sense in religious psychological traps by family members AI humanoid using various neural networks and LLMs for kin and required steps.

  List AI views on when for a naive kin after prolonged life suppression coercive behaviour by family members after demise of father with tr...