O Git-GPT é uma ferramenta versátil da CLI projetada para obter mensagens de comprometimento do Git automaticamente, e executar várias verificações de qualidade de código usando vários provedores de IA. Ele suporta o Openai, Azure Openai, Ollama, Claude e Google Generative IA, dando a você a flexibilidade de escolher o melhor modelo para suas necessidades.

Instale git-gpt via PIP:
pip install git+https://github.com/ShinChven/git-gpt.gitAtualizar:
pip install --upgrade git+https://github.com/ShinChven/git-gpt.gitPara configurar o ambiente de desenvolvimento:
git clone https://github.com/ShinChven/git-gpt.git
cd git-gpt
python -m venv venv
source venv/bin/activate
pip install -e .O projeto está organizado da seguinte maneira:
git_gpt/main.py : o ponto de entrada principal do aplicativo da CLI.git_gpt/__init__.py : inicializa o pacote e define a versão.git_gpt/config_command.py : lida com o comando de configuração.git_gpt/commit_command.py : implementa a geração de mensagens de confirmação.git_gpt/issue_command.py : gerencia a funcionalidade de criação de problemas.git_gpt/quality_command.py : executa verificações de qualidade nas alterações de código.git_gpt/changelog_command.py : gera changelogs com base em commits.git_gpt/ask_command.py : permite fazer perguntas personalizadas sobre o código diffs.git_gpt/ai_client.py : lida com solicitações de API a vários provedores de IA.Cada comando é implementado em seu próprio arquivo para uma melhor organização e manutenção.
Antes de usar git-gpt , você precisará configurá-lo com suas configurações de API. Para uma configuração guiada passo a passo, use o seguinte comando:
git-gpt configEste comando solicitará cada definição de configuração, tornando o processo mais fácil e fácil de usar.
Para configurar um novo modelo ou atualizar um existente usando um único comando (todas as opções são obrigatórias):
git-gpt config --alias MODEL_ALIAS --model_name MODEL_NAME --provider PROVIDER --key API_KEY --api_base API_BASE--alias : um nome único para a configuração do modelo--model_name : o nome do modelo (por exemplo, "GPT-4" para o OpenAi, "Claude-3-Sonnet-20240229" para Claude ", Gemini-1.5-Pro" para o Google Generative AI)--provider : o provedor do modelo (por exemplo, "Openai", "Azure-openai", "Ollama", "Claude" ou "Google-Generativeai")--key : a chave da API (opcional, dependendo do provedor)--api_base : o URL da base da API (opcional, padroniza para https://api.antrópica.com para Claude)Se você não fornecer todas as opções usando o método de comando único, você será solicitado a inserir as informações ausentes.
Para definir o modelo padrão:
git-gpt set-default MODEL_ALIASPara excluir uma configuração de modelo:
git-gpt delete-model MODEL_ALIASPara exibir todos os modelos configurados com seu provedor e chave de API mascarada:
git-gpt show-modelsO Git-GPT suporta vários provedores de IA, permitindo que você escolha o que melhor atende às suas necessidades. Os provedores suportados são:
Cada provedor pode ter requisitos específicos para nomes de modelos e configurações de API. Ao configurar um novo modelo, use o nome correto do provedor e siga quaisquer instruções específicas do provedor.
O Git-GPT agora suporta Ollama, um modelo de idioma hospedado localmente de código aberto. Isso permite que você use o Git-GPT sem confiar em serviços de API externos.
ollama pull gemma2 ).Para usar o Ollama com o Git-GPT, configure-o da seguinte forma:
git-gpt config --api-type ollama --ollama-base http://localhost:11434 --model < MODEL_NAME > Substitua <MODEL_NAME> pelo modelo que você puxou em Ollama (por exemplo, LLAMA2, Codellama, Mistral, etc.).
O modelo padrão para Ollama no Git-GPT está definido como 'GPT-4O-Mini'. Você pode alterar isso especificando um modelo diferente durante a configuração ou ao executar comandos.
Uma vez configurado, você pode usar o Git-GPT com Ollama, como faria com o Openai. Todos os comandos (comprometimento, edição, qualidade, changelog, Ask) usarão automaticamente sua configuração de Ollama.
Nota: Ao usar o Ollama, você não precisa fornecer uma chave da API.
Encontre todas as mudanças e gerar uma mensagem de confirmação:
git-gpt commit [--lang < LANGUAGE > ] [--model < MODEL > ] [--run-dry]Opções:
--lang : Linguagem de destino para a mensagem gerada (o padrão é 'en').--model : o modelo a ser usado para gerar mensagens (o padrão está definido na configuração).--run-dry : Imprima a mensagem gerada sem comprometer.Para criar um problema com base nos diferenciais do (s) comprimento (s) mais recente (s), execute:
git-gpt issue [--lang < LANGUAGE > ] [--model < MODEL > ] [--max-tokens < MAX_TOKENS > ] [--commit-range < COMMIT_RANGE > ]Opções:
--lang : Linguagem de destino para a mensagem gerada (o padrão é 'en').--model : o modelo a ser usado para gerar mensagens (o padrão está definido na configuração).--max-tokens : o número máximo de tokens a serem usados para o prompt de problema (substitui o valor configurado).--commit-range : a gama de comprometimentos a considerar para gerar o problema.Para realizar uma verificação de qualidade sobre as diferenças do (s) comprimento (s) mais recente (s), execute:
git-gpt quality [--lang < LANGUAGE > ] [--model < MODEL > ] [--max-tokens < MAX_TOKENS > ] [--commit-range < COMMIT_RANGE > ]Opções:
--lang : Linguagem de destino para a mensagem gerada (o padrão é 'en').--model : o modelo a ser usado para gerar mensagens (o padrão está definido na configuração).--max-tokens : o número máximo de tokens a serem usados para o prompt de verificação de qualidade (substitui o valor configurado).--commit-range : a gama de compromissos para considerar a verificação da qualidade.Para gerar um changelog com base nos diferenciais do (s) comprimento (s) mais recente (s), execute:
git-gpt changelog [--lang < LANGUAGE > ] [--model < MODEL > ] [--max-tokens < MAX_TOKENS > ] [--commit-range < COMMIT_RANGE > ]Opções:
--lang : Linguagem de destino para o Changelog gerado (o padrão é 'en').--model : o modelo a ser usado para gerar o Changelog (o padrão está definido na configuração).--max-tokens : o número máximo de tokens para usar no prompt de changelog (substitui o valor configurado).--commit-range : a gama de comprometimentos para considerar para gerar o Changelog.Para fazer uma pergunta personalizada sobre o código diffs, execute:
git-gpt ask --question < YOUR_QUESTION > [--model < MODEL > ] [--commit-range < COMMIT_RANGE > ]Opções:
--question : a pergunta a serem feitas sobre o código diffs.--model : o modelo a ser usado para gerar a resposta (o padrão está definido na configuração).--commit-range : a gama de compromissos para considerar ao formar a resposta. Se você encontrar algum problema referente aiohttp , tente fazer o downgrade do Python para o 3.11, pois esse problema é relatado com o Python 3.12:
ERROR: Could not build wheels for aiohttp, which is required to install pyproject.toml-based projects
Sinta -se à vontade para bifurcar o repositório, criar uma filial de recursos e abrir uma solicitação de tração.
MIT Licença