Inspiration

We really enjoy working with AI and due to their quite recent and complex nature, they are a great challenge to get working, especially with little experience. The topic of the last UdeM Hackathon was actually LLMs as well and we wanted to redeem ourselves in this area. The topic was also a perfect match for an idea we had in mind.

What it does

Essentially, MariHelps grabs a prompt given by the User/Student and navigates through all the links available on both marianopolis.edu and bemarianopolis.ca to give accurate and relevant information that is suited to the question. Navigating through websites, especially those of CEGEPs and Universities can be quite a tough task to accomplish. We often found ourselves lost, going in loops an navigating to the same links while trying to find information about McGill's computer science program and we thought that this project would prevent this type of situation from happening.

How we built it

For the core aspect, we use OpenAI's API to understand the user's input as well as managing the text given on the websites to share it in a clear and concise way. After that, we used Crawlee to get a list of all links and sublinks on both of the major marianopolis help pages that we all gathered in a single JSON file for ease of access. We used OpenAI to filter the keyword that would best explain the issue the user is facing and using a for loop, we can find which URL's head title corresponds to the right page. We then use this index to grab the matching URL and use two python packages named urlopen and BeautifulSoup to scrape the html contents of the website. Once this is achieved, we simply hand-in the website information alongside the user's question and some base parameters to limit the response's broadness. Finally, we used another python library name tkinter to build a user interface. Unfortunately, we ran out of time to make the interface good looking but everything works as expected.

Challenges we ran into

Our initial idea was to build the program using JavaScript and link it with an html file to fit the GoDaddy challenge. However, once the whole script was working in the terminal, we quickly noticed that we cannot use node.js packages in frontend javascript. Due to our poor back-end skills, we wasted 4 hours trying to figure out the problem. Eventually decided to re-write all the code in python, which proved to be much easier and quicker.

Accomplishments that we're proud of

We managed to finish a hackathon c: and we also conquered our former foe the LLM. Overall, we made some good connections and managed to learn a lot as a duo. This was a really great experience (except for our sleep schedules) but besides this, we are looking forward to participate in more hackatons in the future.

What we learned

We learned how to operate an LLM through prompts. We also learned how to bypass OpenAI's greatest weakness which is it's incapacity to browse the web.

What's next for MariHelp

The first thing that comes to mind would be to make the application more flexible and automatise the web crawling part, to make it much more versatile. Also, we could probably use a bit more time to make for a more appealing UI.

Built With

Share this project:

Updates