HomeData scienceOpenAI API for Rookies: Your Straightforward-to-Comply with Starter Information

OpenAI API for Rookies: Your Straightforward-to-Comply with Starter Information



Picture by Writer

 

Techwearclub WW

On this tutorial, we are going to discover ways to arrange and use the OpenAI API for varied use instances. The tutorial is designed to be straightforward to comply with, even for these with restricted information of Python programming. We’ll discover how anybody can generate responses and entry high-quality giant language fashions.

 

 

The OpenAI API permits builders to simply entry a variety of AI fashions developed by OpenAI. It gives a user-friendly interface that allows builders to include clever options powered by state-of-the-art OpenAI fashions into their functions. The API can be utilized for varied functions, together with textual content era, multi-turn chat, embeddings, transcription, translation, text-to-speech, picture understanding, and picture era. Moreover, the API is appropriate with curl, Python, and Node.js. 

 

 

To get began with OpenAI API, you first have to create an account on openai.com. Beforehand, each consumer was given free credit score, however now new customers are required to buy credit score. 

To buy credit score, go to “Settings,” then “Billing,” and eventually, “Add Fee Particulars.” Enter your debit or bank card data, and ensure to disable auto-recharge. Upon getting loaded 10 USD, you should utilize it for a yr.

 

OpenAI API for Beginners: Your Easy-to-Follow Starter Guide

 

Let’s create the API key by navigating to “API keys” and deciding on “Create new secret key”. Give it a reputation and click on on “Create secret key”.

 

OpenAI API for Beginners: Your Easy-to-Follow Starter Guide

 

Copy the API and create an Setting variable on the native machine.

 

OpenAI API for Beginners: Your Easy-to-Follow Starter Guide

 

I take advantage of Deepnote as my IDE. It is easy to create surroundings variables. Merely go to “Integration”, choose “create surroundings variable”, present a reputation and worth for the important thing, and create the mixing.

 

OpenAI API for Beginners: Your Easy-to-Follow Starter Guide

 

Subsequent, we are going to Set up the OpenAI Python package deal utilizing pip. 

%pip set up --upgrade openai

 

We’ll now create a consumer that may entry varied varieties of fashions globally.

When you’ve got set your surroundings variable with the title “OPENAI_API_KEY”, you needn’t present the OpenAI consumer with an API key.

from openai import OpenAI

consumer = OpenAI()

 

Please observe that you must solely present an API key if the title of your surroundings variable is totally different from the default one.

import os
from openai import OpenAI

consumer = OpenAI(
  api_key=os.environ.get("SECRET_KEY"),
 )

 

 

We’ll use a legacy operate to generate the response. The completion operate requires the mannequin title, immediate, and different arguments to generate the reply.

completion = consumer.completions.create(
    mannequin="gpt-3.5-turbo-instruct",
    immediate="Write a brief story about Elon Musk being the largest troll.",
    max_tokens=300,
    temperature=0.7,
)
print(completion.decisions[0].textual content)

 

The GPT3.5 mannequin have generate wonderful story about Elon Musk. 

 

OpenAI API for Beginners: Your Easy-to-Follow Starter Guide

 

We will additionally stream our response by offering an additional argument `stream`. 

As an alternative of ready for the entire response, the stream function permits processing of output as quickly because it’s generated. This strategy helps to cut back perceived latency by returning the output of the language mannequin token by token quite than abruptly.

stream = consumer.completions.create(
    mannequin="gpt-3.5-turbo-instruct",
    immediate="Write a Python code for accessing the REST API securely.",
    max_tokens=300,
    temperature=0.7,
    stream = True
)
for chunk in stream:
        print(chunk.decisions[0].textual content, finish="")

 

OpenAI API for Beginners: Your Easy-to-Follow Starter Guide

 

 

The mannequin used API chat completion. Earlier than producing the response, let’s discover the out there fashions.   

You may view the record of all fashions out there or learn the Fashions web page on the official documentation. 

print(consumer.fashions.record())

 

