It’s happening. This month I’ve been taking a four week short course from the iDigBio Digitization Academy on AI for Biodiversity Collections, and it has been awesome. I have a better understanding of what AI actually is, how tools like ChatGPT and Claude work, and I’ve successfully interacted with both of those tools and iDigBio’s own chatbot, called iChatBio.
I’ve had a ChatGPT account for a couple of years and have sporadically asked the model questions, but it felt forced, and I wasn’t sure how to deal with the output. I wanted to get it, but I just didn’t get it. AI comes up in a lot of conversations at work now, and I’m seeing more and more people using it, so this class came along at just the right time for me – I knew it was high time to level up my AI awareness and literacy, particularly for professional applications, I just didn’t know where to start.
Like my January class on Sustainable AI, this class required a project. I wanted to be able to interact with ChatGPT more intuitively, so this became my project goal. I’ve spent the last couple weeks exploring prompt engineering and learning (primarily from the chatbots) that a) prompt engineering isn’t so much of a thing anymore and b) it’s pretty simple to write intuitive and effective prompts. I ultimately worked with ChatGPT, Claude, and iChatBio to see if I could get a list of marine worm species in the Gulf of Mexico.
Both ChatGPT and Claude told me that there’s not a solid definition of what comprises “marine worms” and gave me their best guess using a couple of well-known groups (Polychaetes and Nemerteans). iChatBio wouldn’t give me answer unless I gave it a more specific prompt. It wanted a list of phyla, and it even suggested phyla for me! Sure, a couple of the phyla it suggested aren’t considered phyla anymore, but it had this awareness and ability to help me clarify my prompt. It was very cool. iChatBio is great because it’s totally transparent – it shows you how it interacts with the agents it interacts with, so when I finally got an answer, I looked at the step-by-step output to see how it landed on the numbers it presented me with.
And then things got a little weird. iChatBio told me OBIS has records for nearly 2,000 species of Annelida in the Gulf, when the last official count from 2009 had less than half that. Why was the number so high? I noticed how iChatBio made an API request to OBIS to get the number – it was one simple line of code – and thought, I could do this myself in R and see what I get. So I did that.
AI got me to use the OBIS API! I followed it’s example and used my rusty R skills to make the request myself. I’m into that. I need some (maybe too much?) handholding when learning new things, particularly tech-heavy things, and this felt like a level-up on a separate skill set I’d love to be developing. I pulled the checklist and then explored it a bit in R, where I found that the “species” I had asked for were actually all taxon ranks from subphylum to subspecies. There’s more exploring for me to do, since filtering for only species (though I should go back and add subspecies too) still had more than 1400 records. Lots of new Annelids, maybe? Or lots of synonyms? Why not both? I dusted off my ancient, basic R markdown skills and used my nascent R to Git skills to make a readable document with the code and all my blathering that can live on GitHub. All the skills!
The repository is here if you’re curious. Don’t judge the code – I am very much still learning how any and all of this stuff works! This was so fun.
