- Emacs Copilot, yerelde çalışan bir LLM (Large Language Model) kullanarak Emacs tamponu içinde kod tamamlama üretir.
- LLM, dosya bazında yerel düzenleme geçmişini hatırlayan bir alt komut olarak çalışır ve
C-g kullanılarak istenildiği zaman durdurulabilir.
- Kod silinirken, LLM bağlamındaki ilgili geçmiş de silinebilir; programlama dili dilden bağımsız olarak dosya uzantısına göre belirlenir.
WizardCoder 34b modeli
- WizardCoder 34b, GPT-4 ile aynı HumanEval puanını almış güçlü bir LLM'dir.
- Bu modeli kullanmak için Mac Studio M2 Ultra gibi güçlü bir bilgisayar gerekir; Macbook Pro kullanıcıları Q3 sürümünü, genel PC kullanıcıları ise WizardCoder-Python-13b modelini değerlendirebilir.
- Raspberry Pi gibi daha düşük işlem gücüne sahip kullanıcılar Phi-2 modelini kullanabilir.
Başlangıç
- Fonksiyonun ilk satırını yazdıktan sonra
C-c C-k tuşlarına basarak kontrolü LLM'e verebilir, geri kalan fonksiyon uygulamasını onun üretmesini sağlayabilirsiniz.
- LLM, fonksiyon tamamlandığında duracak şekilde ayarlanmıştır; açıklama veya ELI5 (kolay anlaşılır) yorumlardan kaçınır.
Referans uygulama
- LLM'i indirdikten sonra aşağıdaki kodu Emacs tamponuna kopyalayıp
M-x eval-buffer çalıştırmanız yeterlidir.
- Kodu kişisel tercihlerinize göre ayarlayabilirsiniz.
Emacs indirme bağlantısı
- Emacs kurulu değilse veya Windows gibi edinmesi zor bir platform kullanıyorsanız, kurulum gerektirmeden çalıştırılabilen tek dosyalık Emacs derlemesine bağlantı sunulur.
LLM indirme bağlantısı
- Emacs Copilot ile iyi çalıştığı bilinen bazı LLM'leri ücretsiz indirmek için bağlantılar sunulur.
- Model boyutunu donanımınıza uygun şekilde seçebilirsiniz.
Önbellek dosyaları
- Modeli değiştirmeye karar verirseniz, yerel dosya sisteminde oluşturulan tüm
FILE.cache dosyalarını silmeniz gerekir.
Dikkat edilmesi gerekenler
- macOS üzerinde Apple Silicon kullanıyorsanız Xcode kurulu olmalıdır.
- zsh kullanıyorsanız çalıştırmak için
sh -c ./llamafile kullanmanız gerekebilir.
- Bazı Linux sistemlerinde
binfmt_misc kaydıyla ilgili hatalar oluşabilir.
Desteklenen işletim sistemleri ve CPU'lar
- llamafile, asgari kurulum gereksinimleriyle birden fazla işletim sistemini destekler.
- llamafile belirli CPU'ları destekler; SSSE3 veya üzeri komut setine sahip AMD64 mikroişlemci ya da ARMv8a+ destekli ARM64 mikroişlemci gerekir.
Modelle ilgili notlar
- Yukarıda verilen llamafile örnekleri, belirli modeller, lisanslar veya veri setleri için Mozilla'nın desteği ya da tavsiyesi olarak yorumlanmamalıdır.
GN⁺'nin görüşü
- Yenilikçi düzenleme deneyimi: Emacs Copilot, geliştiricilere yeni bir kodlama yardım düzeyi sunarak verimlilik ve üretkenliği ciddi biçimde artırma potansiyeline sahiptir.
- Erişilebilirlik ve özelleştirme: Kullanıcılar ihtiyaçlarına ve tercihlerine göre LLM seçip Emacs ortamını ayarlayabilir; bu da kişiselleştirilmiş bir geliştirme ortamı kurmayı mümkün kılar.
- Teknik uyumluluk: Farklı işletim sistemleri ve CPU'ları desteklemesi sayesinde Emacs Copilot geniş bir kullanıcı kitlesi tarafından kullanılabilir; bu da geliştirici topluluğunda kapsayıcılığı ve erişilebilirliği artırır.
1 yorum
Hacker News görüşleri
LLM/IDE entegrasyonunun faydasına dair şüphe
Kendi kendine barındırılan LLM araçlarının geliştirilmesine teşekkür
Emacs ile LLM entegrasyonu deneyiminin paylaşılması
MacBook Pro M1 Max üzerinde LLM çalıştırma deneyimi
Video demosundaki is_prime fonksiyonuna eleştiri
NixOS’ta çalışmayan llamafile derlemesi hakkında soru
Daha genel bir LLM entegrasyonu talebi
Vim kullanıcısının LLM entegrasyonu için özel komut paylaşımı
Llamafile yükseltme yolu hakkında soru
LLM entegrasyonuna ilgi ve deneme niyeti