Repositori ini menyediakan kerangka kerja potensial dengan contoh-contoh praktis untuk mengembangkan aplikasi yang didukung oleh Model Model Bahasa (LLM) sumber terbuka terkuantisasi bersama dengan LangChain. Secara khusus, panduan ini berfokus pada penerapan dan pemanfaatan varian GPTQ Terkuantisasi 4-bit dari berbagai LLM, seperti WizardLM dan WizardLM-Mega. Meskipun sumber daya yang didedikasikan untuk topik spesifik ini terbatas secara online, repositori ini bertujuan untuk menjembatani kesenjangan tersebut dan menawarkan panduan komprehensif.
Menjalankan LLM secara lokal menawarkan banyak keuntungan, dengan privasi menjadi faktor kuncinya. Dengan menyimpan data Anda di dalam perangkat keras Anda sendiri, Anda dapat memanfaatkan kemampuan model ini tanpa bergantung pada API eksternal, memastikan kontrol yang lebih besar atas data Anda dan memungkinkan pengembangan aplikasi yang menarik.
nvidia-smi
seharusnya berfungsi)Catatan: Dukungan Docker akan ditambahkan.
Model GPTQ berikut didukung untuk saat ini:
Untuk mulai menggunakan model GPTQ dengan langchain, ada beberapa langkah penting:
quant_cuda
dengan benardemo.py
dan menggunakan LLM dengan LangChain seperti yang Anda lakukan untuk model OpenAI.Instal Miniconda dengan mengikuti instruksi dari situs resminya.
Untuk memeriksa apakah conda telah diatur dengan benar
$ conda --version
Inisialisasi conda di shell Anda
$ conda init
Buat lingkungan conda baru, pastikan untuk menggunakan versi Python yang ditentukan karena hanya diuji pada 3.10.9
$ conda create -n wizardlm_langchain python=3.10.9
Setelah lingkungan baru dibuat, aktifkan.
$ conda activate wizardlm_langchain
Seluruh proses yang dibahas di atas dari 2 hingga 4 diotomatisasi menggunakan skrip bash setup.sh
. Jangan ragu untuk memodifikasinya sesuai keinginan Anda.
$ bash ./setup.sh
Semua langkah idealnya berjalan tanpa kesalahan jika lingkungan diatur dengan benar.
Jika Anda menghadapi pengecualian berikut saat menjalankan demo:
Exception: Error while deserializing header: HeaderTooLarge
Artinya model belum diunduh sepenuhnya sehingga Anda dapat mencoba mengunduh ulang menggunakan perintah git clone
yang terdapat di setup.py
.
Sebelum menjalankan demo, ada baiknya untuk menonaktifkan dan mengaktifkan kembali lingkungan saat Anda mengaturnya untuk pertama kali.
Jalankan demonya:
$ python demo.py
Menggunakan setup.sh
secara default akan mengunduh model wizardLM-7B-GPTQ tetapi jika Anda ingin menggunakan model lain yang diuji dengan proyek ini, Anda dapat menggunakan skrip download_model.sh
.
$ download_model.sh < HUGGING FACE MODEL NAME >
# Example
$ ./download_model.sh " TheBloke/WizardLM-7B-uncensored-GPTQ "
Catatan: Jika Anda tidak dapat mengunduh model lengkap dari HF, pastikan Git LFS dikonfigurasi dengan benar. Perintah
git lfs install
terkadang dapat menyelesaikan pekerjaan.
Setelah Anda menyelesaikan proses penyiapan, Anda dapat menggunakan model GPTQ dengan LangChain dengan mengikuti langkah-langkah berikut:
Pastikan untuk menambahkan direktori root proyek
wizardlm_langchain
ke PYTHONPATH untuk menggunakannya secara global
Lihat contoh skrip demo.py
untuk memahami cara menggunakannya.
Kontribusi pada repositori ini dipersilahkan. Jika Anda menemukan masalah atau memiliki saran untuk perbaikan, jangan ragu untuk membuka masalah atau mengirimkan permintaan penarikan.
Saat berkontribusi, harap patuhi pedoman berikut:
Repositori ini dilisensikan di bawah Lisensi Publik GNU. Lihat file LISENSI untuk informasi lebih lanjut.
Kami ingin mengucapkan terima kasih atas kontribusi komunitas sumber terbuka dan pengembang model GPTQ asli yang digunakan dalam repositori ini. Jutaan terima kasih kepada oobabooga/text-generasi-webui, pekerjaan mereka telah sangat membantu dalam menyiapkan model GPTQ dengan langchain.