OER·harvester

← Back to the library
GitHub NOTEBOOK resource

Oai Assignment

Repository 21 Lessons, Get Started Building with Generative AI

Licence
OPEN MIT
Authors
Microsoft (microsoft)
Updated
2024-02-13 · GitHub
Language
en detected
Length
38 words
Open original ↗
{ }
Jupyter notebook Converted to a read-only view · code is not executed

Source: Oai Assignment · GitHub · microsoft/generative-ai-for-beginners Authors: Microsoft (microsoft) Licence: MIT — https://spdx.org/licenses/MIT.html

In [1]
%pip install openai python-dotenv
In [2]
import os
from openai import OpenAI
from dotenv import load_dotenv
import numpy as np
load_dotenv()

API_KEY = os.getenv("OPENAI_API_KEY","")
assert API_KEY, "ERROR: OpenAI Key is missing"

client = OpenAI(
    api_key=API_KEY
    )
In [3]
# Dependencies for embeddings_utils
%pip install matplotlib plotly scikit-learn pandas
In [4]
def cosine_similarity(a, b):
    return np.dot(a, b) / (np.linalg.norm(a) * np.linalg.norm(b))
In [5]
text = 'the quick brown fox jumped over the lazy dog'
model = 'text-embedding-ada-002'

client.embeddings.create(input = [text], model=model).data[0].embedding
In [6]
# compare several words
automobile_embedding    = client.embeddings.create(input = 'automobile', model=model).data[0].embedding
vehicle_embedding       = client.embeddings.create(input = 'vehicle', model=model).data[0].embedding
dinosaur_embedding      = client.embeddings.create(input = 'dinosaur', model=model).data[0].embedding
stick_embedding         = client.embeddings.create(input = 'stick', model=model).data[0].embedding

# comparing cosine similarity, automobiles vs automobiles should be 1.0, i.e exactly the same, while automobiles vs dinosaurs should be between 0 and 1, i.e. not the same
print(cosine_similarity(automobile_embedding, automobile_embedding))
print(cosine_similarity(automobile_embedding, vehicle_embedding))
print(cosine_similarity(automobile_embedding, dinosaur_embedding))
print(cosine_similarity(automobile_embedding, stick_embedding))