GIT-GPT es una herramienta CLI versátil diseñada para generar mensajes de confirmación de Git, y realizar varias verificaciones de calidad de código utilizando múltiples proveedores de IA. Admite Openai, Azure OpenAi, Ollama, Claude y Google Generation AI, lo que le brinda la flexibilidad de elegir el mejor modelo para sus necesidades.

Instale git-gpt a través de PIP:
pip install git+https://github.com/ShinChven/git-gpt.gitMejora:
pip install --upgrade git+https://github.com/ShinChven/git-gpt.gitPara configurar el entorno de desarrollo:
git clone https://github.com/ShinChven/git-gpt.git
cd git-gpt
python -m venv venv
source venv/bin/activate
pip install -e .El proyecto está organizado de la siguiente manera:
git_gpt/main.py : el punto de entrada principal de la aplicación CLI.git_gpt/__init__.py : inicializa el paquete y define la versión.git_gpt/config_command.py : maneja el comando de configuración.git_gpt/commit_command.py : implementa la generación de mensajes de confirmación.git_gpt/issue_command.py : administra la funcionalidad de creación de problemas.git_gpt/quality_command.py : realiza comprobaciones de calidad en los cambios en el código.git_gpt/changelog_command.py : genera ChangeLogs basados en comodidades.git_gpt/ask_command.py : permite hacer preguntas personalizadas sobre las diferencias de código.git_gpt/ai_client.py : maneja las solicitudes de API a múltiples proveedores de IA.Cada comando se implementa en su propio archivo para una mejor organización y capacidad de mantenimiento.
Antes de usar git-gpt , deberá configurarlo con la configuración de su API. Para una configuración guiada paso a paso, use el siguiente comando:
git-gpt configEste comando le solicitará cada configuración de configuración, lo que facilita el proceso y más fácil de usar.
Para configurar un nuevo modelo o actualizar uno existente usando un solo comando (todas las opciones son obligatorias):
git-gpt config --alias MODEL_ALIAS --model_name MODEL_NAME --provider PROVIDER --key API_KEY --api_base API_BASE--alias : un nombre único para la configuración del modelo--model_name : el nombre del modelo (por ejemplo, "GPT-4" para OpenAi, "Claude-3-Sonnet-20240229" para Claude, "Gemini-1.5-PRO" para Google Generativo AI)--provider : el proveedor del modelo (por ejemplo, "OpenAi", "Azure-Openai", "Ollama", "Claude" o "Google-Generativeai")--key : la clave API (opcional, dependiendo del proveedor)--api_base : la URL base API (opcional, predeterminada a https://api.anthropic.com para Claude)Si no proporciona todas las opciones utilizando el método de comando único, se le pedirá que ingrese la información que falta.
Para establecer el modelo predeterminado:
git-gpt set-default MODEL_ALIASPara eliminar una configuración de modelo:
git-gpt delete-model MODEL_ALIASPara mostrar todos los modelos configurados con su proveedor y la tecla API enmascarada:
git-gpt show-modelsGIT-GPT admite múltiples proveedores de IA, lo que le permite elegir el que mejor se adapte a sus necesidades. Los proveedores apoyados son:
Cada proveedor puede tener requisitos específicos para nombres de modelos y configuraciones de API. Al configurar un nuevo modelo, asegúrese de usar el nombre del proveedor correcto y siga las instrucciones específicas del proveedor.
Git-GPT ahora admite Ollama, un modelo de idioma de origen abierto y alojado localmente. Esto le permite usar GIT-GPT sin confiar en los servicios de API externos.
ollama pull gemma2 ).Para usar Ollama con Git-GPT, configúrelo de la siguiente manera:
git-gpt config --api-type ollama --ollama-base http://localhost:11434 --model < MODEL_NAME > Reemplace <MODEL_NAME> con el modelo que ha sacado en Ollama (por ejemplo, LLAMA2, Codellama, Mistral, etc.).
El modelo predeterminado para Ollama en GIT-GPT se establece en 'GPT-4O-Mini'. Puede cambiar esto especificando un modelo diferente durante la configuración o al ejecutar comandos.
Una vez configurado, puede usar Git-GPT con Ollama como lo haría con OpenAI. Todos los comandos (confirmación, problema, calidad, cambio, ask) utilizarán automáticamente su configuración Ollama.
Nota: Cuando se usa Ollama, no necesita proporcionar una clave API.
Etapa todos los cambios y genere un mensaje de confirmación:
git-gpt commit [--lang < LANGUAGE > ] [--model < MODEL > ] [--run-dry]Opciones:
--lang : lenguaje de destino para el mensaje generado (el valor predeterminado es 'en').--model : el modelo a usar para generar mensajes (el valor predeterminado se establece en config).--run-dry : imprima el mensaje generado sin comprometerse.Para crear un problema basado en las diferencias de los últimos compromisos, ejecute:
git-gpt issue [--lang < LANGUAGE > ] [--model < MODEL > ] [--max-tokens < MAX_TOKENS > ] [--commit-range < COMMIT_RANGE > ]Opciones:
--lang : lenguaje de destino para el mensaje generado (el valor predeterminado es 'en').--model : el modelo a usar para generar mensajes (el valor predeterminado se establece en config).--max-tokens : el número máximo de tokens que se utilizarán para el mensaje del problema (anula el valor configurado).--commit-range : el rango de compromisos a considerar para generar el problema.Para realizar una verificación de calidad en las diferencias de los últimos compromisos, ejecute:
git-gpt quality [--lang < LANGUAGE > ] [--model < MODEL > ] [--max-tokens < MAX_TOKENS > ] [--commit-range < COMMIT_RANGE > ]Opciones:
--lang : lenguaje de destino para el mensaje generado (el valor predeterminado es 'en').--model : el modelo a usar para generar mensajes (el valor predeterminado se establece en config).--max-tokens : el número máximo de tokens a usar para el indicador de verificación de calidad (anula el valor configurado).--commit-range : el rango de compromisos a considerar para la verificación de calidad.Para generar un CangeLog basado en las diferencias de los últimos compromisos, ejecute:
git-gpt changelog [--lang < LANGUAGE > ] [--model < MODEL > ] [--max-tokens < MAX_TOKENS > ] [--commit-range < COMMIT_RANGE > ]Opciones:
--lang : lenguaje de destino para el cambio de cambio generado (el valor predeterminado es 'en').--model : el modelo que se utilizará para generar el ChangeLog (el valor predeterminado se establece en config).--max-tokens : el número máximo de tokens que se utilizará para el indicador de ChangeLog (anula el valor configurado).--commit-range : el rango de compromisos a considerar para generar el ChangeLog.Para hacer una pregunta personalizada sobre las diferencias del código, ejecute:
git-gpt ask --question < YOUR_QUESTION > [--model < MODEL > ] [--commit-range < COMMIT_RANGE > ]Opciones:
--question : La pregunta que debe hacer sobre los diferenciales del código.--model : el modelo a usar para generar la respuesta (el valor predeterminado se establece en config).--commit-range : el rango de compromisos a considerar al formar la respuesta. Si encuentra algún problema relacionado con aiohttp , intente degradar Python a 3.11, ya que este problema se informa con Python 3.12:
ERROR: Could not build wheels for aiohttp, which is required to install pyproject.toml-based projects
Siéntase libre de desembolsar el repositorio, crear una rama de características y abrir una solicitud de extracción.
Licencia de MIT