- Emacs Copilot लोकल में चलने वाले LLM (Large Language Model) का उपयोग करके Emacs buffer के भीतर code completion तैयार करता है
- LLM एक sub-command के रूप में चलता है जो फ़ाइल-वार local editing history को याद रखता है, और
C-g का उपयोग करके किसी भी समय LLM को रोका जा सकता है
- कोड हटाते समय LLM के context से उस इतिहास को भी हटाया जा सकता है, और प्रोग्रामिंग भाषा फ़ाइल extension के आधार पर तय होती है, भाषा-विशेष पर निर्भर नहीं
WizardCoder 34b मॉडल
- WizardCoder 34b एक उत्कृष्ट LLM है जिसने GPT-4 के समान HumanEval स्कोर प्राप्त किया है.
- इस मॉडल का उपयोग करने के लिए Mac Studio M2 Ultra जैसे शक्तिशाली कंप्यूटर की आवश्यकता होती है, जबकि Macbook Pro उपयोगकर्ता Q3 वर्ज़न पर विचार कर सकते हैं, और सामान्य PC उपयोगकर्ता WizardCoder-Python-13b मॉडल चुन सकते हैं.
- Raspberry Pi जैसी कम computing power वाली मशीनों के उपयोगकर्ता Phi-2 मॉडल का उपयोग कर सकते हैं.
शुरू करने का तरीका
- फ़ंक्शन की पहली पंक्ति लिखने के बाद,
C-c C-k दबाकर नियंत्रण LLM को सौंपें, फिर वह बाकी फ़ंक्शन implementation तैयार कर देगा.
- LLM को इस तरह समायोजित किया गया है कि फ़ंक्शन पूरा होने पर वह रुक जाए, और यह explanation या ELI5 (आसान भाषा में समझाने वाली) टिप्पणियों से बचता है.
संदर्भ implementation
- LLM डाउनलोड करने के बाद, नीचे दिया गया कोड Emacs buffer में कॉपी करें और
M-x eval-buffer चलाएँ.
- आप अपनी व्यक्तिगत पसंद के अनुसार कोड को समायोजित कर सकते हैं.
Emacs डाउनलोड लिंक
- यदि Emacs इंस्टॉल नहीं है, या आप Windows जैसे ऐसे प्लेटफ़ॉर्म का उपयोग कर रहे हैं जहाँ इसे पाना कठिन है, तो इंस्टॉल किए बिना चलने वाली single-file build के लिए Emacs लिंक दिया गया है.
LLM डाउनलोड लिंक
- कुछ ऐसे LLM के मुफ्त डाउनलोड लिंक दिए गए हैं जो Emacs Copilot के साथ अच्छी तरह काम करने के लिए जाने जाते हैं.
- मॉडल का आकार अपने hardware के अनुसार चुना जा सकता है.
cache फ़ाइलें
- यदि आप मॉडल बदलने का निर्णय लेते हैं, तो local file system में बनी सभी
FILE.cache फ़ाइलों को हटाना होगा.
सावधानियाँ
- macOS पर Apple Silicon का उपयोग करने की स्थिति में Xcode इंस्टॉल होना चाहिए.
- zsh उपयोग करने पर इसे
sh -c ./llamafile के साथ चलाना पड़ सकता है.
- कुछ Linux सिस्टम पर
binfmt_misc registration से संबंधित त्रुटियाँ आ सकती हैं.
समर्थित OS और CPU
- llamafile कई operating systems को न्यूनतम installation requirements के साथ support करता है.
- llamafile कुछ विशिष्ट CPU को support करता है, और इसके लिए SSSE3 या उससे ऊपर के instruction set वाले AMD64 microprocessor, या ARMv8a+ वाले ARM64 microprocessor की आवश्यकता है.
मॉडल के बारे में नोट
- ऊपर दिए गए llamafile उदाहरणों को किसी विशेष मॉडल, license, या dataset के लिए Mozilla के समर्थन या सिफारिश के रूप में नहीं समझा जाना चाहिए.
GN⁺ की राय
- नवोन्मेषी editing अनुभव: Emacs Copilot डेवलपर्स को coding assistance का एक नया स्तर देता है, जिससे efficiency और productivity में बड़ा सुधार आने की संभावना है.
- accessibility और customization: उपयोगकर्ता अपनी ज़रूरत और पसंद के अनुसार LLM चुन सकते हैं और Emacs environment को समायोजित कर सकते हैं, जिससे personalized development environment बनाना संभव होता है.
- तकनीकी compatibility: विभिन्न operating systems और CPU के support के कारण, Emacs Copilot का उपयोग व्यापक उपयोगकर्ता समूह कर सकता है, जिससे developer community में inclusiveness और accessibility बढ़ती है.
1 टिप्पणियां
Hacker News की राय
LLM/IDE इंटीग्रेशन की उपयोगिता पर सवाल
self-hosted LLM tool development के लिए आभार
Emacs के साथ LLM इंटीग्रेशन का अनुभव साझा
MacBook Pro M1 Max पर LLM चलाने का अनुभव
video demonstration के is_prime function की आलोचना
NixOS पर न चलने वाले llamafile build के बारे में प्रश्न
अधिक सामान्य LLM इंटीग्रेशन की मांग
Vim उपयोगकर्ता का LLM इंटीग्रेशन custom command साझा
Llamafile upgrade path पर सवाल
LLM इंटीग्रेशन को लेकर रुचि और आज़माने की इच्छा