How to Train ChatGPT with Custom Data – Full Guide

train custom chatgpt

Tired of generic ChatGPT responses? Want it to understand YOU?

This blog post unlocks the secrets to training your own ChatGPT with custom data. No more generic responses, just personalized conversations tailored to your needs. Dive in and learn how to:

  • Feed ChatGPT your own knowledge: From text files to PDFs, show it your world.
  • Craft a training script: No coding experience needed! Copy and paste our pre-written script.
  • Build your custom chatbot: Sit back and watch as ChatGPT learns your language.
  • Chat with your AI companion: Enjoy personalized responses and deeper conversations.

Ready to take ChatGPT to the next level? This blog post is your roadmap!

How to train ChatGPT with custom data

Prepare the custom data

First of all, gather all the necessary data that you want to use to train custom ChatGPT bot.

The data maybe in TXT, PDF, CSV, or SQL formats

Make a folder and name it “docs”.

Copy and paste all the relevant data inside the folder.

Download and install Python

  1. Go to and download the latest version of Python (3.0 or higher) for your operating system.
  2. Run the installer executable file and follow the setup wizard. Make sure to check the box that says “Add Python to PATH”.
  3. Open your terminal/command prompt and type “python –version” to verify Python has been installed properly.

Update PIP to the latest version

To update to the latest version, run this command in your terminal/command prompt:

python -m pip install –upgrade pip

To confirm PIP has updated, run:

pip –version

Install OpenAI, GPT Index, Gradio, PyPDF2 libraries

Install OpenAI:

pip install openai

This installs the official OpenAI library to access API and models like ChatGPT.

Install GPT Index:

pip install gpt_index

This provides indexing and retrieval capabilities for AI models.

Install Gradio:

pip install gradio

Gradio lets you quickly create UIs for interacting with AI models.

Install PyPDF2:

pip install PyPDF2

This handy library allows reading and parsing PDF files in Python.

To confirm everything installed properly, you can check the imported libraries in a Python shell:

import openai
import gpt_index
import gradio
import PyPDF2
print(“Libraries imported successfully!”)

And that’s it! Now all the essential packages are ready to train and run your own ChatGPT model with custom data

Get the OpenAI API key

Next, you need to get the OpenAI API key

Go to and login to your account or sign up for a new account if you don’t have one.

Once logged in, hover over your profile picture in the top right and click on “View API Keys“.

On the API Keys page, click the button “Create new secret key“.

Give your new API key a description so you can identify it, like “My ChatGPT Key”.

Click “Create Secret Key”. Your new API key will then be displayed.

get openai api key

Copy the key string entirely and save it somewhere secure like a password manager or environment variables.

copy openai api key

Setup the custom Python script

  • Open a code editor on your computer.
  • Copy and paste the code below.
  • Replace OPENAI_API_KEY with your OpenAI API key.
  • Save the Python script in the “docs” folder as ““.
from gpt_index import SimpleDirectoryReader, GPTListIndex, GPTSimpleVectorIndex, LLMPredictor, PromptHelper
from langchain import OpenAI
import gradio as gr
import sys
import os

os.environ["OPENAI_API_KEY"] = ''

def construct_index(directory_path):
    max_input_size = 4096
    num_outputs = 512
    max_chunk_overlap = 20
    chunk_size_limit = 600

    prompt_helper = PromptHelper(max_input_size, num_outputs, max_chunk_overlap, chunk_size_limit=chunk_size_limit)

    llm_predictor = LLMPredictor(llm=OpenAI(temperature=0.7, model_name="text-davinci-003", max_tokens=num_outputs))

    documents = SimpleDirectoryReader(directory_path).load_data()

    index = GPTSimpleVectorIndex(documents, llm_predictor=llm_predictor, prompt_helper=prompt_helper)


    return index

def chatbot(input_text):
    index = GPTSimpleVectorIndex.load_from_disk('index.json')
    response = index.query(input_text, response_mode="compact")
    return response.response

iface = gr.Interface(fn=chatbot,
                     inputs=gr.inputs.Textbox(lines=7, label="Enter your text"),
                     title="My AI Chatbot")

index = construct_index("docs")
code custom gpt

Execute the script and train ChatGPT

Once you save the .py file, next is to execute it.

Open terminal and head to the directory where you saved the file. In this case, the “docs” folder.

Type python3 and hit enter.

It will now start to train the custom bot based on the data in the docs folder.

Once done, along with the JSON file, you will find a URL.

Open a web browser and enter the URL in the address bar and hit enter.

Your custom trained ChatGPT is ready to use.


And that wraps up this step-by-step walkthrough on how to train your own tailored ChatGPT assistant!

By leveraging OpenAI’s API and fine-tuning the model on custom data with Python, you can create an AI chatbot that provides much more specialized, relevant responses suited to your particular needs.

The key takeaways are:

  • Install Python libraries like OpenAI, Gradio to access ChatGPT capabilities
  • Gather and prepare custom text documents related to your focus area
  • Write script that trains ChatGPT on this content to create an indexed model
  • Launch web interface to interact with your custom-trained bot