Inspiration

Study groups have consistently boosted my learning experience, particularly on challenging topics. These groups bring together people facing similar academic hurdles, making them a potent tool for learning. A crucial element is having a student leader who knows their stuff to guide the group. In these settings, people often feel nervous or shy, making it tough to kickstart conversations. Student leaders are key players—they kick off discussions, ask questions, and help with any uncertainties. But finding capable leaders, especially online, can be a challenge. That's where Socratic-Cyber-Scholars comes in. We offer an online chat platform for people to connect and create study groups. We've also got a top-notch language model to take on the role of a student leader, driving conversations and improving the overall group learning experience.

What it does

Within SocraticCyberScholars, SocraBot assumes a pivotal role in facilitating effective and engaging conversations within study groups or individual interactions. As a Large Language Model Moderator, SocraBot serves as a guide and catalyst for learning, offering several key functions.

  1. Discussion Facilitation: SocraBot takes the lead in group conversations, ensuring a smooth and structured flow. It helps break the ice, encouraging participants to share their thoughts and questions. This role is especially beneficial in overcoming the initial hesitation that individuals often experience in group settings.

  2. Question and Answer Assistance: SocraBot actively participates in the learning process by posing relevant questions and providing informative answers. This dynamic interaction aids users in grasping complex concepts and clarifying any uncertainties they may have. By fostering a collaborative environment, SocraBot contributes to a more comprehensive understanding of the subject matter.

  3. Customized Learning Experiences: SocraBot leverages its transformer-based model to adapt to users' needs. Drawing from past conversations, it tailors its responses to the specific context of the discussion, ensuring relevance and coherence. This personalized approach enhances the overall learning experience for users.

  4. Private Tutoring Sessions: Beyond group dynamics, users have the option to engage in one-on-one interactions with SocraBot. In this capacity, SocraBot functions as a private tutor, providing individualized attention and guidance. Users can delve deeper into specific topics, ask personalized questions, and receive targeted support.

  5. Optimal Use of Conversation History: SocraBot's ability to effectively utilize conversation history enhances its performance. By referencing past interactions, it can maintain context, address recurring queries, and tailor responses based on the user's learning journey within the platform.

In essence, SocraBot serves as a versatile and knowledgeable companion throughout the learning process on SocraticCyberScholars, contributing to both group discussions and individual study sessions.

How I built it

SocraticCyberScholars uses React JS and Chatengine to create user accounts and allow them to chat with each other, SocraBot the Chatbot, and form group chats that can include SocraBot if they wish. SocraBot is an OpenAI-based Large Language Model run in Python. I used the OpenAI-API-based model instead of local models such as Llama2 to ensure that users experience reasonable response times from SocraBot.

Challenges I ran into

When creating this project, I had to optimize, clean, and process the text passed and returned from the model to ensure that it would properly understand and respond to the question. I also had to interface a javascript backend with the javascript frontend cleanly, and it took multiple tries to get a consistent interface. It was incredibly difficult to find a way to run a chatbot interface that had reasonable response times. I first tried to run the Llama2 LLM locally, but it took many minutes to form a basic response when run locally on a CPU, and this delay made it impractical for a service such as this.

Accomplishments that we're proud of

I am proud of creating a complete frontend and backend chat room alongside a working Large Language Model interface. I had to improve my knowledge of front-end programming in JavaScript and had to work continuously on processing the textual data for the Large Language Model. I am also really proud of managing to interface the LLM directly into the website. For past projects, I have struggled with AI because it is so resource-intensive. During this project, I effectively used the OpenAI API to produce clean text outputs reasonably quickly.

What I learned

I learned how to create an aesthetically pleasing and completely functional chat room using JavaScript and successfully implement a Large Language Model interface using Python.

What's next for SocraticCyberScholars

In the future, I want to extend SocraticCyberScholars's reach to the IOS and Google Play app stores, given its current availability solely as a website. Although the website can cater to various devices, including mobile ones, introducing a dedicated app would enhance the user experience for those on mobile devices and tablets. Moreover, I have plans to integrate a video call feature with SocraBot support in the future, which could prove beneficial for users who value visual interactions with the individuals they're communicating with.

Share this project:

Updates