OpenAI API for Beginners: Your Easy-to-Follow Starter Guide

 

We’ll use the newest model of GPT-3.5 and supply it with a listing of a dictionary for system prompts and consumer messages. Be certain that to comply with the identical message sample.

completion = consumer.chat.completions.create(
    mannequin="gpt-3.5-turbo-1106",
    messages=[
        {
            "role": "system",
            "content": "You are an experienced data scientist, adept at presenting complex data concepts with creativity.",
        },
        {
            "role": "user",
            "content": "What is Feature Engineering, and what are some common methods?",
        },
    ],
)

print(completion.decisions[0].message.content material)

 

As we are able to see, we now have generated the same consequence because the legacy API. So, why use this API? Subsequent, we are going to study why the chat completion API is extra versatile and simpler to make use of.

Characteristic engineering is the method of choosing, creating, or remodeling options (variables) in a dataset to enhance the efficiency of machine studying fashions. It includes figuring out essentially the most related and informative options and making ready them for mannequin coaching. Efficient function engineering can considerably improve the predictive energy of a mannequin and its potential to generalize to new information.

Some frequent strategies of function engineering embrace:

1. Imputation: Dealing with lacking values in options by filling them in with significant values such because the imply, median, or mode of the function.

2. One-Sizzling Encoding: Changing categorical variables into binary vectors to signify totally different classes as particular person options.

3. Normalization/Standardization: Scaling numerical options to carry t.........

 

We’ll now discover ways to have a multi-turn dialog with our AI mannequin. To do that, we are going to add the assistant’s response to the earlier dialog and in addition embrace the brand new immediate in the identical message format. After that, we are going to present a listing of dictionaries to the chat completion operate.

chat=[
    {"role": "system", "content": "You are an experienced data scientist, adept at presenting complex data concepts with creativity."},
    {"role": "user", "content": "What is Feature Engineering, and what are some common methods?"}
  ]
chat.append({"function": "assistant", "content material": str(completion.decisions[0].message.content material)})
chat.append({"function": "consumer", "content material": "Are you able to summarize it, please?"})

completion = consumer.chat.completions.create(
  mannequin="gpt-3.5-turbo-1106",
  messages=chat
)

print(completion.decisions[0].message.content material)

 

The mannequin has understood the context and summarized the function engineering for us.

Characteristic engineering includes deciding on, creating, or remodeling options in a dataset to reinforce the efficiency of machine studying fashions. Frequent strategies embrace dealing with lacking values, changing categorical variables, scaling numerical options, creating new options utilizing interactions and polynomials, deciding on vital options, extracting time-series and textual options, aggregating data, and lowering function dimensionality. These methods goal to enhance the mannequin's predictive energy by refining and enriching the enter options.

 

 

To develop superior functions, we have to convert textual content into embeddings. These embeddings are used for similarity search, semantic search, and suggestion engines. We will generate embeddings by offering the API textual content and mannequin title. It’s that straightforward. 

textual content = "Information Engineering is a quickly rising discipline that focuses on the gathering, storage, processing, and evaluation of huge volumes of structured and unstructured information. It includes varied duties reminiscent of information extraction, transformation, loading (ETL), information modeling, database design, and optimization to make sure that information is accessible, correct, and related for decision-making functions."

DE_embeddings = consumer.embeddings.create(enter=textual content, mannequin="text-embedding-3-small")
print(chat_embeddings.information[0].embedding)

 

[0.0016297283582389355, 0.0013418874004855752, 0.04802832752466202, -0.041273657232522964, 0.02150309458374977, 0.004967313259840012,.......]

 

 

Now, we are able to convert textual content to speech, speech to textual content, and in addition translate it utilizing audio API. 

 

Transcriptions

 

We can be utilizing the Wi-Fi 7 Will Change The whole lot YouTube video and convert it into mp3. After that, we are going to open the file and supply it to the audio transcript API.

