Ollama modelleri ile terminal uzerinden etkilesim kurmak icin gelistirilmis, zengin ozelliklere sahip bir komut satiri arayuzu (CLI).
Ollama CLI, yerel olarak çalışan büyük dil modelleriyle sohbet etmeyi kolaylaştıran, kullanıcı dostu ve güçlü bir araçtır. rich ve prompt_toolkit gibi kütüphaneler sayesinde modern ve interaktif bir terminal deneyimi sunar. Amacı, geliştiricilerin ve meraklıların Ollama'nın gücünü verimli bir şekilde komut satırından kullanabilmelerini sağlamaktır.
# 1. Ollama kurulu ve çalışıyor olmalı (https://ollama.ai)
ollama pull llama3.2
# 2. CLI'ı kur
pip install ollama-cli
# veya
pipx install ollama-cli
# 3. Başlat ve sohbet et!
ollama-chat- Ollama kurulu ve çalışıyor olmalı → ollama.ai
- Python 3.10+ gerekli
- En az bir model indirilmiş olmalı (
ollama pull <model>) - Uzak sunucu için:
OLLAMA_HOST=http://sunucu:11434ayarlanabilir
╔══════════════════════════════════════════════════════════════╗
║ ◉ OLLAMA CLI PRO v5.1 ║
║ ⚡ http://localhost:11434 🎨 dark ║
╚══════════════════════════════════════════════════════════════╝
Model: llama3.2 (3.2B) [vision] [context: 128K]
✓ Sistem promptu yuklendi
👁️ Vision model - /img ile resim gonder
↑↓ gecmis • Tab tamamla • /help yardim • /q cikis
─────────────────────────────────────────────────────────────────
◉ SEN: Python ile basit bir web scraper yaz
◉ LLAMA3.2
─────────────────────────────────────────────────────────────────
İşte basit bir web scraper örneği:
```python
import requests
from bs4 import BeautifulSoup
def scrape(url):
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
return soup.title.string
print(scrape('https://example.com'))
```
Bu kod:
1. `requests` ile sayfayı indirir
2. `BeautifulSoup` ile parse eder
3. Sayfa başlığını döndürür
⏱ 2.3s ◈ 156 token ⚡ 67.8 t/s
| Özellik | Komut | Açıklama |
|---|---|---|
| 🎨 Temalar | /theme ocean |
4 farklı renk teması |
| 📋 Favoriler | /fav add kod "Kod yaz:" |
Hızlı prompt kısayolları |
| 🖼️ Görsel | /img foto.png |
Vision modellere resim gönder |
| 💾 Kaydet | /save sohbet.json |
Sohbeti dışa aktar |
| 📊 Benchmark | /bench all |
Model performans testi |
| 🔒 Güvenlik | /security mask on |
Hassas veri maskeleme |
| Senaryo | Nasıl? | Açıklama |
|---|---|---|
| 🔄 Model Karşılaştırma | /compare |
Aynı soruyu birden fazla modele sor, yanıtları karşılaştır |
| 🖼️ Görsel Soru-Cevap | /img foto.png Bu nedir? |
Vision modelle resim analizi yap |
| 📊 Performans Testi | /bench all |
Tüm modellerin hızını ölç ve karşılaştır |
| 💾 Sohbet Arşivi | /save → /sessions |
Sohbetleri kaydet, etiketle, sonra devam et |
| 📝 Hızlı Prompt | /prompts ozetle |
Hazır prompt kütüphanesinden kullan |
/help → Yardım /model → Model değiştir
/save → Kaydet /load → Yükle
/img → Resim gönder /paste → Panodan resim
/compare → Karşılaştır /bench → Benchmark
/export → Dışa aktar /sessions → Oturumlar
💡 Tüm komutlar için:
/helpveya docs/cheatsheet.md
- İnteraktif Sohbet: Akıcı ve gerçek zamanlı (streaming) bir sohbet arayüzü.
- Model Yönetimi: Sistemde yüklü Ollama modellerini listeleme, seçme, indirme (
/pull) ve silme (/delete). - Gelişmiş Komutlar:
/help,/model,/save,/load,/retry,/edit,/copygibi 30'dan fazla komut. - Görsel Desteği (Vision): Vision modelleri ile yerel dosyalardan (
/img) veya panodan (/paste) resim göndererek sohbet etme. - Özelleştirme: Temalar, sistem prompt'ları ve personelar.
- Favoriler ve Şablonlar: Sık kullanılan prompt'ları (
/fav) ve değişkenli şablonları (/tpl) kaydetme ve kullanma. - Sohbet Yönetimi: Sohbet geçmişini kaydetme ve
html,md,json,txtformatlarında dışa aktarma. - Oturum Yönetimi: Kaydedilen sohbetleri listeleme, etiketleme, silme; otomatik kayıt ve saklama politikaları.
- Context Yönetimi: Token bütçesi, otomatik özetleme ve manuel
/summarize. - Profil Yönetimi: Modele özel sıcaklık/prompt profilleri ve
/profileile hızlı geçiş. - Güvenlik: Maskeleme ve opsiyonel şifreli kayıt/export.
- Markdown Görünümü: Yanıtları Markdown olarak render eder;
**kalın**vb. düzgün görünür. - Model Yetenekleri: Context limiti, vision/tools/embedding rozetleri ve uyumsuzluk uyarıları.
- Benchmark:
/benchile model performansını ölç ve sonuçları kaydet. - Diğer Özellikler: Çoklu satır girişi, token takibi, model karşılaştırma (
/compare), panoya kopyalama.
- Dil: Python
- Temel Kütüphaneler:
requests,rich,prompt_toolkit,pydantic,platformdirs,cryptography
-
Repository'yi klonlayın:
git clone <repository-url> cd ollama-cli
-
Bağımlılıkları yükleyin:
python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txtAlternatif olarak:
pip install -e . -
Aracı başlatın:
./ollama-chat
İsteğe bağlı olarak, bu betiği PATH'inize ekleyerek (
sudo cp ollama-chat /usr/local/bin/) sistem genelindeollama-chatkomutuyla çalıştırabilirsiniz.
- Config yolu:
~/.config/ollama-cli-pro/config.json - Favoriler/şablonlar:
~/.local/share/ollama-cli-pro/favorites.json - Geçmiş:
~/.local/share/ollama-cli-pro/history.txt - Log:
~/.local/share/ollama-cli-pro/ollama-cli.log - Oturumlar:
~/.local/share/ollama-cli-pro/sessions/ - Model cache:
~/.local/share/ollama-cli-pro/model_cache.json - Benchmark sonuçları:
~/.local/share/ollama-cli-pro/benchmarks.json
İlk çalıştırmada mevcut config.json, prompts.json, favorites.json dosyaları yeni konuma taşınır.
OLLAMA_HOST: Ollama API adresini geçersiz kılar.OLLAMA_CLI_HOME: Tüm config/data dosyaları için kök dizin.OLLAMA_CLI_KEY: Şifreli kayıt/export için anahtar.
auto_save: Yanıt sonrası otomatik kayıt.session_retention_count: Maksimum oturum sayısı.session_retention_days: Maksimum saklama süresi (gün).
context_token_budget: Tahmini token bütçesi.context_keep_last: Özetten sonra korunacak mesaj sayısı.context_autosummarize: Otomatik özetleme.summary_model: Özetleme için model (opsiyonel).
{
"profiles": {
"fast": {
"model": "ministral",
"temperature": 0.2,
"system_prompt": "Kisa ve net yanit ver.",
"auto_apply": false
}
},
"model_profiles": {
"gpt-oss": {
"temperature": 0.7,
"system_prompt": "Daha detayli acikla."
}
}
}mask_sensitive: Kayıt/export öncesi hassas verileri maskele.encryption_enabled: Oturum kayıtlarını şifrele.encrypt_exports: Export dosyalarını şifrele.
Şifreleme için /security keygen veya OLLAMA_CLI_KEY kullanabilirsiniz.
render_markdown: Yanıtları Markdown olarak render et (varsayılan:true).
İsterseniz /markdown on|off ile anında açıp kapatabilirsiniz.
benchmark_prompt: Benchmark promptu.benchmark_runs: Tek model için tekrar sayısı.benchmark_timeout: Timeout (saniye).benchmark_temperature: Benchmark sıcaklığı.
- Başlangıçta:
./ollama-chat --diag - Çalışırken:
/diag onveya/diag off
Aracı başlattıktan sonra mevcut modeller listelenir ve bir model seçmeniz istenir. Ardından doğrudan sohbete başlayabilirsiniz.
- Yardım menüsünü görmek için
/helpyazın. - Modeli değiştirmek için
/modelyazın. - Oturumları listelemek için
/sessionsyazın. - Profil seçmek için
/profile <isim>yazın. - Sohbeti sonlandırmak için
/quityazın.
Detaylı komut listesi için docs/cheatsheet.md dosyasına bakabilirsiniz.
.
├── ollama_cli/ # Paket kodu
├── ollama_chat.py # Legacy entrypoint
├── ollama-chat # Bash launcher
├── config.json # Legacy config (ilk calistirmada tasinir)
├── prompts.json # Legacy promptlar (ilk calistirmada tasinir)
├── favorites.json # Legacy favoriler (ilk calistirmada tasinir)
├── pyproject.toml
├── requirements.txt
└── docs/
└── cheatsheet.md