Artificial intelligence

 Implementing ChatGPT Using OpenAI API

This guide walks you through building a ChatGPT-like conversational AI using open-source tools. You’ll learn how to load a pre-trained language model, fine-tune it on custom dialogue data, and deploy it as a chat interface

  1. Loading the pre-trained GPT-2 model
  2. Creating and preparing custom data
  3. Fine-tuning (basic training structure)
  4. Inference (chatbot conversation)
  5. Simple UI with Gradio

 1. Setup & Load GPT-2

 Code:

from transformers import GPT2Tokenizer, GPT2LMHeadModel

# Load tokenizer and model
tokenizer = GPT2Tokenizer.from_pretrained("gpt2")
model = GPT2LMHeadModel.from_pretrained("gpt2")

# Set pad token if not already
tokenizer.pad_token = tokenizer.eos_token
model.resize_token_embeddings(len(tokenizer))

🖥️ Output:

Downloading (…)solve/main/vocab.json: 100%
Downloading (…)okenizer_config.json: 100%
Downloading (…)pytorch_model.bin: 100%

Model and tokenizer loaded successfully.

 2. Sample Dataset (Custom Instruction Format)

 Sample JSONL Data (chat_data.jsonl):

{"prompt": "User: What is AI?\nAssistant:", "response": "AI stands for Artificial Intelligence, a field that enables machines to mimic human intelligence."}
{"prompt": "User: Tell me a joke\nAssistant:", "response": "Why did the computer show up at work late? It had a hard drive!"}

Save this as chat_data.jsonl.

3. Load and Tokenize Dataset

 Code:

from datasets import load_dataset

dataset = load_dataset("json", data_files="chat_data.jsonl")

def tokenize(example):
    inputs = tokenizer(example['prompt'], truncation=True, padding="max_length", max_length=128)
    targets = tokenizer(example['response'], truncation=True, padding="max_length", max_length=128)
    inputs["labels"] = targets["input_ids"]
    return inputs

tokenized_dataset = dataset.map(tokenize, batched=True)

🖥️ Output:

DatasetDict({
    train: Dataset({
        features: ['prompt', 'response'],
        num_rows: 2
    })
})

 4. (Optional) Fine-tune Model on Instruction Data

For simplicity, let’s do 1 epoch fine-tuning:

 Code:

from transformers import TrainingArguments, Trainer, DataCollatorForLanguageModeling

training_args = TrainingArguments(
    output_dir="./chatgpt-model",
    num_train_epochs=1,
    per_device_train_batch_size=1,
    logging_dir="./logs",
    logging_steps=10,
    save_total_limit=1,
    save_steps=50,
    fp16=False
)

trainer = Trainer(
    model=model,
    args=training_args,
    train_dataset=tokenized_dataset['train'],
    tokenizer=tokenizer,
    data_collator=DataCollatorForLanguageModeling(tokenizer=tokenizer, mlm=False)
)

trainer.train()

 Output (sample logs):

***** Running training *****
Epoch 1/1
  Step    Training Loss
   10     2.205700
   20     1.943200
...
Training completed. Saving model to ./chatgpt-model

 5. Inference: Generate Chat Responses

 Code:

def chat_with_bot(user_input):
    prompt = f"User: {user_input}\nAssistant:"
    inputs = tokenizer(prompt, return_tensors="pt")
    outputs = model.generate(
        inputs["input_ids"],
        max_length=100,
        num_return_sequences=1,
        pad_token_id=tokenizer.eos_token_id,
        do_sample=True,
        top_p=0.95,
        temperature=0.9,
    )
    reply = tokenizer.decode(outputs[0], skip_special_tokens=True)
    return reply[len(prompt):].strip()

 Try it:

print(chat_with_bot("What is AI?"))
print(chat_with_bot("Tell me a joke"))

 Sample Output:

AI stands for Artificial Intelligence. It allows machines to perform tasks that normally require human intelligence like decision-making and language understanding.
Why did the computer show up late to work? It had a hard drive!

 6. Deploy with Gradio UI