audio_file= open("Information/techlinked.mp3", "rb")
transcript = consumer.audio.transcriptions.create(
  mannequin="whisper-1",
  file=audio_file
)
print(transcript.textual content)

 

The Whisper mannequin is wonderful. It has an ideal transcript the the audio. 

The Shopper Electronics Present has formally begun in Las Vegas and we'll be bringing you all of the highlights from proper right here in our common studio the place it is secure and clear and never a desert. I hate sand. The Wi-Fi Alliance introduced that they've formally confirmed the Wi-Fi 7 commonplace and so they've already began to certify units to make sure they work collectively. Not like me and Selena, that was by no means gonna final. The brand new commonplace could have twice the channel bandwidth of Wi-Fi 5, 6, and 6E, making it higher for, shock,......

 

Translation

 

We will additionally transcribe the English audio into one other language. In our case, we can be changing it into Urdu language. We’ll simply make add one other argument `language` and supply it with ISO language code “ur”.

translations = consumer.audio.transcriptions.create(
    mannequin="whisper-1",
    response_format="textual content",
    language="ur",
    file=audio_file,
)

print(translations)

 

The interpretation for non-Latin languages is imperfect, however usable for a minimal viable product.

کنسومر ایلیکٹرانک شاہی نے لاس بیگیس میں شامل شروع کیا ہے اور ہم آپ کو جمہوری بہترین چیزیں اپنے ریگلر سٹوڈیو میں یہاں جارہے ہیں جہاں یہ آمید ہے اور خوبصورت ہے اور دنیا نہیں ہے مجھے سانڈ بھولتا ہے وائ فائی آلائنٹس نے اعلان کیا کہ انہوں نے وائ فائی سیبن سٹانڈرڈ کو شامل شروع کیا اور انہوں ن........

 

Textual content to Speech

 

To transform your textual content into natural-sounding audio, we are going to use speech API and supply it with the mannequin title, voice actor title, and enter textual content. Subsequent, we are going to save the audio file to our “Information” folder. 

