Git-GPT est un outil CLI polyvalent conçu pour générer automatiquement les messages, des problèmes Git Commit, et effectuer diverses vérifications de qualité de code à l'aide de plusieurs fournisseurs d'IA. Il prend en charge Openai, Azure Openai, Ollama, Claude et Google Generative AI, vous donnant la flexibilité de choisir le meilleur modèle pour vos besoins.

Installez git-gpt via PIP:
pip install git+https://github.com/ShinChven/git-gpt.gitMise à niveau:
pip install --upgrade git+https://github.com/ShinChven/git-gpt.gitPour configurer l'environnement de développement:
git clone https://github.com/ShinChven/git-gpt.git
cd git-gpt
python -m venv venv
source venv/bin/activate
pip install -e .Le projet est organisé comme suit:
git_gpt/main.py : le point d'entrée principal de l'application CLI.git_gpt/__init__.py : initialise le package et définit la version.git_gpt/config_command.py : gère la commande de configuration.git_gpt/commit_command.py : implémente la génération de messages de validation.git_gpt/issue_command.py : gère la fonctionnalité de création de problèmes.git_gpt/quality_command.py : effectue des vérifications de qualité sur les modifications de code.git_gpt/changelog_command.py : génère des changelogs basés sur des validations.git_gpt/ask_command.py : permet de poser des questions personnalisées sur les différences de code.git_gpt/ai_client.py : gère les demandes de l'API à plusieurs fournisseurs d'II.Chaque commande est implémentée dans son propre fichier pour une meilleure organisation et maintenabilité.
Avant d'utiliser git-gpt , vous devrez le configurer avec vos paramètres d'API. Pour une configuration guidée étape par étape, utilisez la commande suivante:
git-gpt configCette commande vous invitera à chaque paramètre de configuration, ce qui rend le processus plus facile et plus convivial.
Pour configurer un nouveau modèle ou mettre à jour un existant à l'aide d'une seule commande (toutes les options sont obligatoires):
git-gpt config --alias MODEL_ALIAS --model_name MODEL_NAME --provider PROVIDER --key API_KEY --api_base API_BASE--alias : un nom unique pour la configuration du modèle--model_name : le nom du modèle (par exemple, "GPT-4" pour Openai, "Claude-3-Sonnet-20240229" pour Claude "--provider : le fournisseur du modèle (par exemple, "openai", "azure-openai", "olllama", "claude" ou "google-generativeai")--key : la clé API (facultative, selon le fournisseur)--api_base : L'URL de base de l'API (facultative, par défaut à https://api.anthropic.com pour Claude)Si vous ne fournissez pas toutes les options à l'aide de la méthode de commande unique, vous serez invité à saisir les informations manquantes.
Pour définir le modèle par défaut:
git-gpt set-default MODEL_ALIASPour supprimer une configuration du modèle:
git-gpt delete-model MODEL_ALIASPour afficher tous les modèles configurés avec leur fournisseur et leur clé API masquée:
git-gpt show-modelsGIT-GPT prend en charge plusieurs fournisseurs d'IA, vous permettant de choisir celui qui correspond le mieux à vos besoins. Les prestataires pris en charge sont:
Chaque fournisseur peut avoir des exigences spécifiques pour les noms de modèles et les configurations d'API. Lors de la configuration d'un nouveau modèle, assurez-vous d'utiliser le nom du fournisseur correct et suivez toutes les instructions spécifiques au fournisseur.
Git-GPT prend désormais en charge Olllama, un modèle de langue hospitalisé localement, hébergé. Cela vous permet d'utiliser GIT-GPT sans compter sur les services API externes.
ollama pull gemma2 ).Pour utiliser Olllama avec GIT-GPT, configurez-le comme suit:
git-gpt config --api-type ollama --ollama-base http://localhost:11434 --model < MODEL_NAME > Remplacez <MODEL_NAME> par le modèle que vous avez tiré dans Olllama (par exemple, Llama2, Codellama, Mistral, etc.).
Le modèle par défaut pour Ollama dans GIT-GPT est défini sur «GPT-4O-MINI». Vous pouvez le modifier en spécifiant un modèle différent pendant la configuration ou lors de l'exécution des commandes.
Une fois configuré, vous pouvez utiliser Git-GPT avec Olllama comme vous le feriez avec OpenAI. Toutes les commandes (commit, problème, qualité, changelog, demande) utiliseront automatiquement votre configuration Olllama.
Remarque: Lorsque vous utilisez Olllama, vous n'avez pas besoin de fournir une clé API.
Mettez en scène tous les changements et générez un message de validation:
git-gpt commit [--lang < LANGUAGE > ] [--model < MODEL > ] [--run-dry]Options:
--lang : langue cible pour le message généré (par défaut est «en»).--model : le modèle à utiliser pour générer des messages (par défaut est défini dans la configuration).--run-dry : imprimez le message généré sans s'engager.Pour créer un problème basé sur les différences des derniers commit (s), exécutez:
git-gpt issue [--lang < LANGUAGE > ] [--model < MODEL > ] [--max-tokens < MAX_TOKENS > ] [--commit-range < COMMIT_RANGE > ]Options:
--lang : langue cible pour le message généré (par défaut est «en»).--model : le modèle à utiliser pour générer des messages (par défaut est défini dans la configuration).--max-tokens : le nombre maximum de jetons à utiliser pour l'invite de problème (remplace la valeur configurée).--commit-range : La gamme de engagements à considérer pour générer le problème.Pour effectuer une vérification de qualité sur les difficultés des derniers commit (s), exécutez:
git-gpt quality [--lang < LANGUAGE > ] [--model < MODEL > ] [--max-tokens < MAX_TOKENS > ] [--commit-range < COMMIT_RANGE > ]Options:
--lang : langue cible pour le message généré (par défaut est «en»).--model : le modèle à utiliser pour générer des messages (par défaut est défini dans la configuration).--max-tokens : le nombre maximum de jetons à utiliser pour l'invite de vérification de qualité (remplace la valeur configurée).--commit-range : La gamme de engagements à considérer pour le contrôle de qualité.Pour générer un changelog basé sur les difficultés des derniers commit (s), exécutez:
git-gpt changelog [--lang < LANGUAGE > ] [--model < MODEL > ] [--max-tokens < MAX_TOKENS > ] [--commit-range < COMMIT_RANGE > ]Options:
--lang : Langue cible pour le changelog généré (par défaut est «en»).--model : le modèle à utiliser pour générer le changelog (par défaut est défini dans la configuration).--max-tokens : le nombre maximum de jetons à utiliser pour l'invite de modification (remplace la valeur configurée).--commit-range : la gamme de engagements à considérer pour générer le modiage.Pour poser une question personnalisée sur le code Diffs, exécutez:
git-gpt ask --question < YOUR_QUESTION > [--model < MODEL > ] [--commit-range < COMMIT_RANGE > ]Options:
--question : La question à poser sur le code diffs.--model : le modèle à utiliser pour générer la réponse (par défaut est défini dans la configuration).--commit-range : La gamme de engagements à considérer lors de la formation de la réponse. Si vous rencontrez des problèmes concernant aiohttp , veuillez essayer de rétrograder Python à 3.11, comme ce problème est signalé avec Python 3.12:
ERROR: Could not build wheels for aiohttp, which is required to install pyproject.toml-based projects
N'hésitez pas à alimenter le référentiel, à créer une branche de fonctionnalité et à ouvrir une demande de traction.
Licence MIT