Inspiration
The inspiration behind OSU AI Club Connector came from my own attempts to discover new clubs and organizations through Oregon State University's Ideal Logic platform. Although it serves as a valuable resource for finding information about a particular club, the platform is limited in that it requires students to know what they are searching for before they begin their search. I wanted to create a solution that not only simplifies the search process, but also personalizes it, ensuring every student can find a like-minded community that resonates with their unique hobbies and enhance their university experience.
What it does
OSU AI Club Connector leverages OpenAI’s GPT-4, alongside a carefully curated collection of all clubs and organizations at Oregon State University, to seamlessly connect students with groups that align with their passions and interests. Through an intuitive interface that encourages students to explore their interests, OSU AI Club Connector offers personalized recommendations, making it effortless to uncover and join communities perfect for nurturing and exploring their emerging hobbies, even if they start without a clear direction.
How we built it
I built the project using the following frameworks and technologies:
- Flask for the web framework
- Python for the backend logic
- HTML/CSS for the frontend
- Bootstrap for styling and responsive design
- Heroku for deployment
- Python’s beautifulSoup4, requests, and re packages for web scraping and data gathering
- Python's csv package for handling CSV files and data storage
- LangChain and OpenAI's GPT-4 for AI-driven recommendations
Challenges we ran into
One of the challenges I ran into while working on the project was aggregating data about all of the many student clubs and organizations at OSU. This portion of the project was essential to the rest, and without an API to rely on, I had to get creative. I also faced difficulties implementing a workaround for LangChain's create_csv_agent, which, while excellent for parsing CSV data, lacked memory about user inputs, responded robotically, and occasionally misinterpreted requests.
Accomplishments that we're proud of
I’m proud of creating a functional product within the allocated time frame and how much I learned during the process. I’m also proud that I was able to integrate various technologies into my project by utilizing documentation and online resources, despite being unfamiliar with them beforehand.
What we learned
While working on this project, I learned about LangChain and its ability to connect LLMs with external data sources, thereby enhancing their capabilities. I learned about the use of LangChain agents, which allow for integration with a wide variety of tools to enrich the functionality of the AI models. I also learned about LangChain Expression Language (LCEL) and using chains to link these components together, as well as the importance of building memory into a system so that it can remember and utilize previously processed or acquired information in future operations. During the data acquisition portion of the project, I learned about web scraping, specifically how to parse XHR files. I also learned about beautifulsoup4 and how it can be used to parse HTML and extract web data accurately and efficiently.
What's next for OSU AI Club Connector
- Fine-tuning the model to improve the accuracy and relevancy of the recommendations provided to students by optimizing parameters, refining LangChain chains, and improving data quality.
- Expanding the data pool and aggregating more comprehensive club information, such as meeting times and locations, for nuanced recommendations to provide the model with a richer context about each club and organization.
- Creating a custom CSV agent to have better control over its prompt, parsing, and memory handling for efficient data processing using the dataframe.
Log in or sign up for Devpost to join the conversation.