response = consumer.audio.speech.create(
  mannequin="tts-1",
  voice="alloy",
  enter=""'I see skies of blue and clouds of white
            The brilliant blessed days, the darkish sacred nights
            And I believe to myself
            What a beautiful world
         '''
)

response.stream_to_file("Information/tune.mp3")

 

To take heed to the audio file inside the Deepnote Pocket book, we are going to use the IPython Audio operate.

from IPython.show import Audio
Audio("Information/tune.mp3")

 

OpenAI API for Beginners: Your Easy-to-Follow Starter Guide

 

 

The OpenAI API gives customers with entry to a multimodal mannequin by the chat completion operate. To understand pictures, we are able to use the newest GPT-4 imaginative and prescient mannequin. 

Within the message argument, we now have supplied a immediate for asking questions in regards to the picture and the picture URL. The picture is sourced from Pixabay. Please make sure that you comply with the identical message format to keep away from any errors.

response = consumer.chat.completions.create(
    mannequin="gpt-4-vision-preview",
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "Could you please identify this image's contents and provide its location?",
                },
                {
                    "type": "image_url",
                    "image_url": {
                        "url": "https://images.pexels.com/photos/235731/pexels-photo-235731.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2",
                    },
                },
            ],
        }
    ],
    max_tokens=300,
)

print(response.decisions[0].message.content material)

 

The output completely clarify the picture. 

That is a picture of an individual carrying a lot of rice seedlings on a carrying pole. The person is carrying a conical hat, generally utilized in many elements of Asia as safety from the solar and rain, and is strolling by what seems to be a flooded discipline or a moist space with lush vegetation within the background. The daylight filtering by the bushes creates a serene and considerably ethereal ambiance.

It is tough to find out the precise location from the picture alone, however this sort of scene is often present in rural areas of Southeast Asian nations like Vietnam, Thailand, Cambodia, or the Philippines, the place rice farming is a vital a part of the agricultural business and panorama.

 

As an alternative of offering a picture URL, we are able to additionally load a neighborhood picture file and supply it to the chat completion API. To do that, we first have to obtain the picture by Manjeet Singh Yadav from pexels.com.

!curl -o /work/Information/indian.jpg "https://pictures.pexels.com/pictures/1162983/pexels-photo-1162983.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2"

 

Then, we are going to load the picture and encode in base64 format. 

import base64

def encode_image(image_path):
  with open(image_path, "rb") as image_file:
    return base64.b64encode(image_file.learn()).decode('utf-8')

image_path = "Information/indian.jpg"

# producing the base64 string
base64_image = encode_image(image_path)

 

As an alternative of offering the picture URL, we are going to present the metadata and the picture’s base64 string.

response = consumer.chat.completions.create(
    mannequin="gpt-4-vision-preview",
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "Could you please identify this image's contents.",
                },
                {
                    "type": "image_url",
                    "image_url": {
                        "url": f"data:image/jpeg;base64,{base64_image}"
                    },
                },
            ],
        }
    ],
    max_tokens=100,
)

print(response.decisions[0].message.content material)

 

The mannequin has efficiently analyzed the picture and supplied an in depth clarification about it.

The picture exhibits a lady wearing conventional Indian apparel, particularly a classical Indian saree with gold and white colours, which is often related to the Indian state of Kerala, generally known as the Kasavu saree. She is adorned with varied items of conventional Indian jewellery together with a maang tikka (a bit of jewellery on her brow), earrings, nostril ring, a choker, and different necklaces, in addition to bangles on her wrists.

The girl's coiffure options jasmine flowers organized in

 

 

We will additionally generate pictures utilizing the DALLE-3 mannequin. We simply have to supply mannequin title, immediate, dimension, high quality, and variety of pictures to the pictures API. 

response = consumer.pictures.generate(
  mannequin="dall-e-3",
  immediate="a younger lady sitting on the sting of a mountain",
  dimension="1024x1024",
  high quality="commonplace",
  n=1,
)

image_url = response.information[0].url

 

The generated picture is saved on-line, and you may obtain it to view it domestically. To do that, we are going to obtain the picture with the `request` operate, offering the picture URL and the native listing the place you wish to reserve it. After that, we are going to use the Pillow library’s Picture operate to open and present the picture.

import urllib.request

from PIL import Picture

urllib.request.urlretrieve(image_url, '/work/Information/lady.jpg')

img = Picture.open('/work/Information/lady.jpg')

img.present()

 

We now have acquired a high-quality generated picture. It’s merely wonderful!

 

OpenAI API for Beginners: Your Easy-to-Follow Starter Guide

 

In case you are struggling to run any of the OpenAI Python APIs, be happy to take a look at my venture on Deepnote.

 

 

I have been experimenting with OpenAPI for a while now, and we ended up utilizing solely 0.22 {dollars} in credit score, which I discover fairly inexpensive. With my information, even learners can begin constructing their very own AI functions. It is a easy course of – you do not have to coach your individual mannequin or deploy it. You may entry state-of-the-art fashions utilizing the API, which is regularly bettering with every new launch.

 

OpenAI API for Beginners: Your Easy-to-Follow Starter Guide

 

On this information, we cowl easy methods to arrange the OpenAI Python API and generate easy textual content responses. We additionally study multiturn chat, embeddings, transcription, translation, text-to-speech, imaginative and prescient, and picture era APIs. 

Do let me know If you would like me to make use of these APIs to construct a complicated AI software. 

Thanks for studying.
 
 

Abid Ali Awan (@1abidaliawan) is an authorized information scientist skilled who loves constructing machine studying fashions. At present, he’s specializing in content material creation and writing technical blogs on machine studying and information science applied sciences. Abid holds a Grasp’s diploma in Know-how Administration and a bachelor’s diploma in Telecommunication Engineering. His imaginative and prescient is to construct an AI product utilizing a graph neural community for college kids battling psychological sickness.



Supply hyperlink

Opinion World [CPL] IN

latest articles

explore more