Inspiration 💡

Recently, we were working on a complex coding open-sourced codebase which was hosted on GitHub. We had just finished writing a new feature, but we were stuck with an error that we couldn't fix. We tried everything we knew, but nothing seemed to work. We were frustrated and feeling defeated.

That's when it hit us - what if you could talk to your GitHub repo and ask it any question you want? That's when we realised we had to build this here.

What it does ⚙️

We've built GitChat as a platform to assist you in understanding complex codebases and help collaborate with fellow developers easily.

In the Ask-GitHub section, by simply entering the URL of any repository, developers can ask the chatbot any questions they may have regarding the codebase. Some of them may include - What does X function do?, What are the packages installed in the project? and more.

We've also added a chat-with-code section which allows developers to input code directly into the chatbot's editor and then interact with the code in a conversational way. This means that developers can do literally anything over their code by simply chatting with the chatbot. They can ask the chatbot to change the programming language of the code, write functions for them, or even debug their code.

How we built it 🔨

We've used React.js for building the front end of the app and Flask to build the back end of the app.

We built the Ask-GitHub by cloning and loading the content of the repository by splitting it into vectors through Langchain.

We used Cohere to compute the embeddings and store them in active loops deep lake vector store.

We're using Open AI's GPT 3.5 turbo model which allows you to have a conversation-like chat with the code snippet you provide. We leveraged this mode for both the Chat-with-code and Ask-GitHub sections for our embeddings and integrate it with the app.

Challenges we ran into 👨🏻‍💻

There were many challenges that we ran into while building this project

  • We ran into exhausting our Open AI credits multiple times during the testing of the same.
  • The script that clones and loads it into Langchain had multiple errors and most of our time was spent solving that

Accomplishments that we're proud of 🥳

We're proud to have implemented the idea that we thought of at the beginning of the hackathon. The problem statement really spoke to us (pun intended) and this project is of great use to us developers.

Improving the developer experience using AI is what we feel is going to be the next big thing with tools like Copilot out there as well.

What we learned 😎

We worked with different new tools to build out this hack this weekend. This was our first time working with Cohere embeddings which made it complicated for us to integrate with our project.

What's next for GitChat 👀

We plan on deploying this project and getting feedback from the developers on how we can improve this project. This would help us gain experience and a defined path to work on improving the GitHub experience.

Built With

Share this project:

Updates