- Emacs Copilot menghasilkan Code Completion di dalam buffer Emacs menggunakan LLM (Large Language Model) yang berjalan secara lokal
- LLM dijalankan sebagai subcommand yang mengingat riwayat penyuntingan lokal per file, dan LLM dapat dihentikan kapan saja dengan
C-g
- Saat kode dihapus, riwayat terkait juga dapat dihapus dari konteks LLM, dan bahasa pemrograman ditentukan oleh ekstensi file tanpa bergantung pada bahasanya
Model WizardCoder 34b
- WizardCoder 34b adalah LLM unggulan yang memperoleh skor HumanEval setara dengan GPT-4.
- Untuk menggunakan model ini, dibutuhkan komputer yang kuat seperti Mac Studio M2 Ultra; pengguna Macbook Pro dapat mempertimbangkan versi Q3, dan pengguna PC biasa dapat mempertimbangkan model WizardCoder-Python-13b.
- Pengguna dengan daya komputasi yang lebih rendah seperti Raspberry Pi dapat menggunakan model Phi-2.
Cara memulai
- Setelah menulis baris pertama sebuah fungsi, tekan
C-c C-k untuk menyerahkan kontrol kepada LLM, lalu LLM akan menghasilkan implementasi sisa fungsi tersebut.
- LLM diatur agar berhenti saat fungsi selesai, serta menghindari penjelasan atau komentar ELI5 (penjelasan sederhana).
Implementasi referensi
- Setelah mengunduh LLM, salin kode di bawah ini ke buffer Emacs dan jalankan
M-x eval-buffer.
- Kode dapat disesuaikan dengan preferensi pribadi.
Tautan unduhan Emacs
- Jika Emacs belum terpasang atau Anda menggunakan platform yang sulit mendapatkannya seperti Windows, tersedia tautan Emacs build satu berkas yang dapat dijalankan tanpa perlu instalasi.
Tautan unduhan LLM
- Tersedia tautan untuk mengunduh gratis beberapa LLM yang diketahui bekerja baik dengan Emacs Copilot.
- Ukuran model dapat dipilih agar sesuai dengan perangkat keras yang dimiliki.
Berkas cache
- Jika Anda memutuskan untuk mengganti model, semua berkas
FILE.cache yang dibuat di sistem berkas lokal harus dihapus.
Hal yang perlu diperhatikan
- Jika menggunakan Apple Silicon di macOS, Xcode harus terpasang.
- Saat menggunakan zsh, mungkin perlu menjalankannya dengan
sh -c ./llamafile.
- Pada beberapa sistem Linux, dapat terjadi kesalahan terkait pendaftaran
binfmt_misc.
OS dan CPU yang didukung
- llamafile mendukung berbagai sistem operasi dengan persyaratan instalasi minimal.
- llamafile mendukung CPU tertentu, dan membutuhkan mikroprosesor AMD64 dengan set instruksi SSSE3 atau lebih tinggi, atau mikroprosesor ARM64 dengan ARMv8a+.
Catatan tentang model
- Contoh llamafile yang diberikan di atas tidak boleh ditafsirkan sebagai dukungan atau rekomendasi dari Mozilla terhadap model, lisensi, atau set data tertentu.
Opini GN⁺
- Pengalaman penyuntingan yang inovatif: Emacs Copilot memberi pengembang tingkat baru bantuan coding, dengan potensi besar untuk meningkatkan efisiensi dan produktivitas.
- Aksesibilitas dan kustomisasi: Pengguna dapat memilih LLM dan menyesuaikan lingkungan Emacs sesuai kebutuhan serta preferensi mereka, sehingga memungkinkan pembangunan lingkungan pengembangan yang dipersonalisasi.
- Kompatibilitas teknis: Dengan dukungan untuk berbagai sistem operasi dan CPU, Emacs Copilot dapat digunakan oleh lebih banyak pengguna, yang pada gilirannya meningkatkan inklusivitas dan aksesibilitas dalam komunitas pengembang.
1 komentar
Komentar Hacker News
Keraguan tentang kegunaan integrasi LLM/IDE
Apresiasi terhadap pengembangan alat LLM yang self-hosted
Berbagi pengalaman integrasi LLM dengan Emacs
Pengalaman menjalankan LLM di MacBook Pro M1 Max
Kritik terhadap fungsi is_prime dalam demonstrasi video
Pertanyaan tentang build llamafile yang tidak bisa dijalankan di NixOS
Kebutuhan akan integrasi LLM yang lebih umum
Berbagi perintah kustom integrasi LLM dari pengguna Vim
Pertanyaan tentang jalur upgrade Llamafile
Menyatakan ketertarikan dan niat mencoba integrasi LLM