1 poin oleh GN⁺ 2024-08-04 | Belum ada komentar. | Bagikan ke WhatsApp

Antarmuka baris perintah ell

Fitur

  • Bertanya kepada LLMs dari terminal
  • Ramah terhadap pipe
  • Meneruskan konteks terminal ke LLMs lalu mengajukan pertanyaan
  • Mengobrol dengan LLMs di terminal
  • Mendukung fitur tambahan melalui pemanggilan fungsi dan template

Persyaratan

  • bash
  • jq (untuk parsing JSON)
  • curl (untuk mengirim permintaan HTTPS)
  • perl (untuk PCRE. bash POSIX tidak mendukung regex look-ahead dan look-behind. Tidak diperlukan jika tidak menggunakan mode rekam)

Instalasi

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

atau

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

Perintah ini meng-clone repositori ke direktori .ellrc.d dan menambahkannya ke PATH

Konfigurasi

Berikut contoh konfigurasi yang menggunakan gemini-1.5-flash dari Google:

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/

Contoh konfigurasi yang menggunakan gpt-4o-mini dari OpenAI:

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

Contoh penggunaan

  • Mengajukan pertanyaan:
ell "What is the capital of France?"
  • Menentukan model dan menggunakan input file:
ell -m gpt-4o -f user_prompt.txt
  • Membaca dari stdin:
cat somecode.py | ell -f -
  • Menambahkan prompt tambahan secara langsung:
(cat somecode.py; echo "Explain this code") | ell -f -
  • Merekam input dan output terminal lalu menggunakannya sebagai konteks:
ell -r
# do random stuff
ell What does the error code mean?
ell How to fix it?
  • Menjalankan dalam mode interaktif:
ell -i
  • Menggabungkan mode rekam dan mode interaktif:
ell -r -i
  • Menentukan template serta memulai mode rekam dan mode interaktif:
ell -r -i -t ctf-gemini
atau
ell -r -i -t ctf-openai

Menulis template

Untuk detail lebih lanjut tentang penggunaan template, lihat Templates

Styling

Untuk detail lebih lanjut tentang styling, lihat Styling

Plugin

Plugin berarti skrip yang dapat dipanggil dari ell. Plugin dari penyedia LLM tidak disertakan. Untuk detail lebih lanjut, lihat Templates

Risiko yang perlu dipertimbangkan

Lihat Risks Consideration

FAQ

  • Q: Mengapa disebut "ell"?
    • A: "ell" adalah gabungan dari shell dan LLM. Ini menggunakan backend LLM melalui skrip shell. Nama "shellm" juga sempat dipertimbangkan, tetapi dianggap berpotensi menimbulkan salah paham sehingga diubah menjadi "ell". Singkat dan mudah diingat
  • Q: Mengapa ditulis dengan Bash?
    • A: Bash adalah shell yang paling umum di sistem mirip Unix, dan tidak perlu menggunakan bahasa yang lebih kompleks
  • Q: Apa perbedaan ell dengan proyek serupa lainnya?
    • A: ell ditulis hampir sepenuhnya dalam Bash sehingga sangat ringan dan mudah dipasang. Juga sangat mudah diperluas dan dimodifikasi. Ramah terhadap pipe

Proyek serupa

  • chatgpt-cli: CLI ChatGPT yang ditulis dalam Go
  • gpt-cli: CLI untuk berbagai backend LLM yang ditulis dalam Python
  • gptcli: CLI untuk OpenAI LLM yang ditulis dalam TypeScript
  • x-cmd: Kumpulan berbagai alat yang ditulis dalam POSIX bash dan awk
  • gpt-bash-cli: CLI untuk OpenAI API, menyimpan permintaan dan respons ke database
  • mods: Alat CLI untuk mengobrol dengan LLM yang ditulis dalam Go
  • nicechat: Antarmuka chat CLI untuk model OpenAI yang ditulis dalam Node.js
  • autocomplete-sh: CLI untuk LLM yang ditulis dalam bash
  • plandex: Alat CLI untuk pengembangan workflow terintegrasi AI yang ditulis dalam Go
  • llm: Alat CLI untuk manipulasi mendalam LLM yang ditulis dalam Python
  • aichat: Alat CLI untuk mengobrol dengan berbagai penyedia LLM yang ditulis dalam Rust

Kontribusi

Kontribusi selalu disambut! Jika Anda punya ide, saran, atau laporan bug, buka issue atau kirim pull request

Lisensi

Proyek ini dilisensikan di bawah lisensi MIT. Untuk detail lebih lanjut, lihat file LICENSE

Ringkasan GN⁺

  • ell adalah antarmuka baris perintah LLM yang ditulis dengan Bash, ringan dan mudah dipasang
  • Mendukung integrasi dengan berbagai model LLM dan ramah terhadap pipe
  • Dapat memanfaatkan konteks terminal dengan menggabungkan mode rekam dan mode interaktif
  • Proyek serupa mencakup chatgpt-cli, gpt-cli, gptcli, dan lainnya yang ditulis dalam berbagai bahasa

Belum ada komentar.

Belum ada komentar.