A group of UTD students created an AI chatbot that can act as a virtual advisor, answering questions related to the School of Engineering & Computer Science.
ITS junior Nehanth Narendrula, computer science sophomore Yeshas Nath and computer science junior Hamza Zulquernain created the ECS chatbot as part of their pledge project for Kappa Theta Pi, UTD’s first professional co-ed technology fraternity on campus.
“The main thing we do at KTP is make people prepared for real life scenarios and teaching them skills that they can use for their own personal projects.” Zulquernain said. “Something that we strive to do is give people projects, so that way they can really harness those technologies and make the most out of it.”
With the ECS student-to-advisor ratio being 566:1, answering students’ questions quickly can prove difficult for advisors. A fair chunk of answers about ECS topics can be found on the internet after a deep dive into various UTD webpages. So, to make it easier for students, the developers compiled all website data that’s already available on the internet to train their chatbot to answer potential ECS advising questions. The idea was inspired by Stanford’s Large Language Model, or LLM, known as Alpaca.
“Stanford created their own LLM called Alpaca and it pretty much does the same thing.” Narendrula said. “They also used LLaMA for theirs, and we kind of got that idea from them and researched more into it to adapt to our purposes.”
Nath described the process of creating the chatbot, which included searching for all the materials that would provide useful information for students, much of which was data from UTD’s website. The group ended up compiling almost 90 pages worth of data to train the chatbot, and they used the coding language Python to create the project.
“So we started off watching videos … and finally we ended up on this tool called LLaMA,” Nath said. “It’s Meta’s kind of large language model and a large language model is nothing but a bunch of data that you’ve consolidated into one place.”
From there they began the fine-tuning process which was testing what kind of responses they would get when they enter certain inputs using OpenAI.
“It was costing us almost a dollar to run a single question every single time. We were able to get that down to where it was like 30 cents to run and a couple cents for each question,” Zulquernain said. “The questions can add up really quickly so we just had people enter their OpenAI key so they can basically just pay for whatever questions they want to ask.”
The developers believe that this project helped them in their personal and professional growth. Working on the project allowed them to gain more experience in the emerging field of artificial intelligence, more opportunities through jobs and internships to participate in similar, or even greater, AI projects. .
“I actually have to thank this project, because I recently did an interview and the whole company was about utilizing data with OpenAI.” Nath said. “So, I literally used what I learned here and what I was able to implement … I learned a lot from it and I’m really thankful for it.”
As of now, the chatbot is most useful for ECS students, but the developers hope to broaden its scope to the greater UTD population. You can access the chatbot using this link: https://ktputd-ecschatbot.streamlit.app/
Check online to learn more about the chatbot’s capabilitiesBelow are a few questions The Mercury asked the ECS chatbot to test how it responds.
What is the difference between Math 2413 and Math 2417?
The difference between Math 2413 and Math 2417 is that Math 2413 is an introductory course in calculus, while Math 2417 is a more advanced course in multivariate calculus. Math 2417 is recommended for students who have a high aptitude in math and are pursuing a degree which requires multivariate calculus (EE, CE, BMEN, MECH). Starting Fall 2020, if you made a C or better on the first attempt, you can no longer retake the course. The second attempt replaces the first even if the score is not as high as the first attempt. The third attempt you pay out of state tuition and receive a second grade and third grade.
Where can I find my semesterly GPA?
Your semesterly GPA can be found on your transcript. You can access your transcript through your university’s student portal. If you need assistance with accessing your transcript or understanding your GPA, you can contact Jennifer Klunk (UG Program Administrator ECSW 2.140E | 972-883-3525). She is available to help with all the general undergraduate program needs.
What are the prerequisites for ECS 3301?
The prerequisites for ECS 3301 may vary depending on the institution offering the course. Generally, the prerequisites for a course in System Engineering may include courses in mathematics, engineering, computer science, physics, and battery/ pack modeling and estimation for electric and hybrid vehicle applications. Additionally, knowledge of engineering tech support staff support for bioengineering, electrical engineering materials science and engineering, and mechanical engineering may be beneficial.
What are essential topic covered in ECS 1100?
ECS 1100 is likely a course related to the Engineering and Computer Science (ECSS) building. Topics covered in this course may include computer science, software engineering, high-performance computing, graphics, programming languages, telecommunications, computer-aided design, graph visualization, artificial intelligence, data mining, natural language processing, speech processing, web technologies, battery cycling for data collection used in battery/pack modeling and estimation for electric and hybrid vehicle applications, bioengineering, electrical engineering, materials science and engineering, and mechanical engineering. Additionally, Engineering Tech Support Staff Support may also be covered.
Overall, the ECS Bot was able to answer 11/13 of our questions correctly. One of the questions that was incorrect was when it was asked for ECS 3301 prerequisites. As the developers train the chatbot on more data, the chatbot will continue to become more accurate or specific in its answering, similar to how Chat GPT can answer questions more efficiently the more data it’s trained on.