GIT-GPT-это универсальный инструмент CLI, предназначенный для автоматических сообщений GIT Commit, проблем, и выполнять различные проверки качества кода с использованием нескольких поставщиков искусственного интеллекта. Он поддерживает OpenAI, Azure Openai, Ollama, Claude и Google Generative AI, что дает вам гибкость, чтобы выбрать лучшую модель для ваших нужд.

Установите git-gpt через PIP:
pip install git+https://github.com/ShinChven/git-gpt.gitОбновление:
pip install --upgrade git+https://github.com/ShinChven/git-gpt.gitЧтобы настроить среду разработки:
git clone https://github.com/ShinChven/git-gpt.git
cd git-gpt
python -m venv venv
source venv/bin/activate
pip install -e .Проект организован следующим образом:
git_gpt/main.py : основная точка входа приложения CLI.git_gpt/__init__.py : инициализирует пакет и определяет версию.git_gpt/config_command.py : обрабатывает команду конфигурации.git_gpt/commit_command.py : реализует генерацию сообщений.git_gpt/issue_command.py : управляет функцией создания вопроса.git_gpt/quality_command.py : выполняет проверки качества при изменениях кода.git_gpt/changelog_command.py : генерирует изменение изменений на основе Commits.git_gpt/ask_command.py : позволяет задавать пользовательские вопросы о различных кодах.git_gpt/ai_client.py : обрабатывает запросы API с несколькими поставщиками ИИ.Каждая команда реализована в своем собственном файле для лучшей организации и обслуживания.
Перед использованием git-gpt вам нужно настроить его с настройками API. Для пошаговой конфигурации управляемой управляемой, используйте следующую команду:
git-gpt configЭта команда предложит вам для каждой настройки конфигурации, что делает процесс проще и удобнее для пользователя.
Чтобы настроить новую модель или обновить существующую, используя одну команду (все параметры обязательны):
git-gpt config --alias MODEL_ALIAS --model_name MODEL_NAME --provider PROVIDER --key API_KEY --api_base API_BASE--alias : уникальное имя для конфигурации модели--model_name : имя модели (например, «GPT-4» для Openai, «Claude-3-Sonnet-201240229» для Claude, «Gemini-1.5-Pro» для Google Generative AI)--provider : поставщик модели (например, «Openai», «Azure-Openai», «Ollama», «Claude» или «Google-Generativeai»)--key : ключ API (необязательно, в зависимости от поставщика)--api_base : URL-адрес базы API (необязательно, по умолчанию https://api.anpropic.com для Claude)Если вы не предоставите все варианты, используя метод одной команды, вам будет предложено ввести недостающую информацию.
Чтобы установить модель по умолчанию:
git-gpt set-default MODEL_ALIASЧтобы удалить конфигурацию модели:
git-gpt delete-model MODEL_ALIASЧтобы отобразить все настроенные модели с их провайдером и клавиш API в масках:
git-gpt show-modelsGIT-GPT поддерживает нескольких поставщиков ИИ, позволяя вам выбрать тот, который наилучшим образом соответствует вашим потребностям. Поддерживаемыми поставщиками:
Каждый провайдер может иметь конкретные требования к именам моделей и конфигураций API. При настройке новой модели обязательно используйте правильное имя поставщика и следуйте любым конкретным инструкциям, специфичным для поставщика.
GIT-GPT теперь поддерживает Ollama, модель с открытым исходным кодом на местном уровне. Это позволяет вам использовать GIT-GPT, не полагаясь на внешние сервисы API.
ollama pull gemma2 ).Чтобы использовать Ollama с GIT-GPT, настройте его следующим образом:
git-gpt config --api-type ollama --ollama-base http://localhost:11434 --model < MODEL_NAME > Замените <MODEL_NAME> на модель, которую вы вытащили в Олламе (например, Llama2, Codellama, Mistral и т. Д.).
Модель по умолчанию для Ollama в GIT-GPT установлена на «GPT-4O-Mini». Вы можете изменить это, указав другую модель во время конфигурации или при запуске команд.
После настройки вы можете использовать GIT-GPT с Ollama, как и с OpenAI. Все команды (Commit, выпуск, качество, ChangeLog, Ask) автоматически используют вашу конфигурацию Ollama.
Примечание. При использовании Ollama вам не нужно предоставлять ключ API.
Установите все изменения и генерируйте сообщение о коммите:
git-gpt commit [--lang < LANGUAGE > ] [--model < MODEL > ] [--run-dry]Параметры:
--lang : целевой язык для сгенерированного сообщения (по умолчанию «en ').--model : модель для использования для генерации сообщений (по умолчанию установлена в конфигурации).--run-dry : распечатайте сгенерированное сообщение без совершения.Чтобы создать проблему, основанную на различиях последних коммита (ы), запустите:
git-gpt issue [--lang < LANGUAGE > ] [--model < MODEL > ] [--max-tokens < MAX_TOKENS > ] [--commit-range < COMMIT_RANGE > ]Параметры:
--lang : целевой язык для сгенерированного сообщения (по умолчанию «en ').--model : модель для использования для генерации сообщений (по умолчанию установлена в конфигурации).--max-tokens : максимальное количество токенов, которые можно использовать для приглашения выпуска (переопределяет настроенное значение).--commit-range : диапазон коммитов, которые следует рассмотреть для создания проблемы.Чтобы выполнить качественную проверку на различия последних коммит (ы), запустите:
git-gpt quality [--lang < LANGUAGE > ] [--model < MODEL > ] [--max-tokens < MAX_TOKENS > ] [--commit-range < COMMIT_RANGE > ]Параметры:
--lang : целевой язык для сгенерированного сообщения (по умолчанию «en ').--model : модель для использования для генерации сообщений (по умолчанию установлена в конфигурации).--max-tokens : максимальное количество токенов для использования для подсказки проверки качества (переопределяет настроенное значение).--commit-range : диапазон коммитов, которые следует рассмотреть для проверки качества.Чтобы сгенерировать изменение изменений на основе различий последних коммита (ы), запустите:
git-gpt changelog [--lang < LANGUAGE > ] [--model < MODEL > ] [--max-tokens < MAX_TOKENS > ] [--commit-range < COMMIT_RANGE > ]Параметры:
--lang : Целевой язык для сгенерированного измененного уровня (по умолчанию является «en»).--model : модель для использования для генерации изменяемости (по умолчанию установлена в конфигурации).--max-tokens : максимальное количество токенов, которые можно использовать для приглашения изменений (переопределяет настроенное значение).--commit-range : диапазон коммитов, которые следует рассмотреть для создания изменчивости.Чтобы задать пользовательский вопрос о различных кодах, запустите:
git-gpt ask --question < YOUR_QUESTION > [--model < MODEL > ] [--commit-range < COMMIT_RANGE > ]Параметры:
--question : вопрос, который нужно задать о различных кодах.--model : модель для создания ответа (по умолчанию установлена в конфигурации).--commit-range : диапазон коммитов, которые следует учитывать при формировании ответа. Если вы столкнетесь с какими -либо вопросами, касающимися aiohttp , попробуйте понизить Python до 3.11, так как в этой проблеме сообщается с Python 3.12:
ERROR: Could not build wheels for aiohttp, which is required to install pyproject.toml-based projects
Не стесняйтесь разворачиваться, создать филиал функций и открыть запрос на вытягивание.
MIT Лицензия