Git-GPT adalah alat CLI serbaguna yang dirancang untuk menghasilkan pesan komit, masalah, dan melakukan berbagai pemeriksaan kualitas kode menggunakan beberapa penyedia AI. Ini mendukung OpenAi, Azure Openai, Ollama, Claude, dan Google Generative AI, memberi Anda fleksibilitas untuk memilih model terbaik untuk kebutuhan Anda.

Instal git-gpt melalui PIP:
pip install git+https://github.com/ShinChven/git-gpt.gitMeningkatkan:
pip install --upgrade git+https://github.com/ShinChven/git-gpt.gitUntuk mengatur lingkungan pengembangan:
git clone https://github.com/ShinChven/git-gpt.git
cd git-gpt
python -m venv venv
source venv/bin/activate
pip install -e .Proyek ini diselenggarakan sebagai berikut:
git_gpt/main.py : Titik masuk utama dari aplikasi CLI.git_gpt/__init__.py : menginisialisasi paket dan menentukan versi.git_gpt/config_command.py : menangani perintah konfigurasi.git_gpt/commit_command.py : mengimplementasikan pembuatan pesan komit.git_gpt/issue_command.py : mengelola fungsionalitas pembuatan masalah.git_gpt/quality_command.py : Melakukan pemeriksaan kualitas pada perubahan kode.git_gpt/changelog_command.py : menghasilkan changelog berdasarkan komitmen.git_gpt/ask_command.py : Mengizinkan mengajukan pertanyaan khusus tentang kode diff.git_gpt/ai_client.py : Menangani permintaan API ke beberapa penyedia AI.Setiap perintah diimplementasikan dalam file sendiri untuk organisasi dan pemeliharaan yang lebih baik.
Sebelum menggunakan git-gpt , Anda harus mengonfigurasinya dengan pengaturan API Anda. Untuk konfigurasi yang dipandu langkah demi langkah, gunakan perintah berikut:
git-gpt configPerintah ini akan meminta Anda untuk setiap pengaturan konfigurasi, membuat proses lebih mudah dan lebih ramah pengguna.
Untuk mengonfigurasi model baru atau memperbarui yang sudah ada menggunakan perintah tunggal (semua opsi wajib):
git-gpt config --alias MODEL_ALIAS --model_name MODEL_NAME --provider PROVIDER --key API_KEY --api_base API_BASE--alias : Nama unik untuk konfigurasi model--model_name : Nama model (misalnya, "GPT-4" untuk Openai, "Claude-3-Sonnet-20240229" untuk Claude, "Gemini-1.5-Pro" untuk Google Generative AI)--provider : Penyedia model (misalnya, "OpenAi", "Azure-Openai", "Ollama", "Claude", atau "Google-Generativeai")--key : Kunci API (opsional, tergantung pada penyedia)--api_base : URL dasar API (opsional, default ke https://api.anthropic.com untuk Claude)Jika Anda tidak memberikan semua opsi menggunakan metode perintah tunggal, Anda akan diminta untuk memasukkan informasi yang hilang.
Untuk mengatur model default:
git-gpt set-default MODEL_ALIASUntuk menghapus konfigurasi model:
git-gpt delete-model MODEL_ALIASUntuk menampilkan semua model yang dikonfigurasi dengan penyedia dan kunci API bertopengnya:
git-gpt show-modelsGit-GPT mendukung beberapa penyedia AI, memungkinkan Anda untuk memilih yang paling sesuai dengan kebutuhan Anda. Penyedia yang didukung adalah:
Setiap penyedia mungkin memiliki persyaratan khusus untuk nama model dan konfigurasi API. Saat mengkonfigurasi model baru, pastikan untuk menggunakan nama penyedia yang benar dan ikuti instruksi khusus penyedia.
Git-GPT sekarang mendukung Ollama, model bahasa terbuka yang di-host secara lokal. Ini memungkinkan Anda untuk menggunakan Git-GPT tanpa mengandalkan layanan API eksternal.
ollama pull gemma2 ).Untuk menggunakan ollama dengan git-gpt, konfigurasikan sebagai berikut:
git-gpt config --api-type ollama --ollama-base http://localhost:11434 --model < MODEL_NAME > Ganti <MODEL_NAME> dengan model yang Anda tarik di ollama (misalnya, llama2, codellama, mistral, dll.).
Model default untuk Ollama di Git-GPT diatur ke 'GPT-4O-Mini'. Anda dapat mengubah ini dengan menentukan model yang berbeda selama konfigurasi atau saat menjalankan perintah.
Setelah dikonfigurasi, Anda dapat menggunakan Git-GPT dengan Ollama seperti yang Anda lakukan dengan Openai. Semua perintah (komit, masalah, kualitas, changelog, tanya) akan secara otomatis menggunakan konfigurasi ollama Anda.
Catatan: Saat menggunakan Ollama, Anda tidak perlu memberikan kunci API.
Tahap semua perubahan dan hasilkan pesan komit:
git-gpt commit [--lang < LANGUAGE > ] [--model < MODEL > ] [--run-dry]Opsi:
--lang : Bahasa target untuk pesan yang dihasilkan (default adalah 'en').--model : Model yang akan digunakan untuk menghasilkan pesan (default diatur dalam config).--run-dry : Cetak pesan yang dihasilkan tanpa berkomitmen.Untuk membuat masalah berdasarkan perbedaan komit terbaru, jalankan:
git-gpt issue [--lang < LANGUAGE > ] [--model < MODEL > ] [--max-tokens < MAX_TOKENS > ] [--commit-range < COMMIT_RANGE > ]Opsi:
--lang : Bahasa target untuk pesan yang dihasilkan (default adalah 'en').--model : Model yang akan digunakan untuk menghasilkan pesan (default diatur dalam config).--max-tokens : Jumlah maksimum token yang akan digunakan untuk prompt masalah (menimpa nilai yang dikonfigurasi).--commit-range : Kisaran komitmen untuk dipertimbangkan untuk menghasilkan masalah.Untuk melakukan pemeriksaan kualitas pada perbedaan komit terbaru, jalankan:
git-gpt quality [--lang < LANGUAGE > ] [--model < MODEL > ] [--max-tokens < MAX_TOKENS > ] [--commit-range < COMMIT_RANGE > ]Opsi:
--lang : Bahasa target untuk pesan yang dihasilkan (default adalah 'en').--model : Model yang akan digunakan untuk menghasilkan pesan (default diatur dalam config).--max-tokens : Jumlah maksimum token yang akan digunakan untuk prompt pemeriksaan kualitas (menimpa nilai yang dikonfigurasi).--commit-range : Kisaran komitmen untuk dipertimbangkan untuk pemeriksaan kualitas.Untuk menghasilkan changelog berdasarkan perbedaan komit terbaru, jalankan:
git-gpt changelog [--lang < LANGUAGE > ] [--model < MODEL > ] [--max-tokens < MAX_TOKENS > ] [--commit-range < COMMIT_RANGE > ]Opsi:
--lang : Bahasa target untuk changelog yang dihasilkan (default adalah 'en').--model : Model yang akan digunakan untuk menghasilkan changelog (default diatur dalam config).--max-tokens : Jumlah maksimum token yang akan digunakan untuk prompt changelog (menimpa nilai yang dikonfigurasi).--commit-range : Kisaran komitmen untuk dipertimbangkan untuk menghasilkan changelog.Untuk mengajukan pertanyaan khusus tentang kode dif, jalankan:
git-gpt ask --question < YOUR_QUESTION > [--model < MODEL > ] [--commit-range < COMMIT_RANGE > ]Opsi:
--question : Pertanyaan yang harus ditanyakan tentang Kode diffs.--model : Model yang akan digunakan untuk menghasilkan respons (default diatur dalam config).--commit-range : Kisaran komitmen untuk dipertimbangkan saat membentuk respons. Jika Anda menghadapi masalah apa pun tentang aiohttp , cobalah untuk menurunkan Python menjadi 3.11, karena masalah ini dilaporkan dengan Python 3.12:
ERROR: Could not build wheels for aiohttp, which is required to install pyproject.toml-based projects
Jangan ragu untuk membayar repositori, membuat cabang fitur, dan membuka permintaan tarik.
Lisensi MIT