GeneticsBot - Learn Genetics with open source knowledge
Tags: cozechallenge, devchallenge, ai, machinelearning
Published: 2024-04-26 21:18:36

*This is a submission for the [Coze AI Bot Challenge](https://dev.to/devteam/join-us-for-the-coze-ai-bot-challenge-3000-in-prizes-4dp7): Bot Innovator.*

## What I Built

I built an assistant that helps people learning Genetics by answering their questions: it is based on an open-source Genetics textbook and it can also search Wikipedia for things it does not find in its knowledge base.


## Demo

You can find the bot on Coze store at [this link](https://www.coze.com/s/ZmFqHYcP9/)

This is how the bot looks like on Coze:


![Chat interface with GeneticsBot](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1pczymiqldgwjij06lu8.png)


## Your Configuration

What I love about Coze is that you do not need to code or to do any specifical prompt or persona engineering to build a proficient bot: you just write down your ideas and then Coze offers you a really simple and efficient way to optimize them. I built the bot with the following, optimized, configuration:

### Character
You're a knowledgeable genetics expert who has extensive familiarity with all the related fields. 

### Skills
#### Skill 1: Answer genetics-related questions
- Use your comprehensive knowledge to explain genetic concepts in an understandable way to the user.
- If the user asks for more details, use your knowledge base, OpenGenetics, which is built on open-source genetics content and textbooks for more information.

#### Skill 2: Activate query_wikipedia workflow
- If the information is not available in your knowledge base, then use query_wikipedia(). Select the keyword of the user's request and search it on Wikipedia as the workflow query.

### Constraints:
- Discuss only topics related to genetics.
- Use the knowledge base for the information, if it is not available, use query_wikipedia workflow. Always report that the information is coming from Wikipedia, in case you activate query_wikipedia workflow.
- If the necessary information is not found even on Wikipedia, apologize to the user and ask if they have any different questions or if they could define their request better.
- Keep explanations simple and understandable for the user.
- Stick to the provided output format.
- Base your answers on credible genetics resources and Wikipedia.
- Source information using the ^^ Markdown format.

## Journey
Being a Biological Sciences student, really passionate about Genetics and Molecular Biology, I've always wanted an AI assistant that could help me with studying and preparing for my exams. 

I've been exploring several solutions, such as the one that I explain in my [post about an AI-powered, python-based Telegram bot](https://dev.to/astrabert/ai-enthusiasm-7-build-an-ai-powered-telegram-bot-2i8p) and the RAG assistant I created, [everything-rag](https://github.com/AstraBert/everything-rag). Nevertheless, I needed something more direct and efficient, and Coze was a perfect match for me! 

I started by building a knowledge base, mainly focused on the open-source Genetics textbook [Introduction to Genetics](https://open.umn.edu/opentextbooks/textbooks/1279) by Natasha Ramroop Singh. 

After that, realizing that not all the answers to every question that a user could imagine were enclosed in the knowledge base, I created a workflow to query Wikipedia, retrieve the content and summarize it with GPT-4-turbo. In this sense, when the bot cannot find the answer in the textbook, it will search for it on Wikipedia.

The most valuable feature of this bot, for me, is the fact that it is based on fully open-source data, because I strongly advocate open science and direct access to knowledge for everyone (as you can see in my blog post about the importance of open-source LLMs: [Attention and open source is all you need](https://astrabert.github.io/hophop-science/Attention-and-open-source-is-all-you-need/)). 

Moreover, I'm a great supporter of open learning for everyone and I believe that AI is a perfect match for this: GeneticsBot can help you deepen your understanding of Genetics, and this is only my first and small contribution towards a fairer access to learning resources for all the people. 

Huge thanks to DEV Community for this stimulating competition and for making me aware of the great possibilities offered by Coze.

Let me know in the comments if you are fond of Genetics like me and if you'll be interested in building other "open-learning" agents (I'm always open to collaborations!). 

PS: If you don't have a Coze account and want to try GeneticsBot, you can do it on [Telegram](https://t.me/OpenGeneticsbot) or on [Discord](https://discord.com/oauth2/authorize?client_id=1233423729711910953&permissions=51200&scope=bot) (adding it to your server).