Code:

import gradio as gr

def gradio_chat(user_input, history=[]):
    response = chat_with_bot(user_input)
    history.append((user_input, response))
    return history, history

gr.Interface(
    fn=gradio_chat,
    inputs=[gr.Textbox(label="Type here"), gr.State()],
    outputs=[gr.Chatbot(label="ChatGPT Lite"), gr.State()],
    title="ChatGPT Clone",
).launch()

🖥️ Output:

A browser window will open with a chat interface.

 Summary Output

FeatureOutput Example
Model Response“AI stands for Artificial Intelligence...”
TrainingModel saved to ./chatgpt-model/
UIFully working chatbot in browser
Inference Time~2s per response (on CPU), faster on GPU

 

Next Blog- Part 1- Tools for Text-Based AI: Jasper AI

Purnima
0

You must logged in to post comments.

Related Blogs

Artificial intelligence March 03 ,2025
What is Artificial I...
Artificial intelligence March 03 ,2025
History and Evolutio...
Artificial intelligence March 03 ,2025
Importance and Appli...
Artificial intelligence March 03 ,2025
Narrow AI, General A...
Artificial intelligence March 03 ,2025
AI vs Machine Learni...
Artificial intelligence March 03 ,2025
Linear Algebra Basic...
Artificial intelligence March 03 ,2025
Calculus for AI
Artificial intelligence March 03 ,2025
Probability and Stat...
Artificial intelligence March 03 ,2025
Probability Distribu...
Artificial intelligence March 03 ,2025
Graph Theory and AI
Artificial intelligence March 03 ,2025
What is NLP
Artificial intelligence March 03 ,2025
Preprocessing Text D...
Artificial intelligence March 03 ,2025
Sentiment Analysis a...
Artificial intelligence March 03 ,2025
Word Embeddings (Wor...
Artificial intelligence March 03 ,2025
Transformer-based Mo...
Artificial intelligence March 03 ,2025
Building Chatbots wi...
Artificial intelligence March 03 ,2025
Basics of Computer V...
Artificial intelligence March 03 ,2025
Image Preprocessing...
Artificial intelligence March 03 ,2025
Object Detection and...
Artificial intelligence March 03 ,2025
Face Recognition and...
Artificial intelligence March 03 ,2025
Applications of Comp...
Artificial intelligence March 03 ,2025
AI-Powered Chatbot U...
Artificial intelligence March 03 ,2025
Implementing a Basic...
Artificial intelligence March 03 ,2025
Implementation of Ob...
Artificial intelligence March 03 ,2025
Implementation of Ob...
Artificial intelligence March 03 ,2025
Implementation of Fa...
Artificial intelligence March 03 ,2025
Deep Reinforcement L...
Artificial intelligence March 03 ,2025
Deep Reinforcement L...
Artificial intelligence March 03 ,2025
Deep Reinforcement L...
Artificial intelligence March 03 ,2025
Introduction to Popu...
Artificial intelligence March 03 ,2025
Introduction to Popu...
Artificial intelligence March 03 ,2025
Introduction to Popu...
Artificial intelligence March 03 ,2025
Introduction to Popu...
Artificial intelligence March 03 ,2025
Tools for Data Handl...
Artificial intelligence March 03 ,2025
Tool for Data Handli...
Artificial intelligence April 04 ,2025
Cloud Platforms for...
Artificial intelligence April 04 ,2025
Deep Dive into AWS S...
Artificial intelligence April 04 ,2025
Cloud Platforms for...
Artificial intelligence April 04 ,2025
Cloud Platforms for...
Artificial intelligence April 04 ,2025
Visualization Tools...
Artificial intelligence April 04 ,2025
Data Cleaning and Pr...
Artificial intelligence April 04 ,2025
Exploratory Data Ana...
Artificial intelligence April 04 ,2025
Exploratory Data Ana...
Artificial intelligence April 04 ,2025
Feature Engineering...
Artificial intelligence April 04 ,2025
Data Visualization w...
Artificial intelligence April 04 ,2025
Working with Large D...
Artificial intelligence April 04 ,2025
Understanding Bias i...
Artificial intelligence April 04 ,2025
Ethics in AI Develop...
Artificial intelligence April 04 ,2025
Fairness in Machine...
Artificial intelligence April 04 ,2025
The Role of Regulati...
Artificial intelligence April 04 ,2025
Responsible AI Pract...
Artificial intelligence April 04 ,2025
Artificial Intellige...
Artificial intelligence April 04 ,2025
AI in Finance and Ba...
Artificial intelligence April 04 ,2025
AI in Autonomous Veh...
Artificial intelligence April 04 ,2025
AI in Gaming and Ent...
Artificial intelligence April 04 ,2025
AI in Social Media a...
Artificial intelligence April 04 ,2025
Building a Spam Emai...
Artificial intelligence April 04 ,2025
Creating an Image Cl...
Artificial intelligence April 04 ,2025
Developing a Sentime...
Artificial intelligence April 04 ,2025
Implementing a Recom...
Artificial intelligence April 04 ,2025
Generative AI: An In...
Artificial intelligence April 04 ,2025
Explainable AI (XAI)
Artificial intelligence April 04 ,2025
AI for Edge Devices...
Artificial intelligence April 04 ,2025
Quantum Computing an...
Artificial intelligence April 04 ,2025
AI for Time Series F...
Artificial intelligence May 05 ,2025
Emerging Trends in A...
Artificial intelligence May 05 ,2025
AI and the Job Marke...
Artificial intelligence May 05 ,2025
The Role of AI in Cl...
Artificial intelligence May 05 ,2025
AI Research Frontier...
Artificial intelligence May 05 ,2025
Preparing for an AI-...
Artificial intelligence May 05 ,2025
4 Popular AI Certifi...
Artificial intelligence May 05 ,2025
Building an AI Portf...
Artificial intelligence May 05 ,2025
How to Prepare for A...
Artificial intelligence May 05 ,2025
AI Career Opportunit...
Artificial intelligence May 05 ,2025
Staying Updated in A...
Artificial intelligence May 05 ,2025
Part 1- Tools for T...
Artificial intelligence May 05 ,2025
Part 2- Tools for T...
Artificial intelligence May 05 ,2025
Part 1- Tools for Te...
Artificial intelligence May 05 ,2025
Technical Implementa...
Artificial intelligence May 05 ,2025
Part 2- Tools for Te...
Artificial intelligence May 05 ,2025
Part 1- Tools for Te...
Artificial intelligence May 05 ,2025
Step-by-Step Impleme...
Artificial intelligence May 05 ,2025
Part 2 - Tools for T...
Artificial intelligence May 05 ,2025
Part 4- Tools for Te...
Artificial intelligence May 05 ,2025
Part 1- Tools for Te...
Artificial intelligence May 05 ,2025
Part 2- Tools for Te...
Artificial intelligence May 05 ,2025
Part 3- Tools for Te...
Artificial intelligence May 05 ,2025
Step-by-Step Impleme...
Artificial intelligence June 06 ,2025
Part 1- Tools for Im...
Artificial intelligence June 06 ,2025
Implementation of D...
Artificial intelligence June 06 ,2025
Part 2- Tools for Im...
Artificial intelligence June 06 ,2025
Part 1- Tools for Im...
Artificial intelligence June 06 ,2025
Implementation of Ru...
Artificial intelligence June 06 ,2025
Part 1- Tools for Im...
Artificial intelligence June 06 ,2025
Part 2- Tools for Im...
Artificial intelligence June 06 ,2025
Step-by-Step Impleme...
Artificial intelligence June 06 ,2025
Part 1-Tools for Ima...
Artificial intelligence June 06 ,2025
Part 2- Tools for Im...
Artificial intelligence June 06 ,2025
Implementation of Pi...
Get In Touch

123 Street, New York, USA

+012 345 67890

techiefreak87@gmail.com

© Design & Developed by HW Infotech