On Nov 6th 2023 OpenAI released a new feature that allows you to fine-tune your own versions of ChatGPT for special purposes. In this tutorial we are going to build a custom ChatGPT bot that reads papers you upload and evaluates how they relate to your current research questions. The bot will have deep knowledge of your specific research and answer in academic language. To use it you will simply drag and drop a PDF to get highly useful insights.
Curious to see the end result: Have a look at this example conversation, even if you are not an ecologist you will appreciate the complexity of the response and get a feel how powerful this new technology is.
You can even try it out here however the bot is trained on my narrow ecological research topic of forest range dynamics. It will not be very useful to you, but in this tutorial you can build one tailored to your research.
Join the Effortless Newsletter. Receive free tips on note-taking, literature review, AI tools, and other productivity topics specifically tailored for academics and students.
What do you need to build an academic GPT bot?
Building these bots is surprisingly simple, but it takes time to get them to the point where they do exactly what you want. In this tutorial we are going to train a bot to read a paper and assess its relevance to a set of research questions you are working on. It is just like asking a colleague “Hey have you read this paper?”.
Here is a list of key ingredients we will need:
- A document (PDF) containing notes on one specific research topic. If you don’t have any digital notes, you can copy and paste a few well-written introductions from recent review papers.
- A list of research questions you are working on.
- A premium subscription to ChatGPT
Announcement: Academic Knowledge Management Webinar, Dec 2nd.
If you struggle to keep your ideas organized this webinar is for you. I will show you a methodical note-taking strategy to create, accumulate and access knowledge faster and more reliably than ever before. Let your digital notes become a machine to synthesize vast amounts of knowledge.
Let’s start building our chat bot
1. Create your bot
A custom ChatGPT bot is simply speaking: ChatGPT + custom instructions/PDFs. In the more advanced use case you can also tie it to different web services and allow it to receive (e.g. access the weather) or send data (e.g. send an email). We will only use the basic use case in this tutorial.
All we need to create a bot is a detailed description of what it does. That is why you can create a custom bot using ChatGPT itself! When you create your first bot you will have the possibility to choose between two modes: Create and Configure:
- Create allows you to use ChatGPT to create the bot by simply describing what it does. It can generate an icon for your bot and help to set it up. It is good enough for the first run.
- Configure allows you to instead put all of the settings manually. The settings however are just a few text boxes with natural language text. Warning: The create mode will overwrite your configuration whenever you use it. So be careful and create copies of your configurations.
If it is your first time use the Create mode to just describe who your bot is: e.g. a post-doc educated in your research topic and what its purpose will be. It will not be super useful but we will fine-tune it in the next steps.
I will call the bot Eco Scholar.
2. Upload your domain knowledge
Upload a PDF containing notes on your domain as a knowledge base. This will help the bot to learn the jargon and assess what you already know. (You can re-upload this PDF(s) as your notes grow and keep the bot evolving with you). If you do not use digital notes, you can use the introduction from paragraphs from a review paper on your domain.
Digital notes will be essential in the age of AI. As they connect what you know with what the AI knows. I am happy to show you exactly how in my course on note-taking or the upcoming webinar on academic knowledge management.
Note the name of the PDF file as you an use it in the instructions for this chatbot. Now we have all the ingredients ready to start shaping the bot!
3. Define a persona for your bot
It is good practice to tell chatGPT to impersonate a certain persona because it already has good knowledge of what the tasks, language and purpose of this persona is. In my case I want a “highly educated post doc in plant ecology talking to a colleague”. This immediately defines the jargon the bot is going to use and make the conversation more natural (for academics).
If you haven’t done so yet, switch to the “Configure” mode (see 1.) and add your description to “Instructions”. Mention the PDF that you uploaded to let ChatGPT know where to look for domain knowledge (it would confuse my uploaded paper with this PDF in my experiments otherwise).
Defining a persona can be as short as one sentence, but it is good to describe it in a paragraph. You will adjust these settings once you see the initial results. Things you can use as descriptions:
- Profession, role and position of the persona.
- Objectives describing what this persona is trying to accomplish.
- Emotions and tone to define how the answer will sound.
- Any other context that would shape your own response (e.g. prior knowledge)
4. Specify research questions
Next we add a set of research questions. This is important as we want the bot to focus on exactly what my research topics. A paper might be highly impactful but irrelevant to my own research. Providing the questions that you are looking into will help your bot to assess whether this paper helps to answer them.
In the past the most commonly advertised use-case for ChatGPT was “summarize this paper”. While it is technologically remarkable it was never much more useful than reading the abstract. Personalizing the chatbot to your narrow field of research completely changes this.
5. Describe the desired output
This is the part that requires the most experimentation. Try to describe as precisely as possible what you want to see. Remember the rule: “Garbage in – garbage out”. So take your time and fine tune this part.
It is best practice to start with general instructions and move on to more detailed ones. Notice how I first tell it to use markdown (this will make the formatting really nice), then I specify the language it should use and that I prefer bullet points and only then we get to the actual questions I have:
Adjust the desired output to your preferences but make sure to break it down point by point. The numbering helps to keep your reply structured (It might still come out in a different order from time to time).
The idea for this bot is to create an assessment of this paper and give me a feel of its topic and how it ties to my research. Just like me you probably want to read more papers than you have time for. Eco Scholar helps me to narrow down on the essentials and I plan to create more bots for other research projects.
You can download my instructions to get started on your bot.
6. Test your bot and adjust instructions
On the right side of the screen you can directly test your bot. In my configuration all I need to do is to just drag and drop a paper without any replies. During development of this bot I repeatedly drop in the same paper to see how the result changes.
I went through quite a few iterations until I got this bot to where I wanted. Some of my first versions were too brief, too verbose, lacked formatting or were just not precise enough.
This is the part that requires a lot of patience. AI prompting is an art and a science. Keep a log of your prompts and compare them to one another as you iterate. Over time you will find a way to talk to ChatGPT.
7. Share and use your bot
After saving this bot you will see it appear at the top left bar of your regular ChatGPT window. You can share the link to your bot with anyone or even make it public:
In case you have never tried it you can also upload figures from a paper to let the AI quickly explain its signficance. Having the entire context of your research and the paper available the answers are often very good.
Have a look at this example conversation to see the conversation I had after just drag and dropping my paper.
AI has been in vogue for about a year now and if you have been skeptical or hesitant about it, you were certainly not alone. I closely monitored what was happening but found the use-cases often less relevant for academics. A few exceptions exist: SciSpace, Consensus or Scite are great tools that point out where AI is going.
The introduction of customGPTs is a massive leap forward in convenience. Especially the ability to share these bots means you will see many more around. What we didn’t talk about in this article is the ability to add custom actions that connect your bots to any web services.
One simple idea that soon might be reality is a bot that browses a journal website, to download the newest papers, assesses them like in this tutorial and emails you the most relevant reading. If you use a digital note software like Obsidian or Notion and publish your notes online it would additionally access them to fine-tune itself to your current topic of interest.
More and more AI will become just like the internet, ubiquitous and inseparable from the way we do research.