👋 Welcome to the GitChatGPT – a tool designed to clone GitHub repositories and embed them into open-source language models. 🚀 With GitChatGPT, you can ask questions to a GitHub repository. This solution is particularly valuable when you need to embed private repositories, ensuring that your data remains confidential and secure. 🔒
Unfortunately, the results are not as good as I had hoped because the number of tokens for embeddings is limited, and repositories can be very large. Anyway, this tool is a big step in the right direction. I hope you find ways to enhance both the quality and performance.
For Windows (install.bat):
- Run install.bat by double-clicking on it or executing it in the command prompt.
For Linux (install.sh):
- Run install.sh in your terminal by typing ./install.sh and pressing Enter.
git clone https://github.com/jsonjuri/gitchatgptpip install -r requirements.txtpython cli.pyDon't forget to rename env.example to .env and set up the environment variables in the .env file.
Each Language Model (LLM) in this tool has its own configuration file located in the /env directory. Before using the tool, we recommend configuring the settings according to your preferences. Here's how:
- Navigate to the
/envdirectory in your project. - Locate the
.envfile associated with the specific LLM you're working with. - Open the
.envfile using a text editor of your choice. - Set the values for the configuration variables to your preferred settings. Refer to the comments in the file for guidance on each variable.
Now that you've configured the settings, you're ready to use GitChatGPT! Run GitChatGPT with your specified configurations to enjoy a personalized and optimized coding experience.
Please check the README in the models directory for more information about the folder structure.
LLamaCPP:
- xwin-lm-7b-v0.1.Q5_K_M.gguf ➡️ ./models/llamacpp/
GPT4ALL:
- ggml-gpt4all-j-v1.3-groovy.bin ➡️ ./models/gpt4all/
- ggml-gpt4all-l13b-snoozy.bin ➡️ ./models/gpt4all/
We highly recommend using LM Studio. With LM Studio, you can effortlessly host your own server and customize your models and settings seamlessly. No need to make changes to the code! Follow these simple steps:
- 📦 Download LM Studio and install it.
- 🔧 Start LM Studio and load your preferred model with just a click.
- 🌐 Navigate to the Local Server tab in LM Studio, and choose 'Run Server.' This sets up your local server for a personalized experience.
- 🚀 When launching GitChatGPT, opt for the 'Localhost Server' option. This ensures GitChatGPT connects seamlessly to your locally hosted server.
docker compose -p gitchatgpt up -d --build- Localhost Server
- LLama.cpp
- Ollama (broken)
- GPT4ALL (broken)
- HuggingFace
- ChatGLM
- OpenLM
- OpenLLM
- OpenAI
- XInference
- HuggingFace
- OpenAI
Just cloning and using this repository won't improve it. Contribute, and together, we can make it even better! 🧙♂️ Your creativity and ideas can shape this project into something amazing! 🚀 Together, as an open-source community, we can build a more advanced and powerful tool that benefits everyone. ✨ Your contributions are the key to this project success. 🚀💻
This tool is built with various powerful libraries and tools to provide efficient functionality. It leverages the capabilities of LangChain for language processing, Chroma and DeepLake for vector storage, SentenceTransformers for sentence embeddings, LlamaCpp for specific language model interactions, and GPT4All for comprehensive language understanding.
Using embedding with the OpenAI API for GitHub repositories may result in high costs, especially when dealing with repositories containing many files. It is highly recommended to consider using local language learning models to minimize expenses and ensure cost-effective usage
If you utilize this repository, models or data in a downstream project, please consider citing it with:
@misc{gitchatgpt,
author = {Jsonjuri},
title = {GitChatGPT: Engage with your github repository code through the power of LLM},
year = {2023},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/jsonjuri/gitchatgpt}},
}
