Think of Git Buddy as a friendly, understanding, and helpful version control expert who never runs out of patience. Git Buddy offers streamlined assistance with learning about Git, GitHub, and TortoiseGit, designed for users at all levels of expertise. It combines the ease of a chatbot interface with advanced Large Language Model (LLM) and Retrieval-Augmented Generation (RAG) technology to enhance your version control system learning experience. By coupling GPT-3.5-Turbo with few-shot prompting and RAG inside a streamlit application Git Buddy is prepared to answer any and all questions related to Git, GitHub, and TortoiseGit.
git-buddy-demo.mp4
- TortoiseGit Advisor: Helps you utilize TortoiseGit in your projects with ease.
- GitHub Navigator: Guides you through GitHub, from repository management to pull requests.
- Git Teacher: Offers detailed explanations, examples, and tips on Git commands and best practices.
- Vector Database Population: GitHub Docs & Progit were used as the starting places for a recursive URL search that extracted all important information from each webpage's HTML. TortoiseGit & TortoiseGitMerge were copied as PDFs and split apart during document chunking.
- Document Chunking in RAG: For the RAG system, document chunks are set to 400 tokens, with a 50-token overlap across documents, optimizing the balance between context and detail.
- Document Reranking: The Cohere
Rerank
model is used to rerank the top 100 documents by finding the top five documents most semantically relevant to the query. - Embeddings Model: Utilizes the
text-embedding-ada-002
model from OpenAI for generating document and query embeddings while processing text data. - Prompting Methodology: Adopts few-shot prompting, conversational memory, and additional document context for robust, efficient, and accurate responses.
- Conversational Memory: Git Buddy retains knowledge of the seven most recent messages, ensuring relevant and contextual interactions while excluding older chat history.
- Temperature Setting:
GPT-3.5-Turbo
operates at a temperature setting of 0.5, balancing creativity and coherence in responses.
Explore Additional Resources in the app for details about the documentation Git Buddy accesses, its underlying model architecture, and helpful starter questions.
All contributions are welcome! Simply open up an issue and create a pull request. If you are introducing new features, please provide a detailed description of the specific use case you are addressing and set up instructions to test.
This project is under the MIT License. See LICENSE for more details.