HN पर प्रस्तुत: Bash में लिखा गया LLM के लिए कमांड-लाइन इंटरफ़ेस Ell
(github.com/simonmysun)ellA कमांड-लाइन इंटरफ़ेस
फीचर्स
- टर्मिनल से LLMs से सवाल पूछें
- pipe-friendly
- टर्मिनल context को LLMs तक भेजकर सवाल पूछें
- टर्मिनल में LLMs के साथ चैट करें
- function calling और templates के ज़रिए अतिरिक्त फीचर्स का समर्थन
आवश्यकताएँ
- bash
- jq (JSON parsing के लिए)
- curl (HTTPS requests भेजने के लिए)
- perl (PCRE के लिए. POSIX bash look-ahead और look-behind regular expressions को support नहीं करता. history mode का उपयोग नहीं करते हैं तो इसकी ज़रूरत नहीं है)
इंस्टॉलेशन
git clone --depth 1 https://github.com/simonmysun/ell.git ~/.ellrc.d
echo 'export PATH="${HOME}/.ellrc.d:${PATH}"' >> ~/.bashrc
या
git clone --depth 1 git@github.com:simonmysun/ell.git ~/.ellrc.d
echo 'export PATH="${HOME}/.ellrc.d:${PATH}"' >> ~/.bashrc
यह कमांड repository को .ellrc.d directory में clone करता है और PATH में जोड़ता है
कॉन्फ़िगरेशन
नीचे Google के gemini-1.5-flash का उपयोग करने वाला एक उदाहरण configuration है:
ELL_API_STYLE=gemini
ELL_LLM_MODEL=gemini-1.5-flash
ELL_TEMPLATE=default-gemini
ELL_API_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ELL_API_URL=https://generativelanguage.googleapis.com/v1beta/models/
OpenAI के gpt-4o-mini का उपयोग करने वाला उदाहरण configuration:
ELL_API_STYLE=openai
ELL_LLM_MODEL=gpt-4o-mini
ELL_TEMPLATE=default-openai
ELL_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ELL_API_URL=https://api.openai.com/v1/chat/completions
उपयोग के उदाहरण
- सवाल पूछना:
ell "What is the capital of France?"
- model चुनना और file input का उपयोग:
ell -m gpt-4o -f user_prompt.txt
- stdin से पढ़ना:
cat somecode.py | ell -f -
- अतिरिक्त prompt तुरंत जोड़ना:
(cat somecode.py; echo "Explain this code") | ell -f -
- टर्मिनल input और output को record करके context के रूप में उपयोग करना:
ell -r
# do random stuff
ell What does the error code mean?
ell How to fix it?
- interactive mode में चलाना:
ell -i
- history mode और interactive mode को साथ में जोड़ना:
ell -r -i
- template चुनकर history mode और interactive mode शुरू करना:
ell -r -i -t ctf-gemini
या
ell -r -i -t ctf-openai
templates लिखना
templates के उपयोग के बारे में अधिक जानकारी के लिए Templates देखें
styling
styling के बारे में अधिक जानकारी के लिए Styling देखें
plugins
plugins से मतलब उन scripts से है जिन्हें ell से call किया जा सकता है. LLM provider के plugins इसमें शामिल नहीं हैं. अधिक जानकारी के लिए Templates देखें
ध्यान में रखने योग्य जोखिम
Risks Consideration देखें
FAQ
- Q: इसे "ell" क्यों कहा गया है?
- A: "ell" shell और LLM का संयोजन है. यह shell script के ज़रिए LLM backend का उपयोग करता है. "shellm" पर भी विचार किया गया था, लेकिन वह भ्रमित कर सकता था, इसलिए इसे "ell" कर दिया गया. यह छोटा है और याद रखना आसान है
- Q: इसे Bash में क्यों लिखा गया है?
- A: Bash Unix-like systems में सबसे सामान्य shell है, और अधिक जटिल language का उपयोग करने की ज़रूरत नहीं है
- Q: ell और दूसरे समान projects में क्या अंतर है?
- A: ell लगभग pure Bash में लिखा गया है, इसलिए यह बहुत हल्का है और इंस्टॉल करना आसान है. इसे extend और modify करना बहुत आसान है. यह pipe-friendly है
समान प्रोजेक्ट्स
- chatgpt-cli: Go में लिखा गया ChatGPT CLI
- gpt-cli: Python में लिखा गया विभिन्न LLM backends के लिए CLI
- gptcli: TypeScript में लिखा गया OpenAI LLM के लिए CLI
- x-cmd: POSIX bash और awk में लिखा गया विभिन्न tools का संग्रह
- gpt-bash-cli: OpenAI API के लिए CLI, requests और responses को database में store करता है
- mods: Go में लिखा गया LLMs से बातचीत करने का CLI tool
- nicechat: Node.js में लिखा गया OpenAI models के लिए CLI chat interface
- autocomplete-sh: bash में लिखा गया LLM के लिए CLI
- plandex: Go में लिखा गया AI-integrated workflow development के लिए CLI tool
- llm: Python में लिखा गया LLM के गहन उपयोग के लिए CLI tool
- aichat: Rust में लिखा गया विभिन्न LLM providers से बातचीत करने का CLI tool
योगदान
योगदान हमेशा स्वागतयोग्य हैं! अगर आपके पास ideas, suggestions या bug reports हैं, तो issue खोलें या pull request submit करें
लाइसेंस
यह project MIT लाइसेंस के तहत लाइसेंस प्राप्त है. अधिक जानकारी के लिए LICENSE file देखें
GN⁺ का सारांश
- ell, Bash में लिखा गया LLM command-line interface है, जो हल्का है और इंस्टॉल करना आसान है
- यह विभिन्न LLM models के साथ integration को support करता है और pipe-friendly है
- history mode और interactive mode को जोड़कर टर्मिनल context का उपयोग किया जा सकता है
- समान projects में chatgpt-cli, gpt-cli, gptcli आदि शामिल हैं, जो अलग-अलग भाषाओं में लिखे गए हैं
अभी कोई टिप्पणी नहीं है.