1 puan yazan GN⁺ 2024-08-04 | Henüz yorum yok. | WhatsApp'ta paylaş

ellA komut satırı arayüzü

Özellikler

  • Terminalden LLM'lere soru sorma
  • Pipe dostu
  • Terminal bağlamını LLM'lere iletip soru sorma
  • Terminalde LLM'lerle sohbet etme
  • Fonksiyon çağrıları ve şablonlar üzerinden ek özellik desteği

Gereksinimler

  • bash
  • jq (JSON ayrıştırma için)
  • curl (HTTPS istekleri göndermek için)
  • perl (PCRE için. POSIX bash, look-ahead ve look-behind düzenli ifadelerini desteklemez. Kayıt modu kullanılmıyorsa gerekmez)

Kurulum

git clone --depth 1 https://github.com/simonmysun/ell.git ~/.ellrc.d
echo 'export PATH="${HOME}/.ellrc.d:${PATH}"' >> ~/.bashrc

veya

git clone --depth 1 git@github.com:simonmysun/ell.git ~/.ellrc.d
echo 'export PATH="${HOME}/.ellrc.d:${PATH}"' >> ~/.bashrc

Bu komutlar depoyu .ellrc.d dizinine klonlar ve PATH'e ekler

Yapılandırma

Aşağıda Google'ın gemini-1.5-flash modelini kullanan örnek bir yapılandırma yer alıyor:

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'ın gpt-4o-mini modelini kullanan örnek yapılandırma:

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

Kullanım örnekleri

  • Soru sorma:
ell "What is the capital of France?"
  • Model belirtip dosya girdisi kullanma:
ell -m gpt-4o -f user_prompt.txt
  • stdin'den okuma:
cat somecode.py | ell -f -
  • Ek prompt'u anında ekleme:
(cat somecode.py; echo "Explain this code") | ell -f -
  • Terminal giriş ve çıkışını kaydedip bağlam olarak kullanma:
ell -r
# do random stuff
ell What does the error code mean?
ell How to fix it?
  • Etkileşimli modda çalıştırma:
ell -i
  • Kayıt modu ile etkileşimli modu birleştirme:
ell -r -i
  • Şablon belirtip kayıt modu ve etkileşimli modu başlatma:
ell -r -i -t ctf-gemini
veya
ell -r -i -t ctf-openai

Şablon yazımı

Şablon kullanımına dair ayrıntılar için Templates bölümüne bakın

Stil verme

Stil vermeye dair ayrıntılar için Styling bölümüne bakın

Eklentiler

Eklentiler, ell içinden çağrılabilen betiklerdir. LLM sağlayıcısının eklentileri buna dahil değildir. Ayrıntılar için Templates bölümüne bakın

Dikkate alınması gereken riskler

Risks Consideration bölümüne bakın

SSS

  • S: Neden "ell" deniyor?
    • C: "ell", shell ve LLM'in birleşimidir. Shell betiğiyle LLM arka ucunu kullanır. "shellm" de düşünülmüştü ama yanıltıcı olabileceği için "ell" olarak değiştirildi. Kısa ve akılda kalıcıdır
  • S: Neden Bash ile yazıldı?
    • C: Bash, Unix benzeri sistemlerde en yaygın kabuktur ve daha karmaşık bir dil kullanmaya gerek yoktur
  • S: ell ile diğer benzer projeler arasındaki fark nedir?
    • C: ell neredeyse tamamen saf Bash ile yazıldığı için çok hafiftir ve kurulumu kolaydır. Genişletmesi ve değiştirmesi çok kolaydır. Pipe dostudur

Benzer projeler

  • chatgpt-cli: Go ile yazılmış ChatGPT CLI
  • gpt-cli: Python ile yazılmış, çeşitli LLM arka uçları için CLI
  • gptcli: TypeScript ile yazılmış OpenAI LLM için CLI
  • x-cmd: POSIX bash ve awk ile yazılmış çeşitli araçlar koleksiyonu
  • gpt-bash-cli: OpenAI API için CLI, istek ve yanıtları veritabanına kaydeder
  • mods: Go ile yazılmış, LLM'lerle konuşmaya yarayan CLI aracı
  • nicechat: Node.js ile yazılmış OpenAI modelleri için CLI sohbet arayüzü
  • autocomplete-sh: bash ile yazılmış LLM CLI
  • plandex: Go ile yazılmış, yapay zeka entegre iş akışı geliştirme için CLI aracı
  • llm: Python ile yazılmış, LLM'leri derinlemesine kullanmaya yönelik CLI aracı
  • aichat: Rust ile yazılmış, çeşitli LLM sağlayıcılarıyla konuşan CLI aracı

Katkı

Katkılar her zaman memnuniyetle karşılanır! Fikir, öneri veya hata bildiriminiz varsa issue açın ya da pull request gönderin

Lisans

Bu proje MIT lisansı altında lisanslanmıştır. Ayrıntılar için LICENSE dosyasına bakın

GN⁺ özeti

  • ell, Bash ile yazılmış bir LLM komut satırı arayüzüdür; hafiftir ve kurulumu kolaydır
  • Çeşitli LLM modelleriyle entegrasyonu destekler ve pipe dostudur
  • Kayıt modu ile etkileşimli modu birleştirerek terminal bağlamından yararlanabilir
  • Benzer projeler arasında chatgpt-cli, gpt-cli ve gptcli bulunur; bunların her biri farklı dillerle yazılmıştır

Henüz yorum yok.

Henüz yorum yok.