Metadata-Version: 2.4
Name: melek-memory
Version: 1.0.0
Summary: Melek AI asistanı için 20x bilişsel hipokampüs ve bilgi grafiği katmanı
Author-email: Melek Core Team <info@melekcore.org>
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Intended Audience :: Developers
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

# Melek Memory 🧠

Melek yapay zeka asistanı için geliştirilmiş **20x bilişsel hipokampüs ve bilgi grafiği (Knowledge Graph) katmanı**. İnsan beyninin hipokampüs ve neokorteks döngüsünü taklit eden bu modül, harici hiçbir vektör veritabanına ihtiyaç duymadan çalışır.

SQLite FTS5 (Full-Text Search) ve in-memory RAM katmanını bir araya getirerek yüksek performanslı RAG bağlamı üretir.

---

## Özellikler

1. **Çift Katmanlı Bellek:** RAM (Working Memory, LRU) + Disk (Episodic Memory, SQLite + FTS5).
2. **Ebbinghaus Unutma Eğrisi:** Zaman içinde anıların çarpımsal olarak çürümesi/eskimesi (\(R(t) = e^{-t/S}\)).
3. **Çelişki Avcısı (Self-Correcting Truth Engine):** Özne-Yüklem-Nesne (SPO) bazında tutarsız bilgileri tespit etme ve `DEPRECATED`/`CHANGED_MIND` olarak etiketleme.
4. **N-Boyutlu Konsept Ağı:** Metinden konsept çıkarımı ve BFS ile sorgu genişletme (Co-occurrence Graph).
5. **Holografik Context Builder:** Çalışma belleği, epizodik bellek ve ilişkili konseptleri tek bir JSON payload'da toplama.
6. **Dream Mode:** Asenkron arka plan thread'i ile periyodik budama, veri optimizasyonu (`VACUUM`, `ANALYZE`).
7. **Sıfır Bağımlılık (Zero Dependencies):** Sadece Python standart kütüphanesini kullanır.

---

## Kurulum

### PyPI üzerinden (Yayınlandığında):
```bash
pip install melek-memory
```

### Yerel olarak (Geliştirici modu):
```bash
pip install -e .
```

---

## Hızlı Başlangıç

### 1. Bellek Yöneticisini Başlatma ve Oturum Açma
```python
from melek_memory import MelekCognitiveMemory

# Bellek yöneticisini başlatın
memory = MelekCognitiveMemory(
    db_path="melek_beyin.db",
    auto_dream=True,          # Arka planda dream mode çalışsın
    working_memory_limit=32
)

# Yeni oturum başlat
memory.start_session(mood="focused")
```

### 2. Bilgi Kaydetme (remember)
```python
# Normal bir anı kaydetme
memory.remember(
    content="Python programlama dili yapay zeka projeleri için çok popülerdir.",
    category="knowledge",
    tags=["python", "yapay_zeka"],
    importance=0.8
)

# Bilgi Üçlüsü (SPO) ile kaydetme (Çelişki Avcısını tetikler)
memory.remember(
    content="Kullanıcı kahveyi çaydan daha çok sevdiğini söyledi.",
    category="user_preference",
    tags=["yemek", "kahve"],
    importance=0.9,
    sp_facts=[("kullanıcı", "sever", "kahve")]
)
```

### 3. Bilgi Arama (recall)
```python
# Ebbinghaus çürümesi aktif şekilde anı arama
results = memory.recall(
    query="yapay zeka python",
    limit=3,
    apply_decay=True
)

for r in results:
    print(f"Anı: {r['content']} | Skor: {r['final_score']}")
```

### 4. Holografik Bağlam Üretme (LLM Entegrasyonu)
LLM'e (Gemini, GPT vb.) girdi vermeden önce bağlam hazırlamak için `build_context` çağırın:
```python
payload = memory.build_context(
    query="Yapay zeka hakkında ne biliyorsun?",
    max_memories=3,
    max_facts=10
)

# Elde edilen context'i JSON olarak LLM'e gönderebilirsiniz:
llm_context_json = payload.to_json()
```

### 5. Oturumu Kapatma
```python
memory.end_session()
memory.close()
```

---

## Testleri Çalıştırma

Projeyi yerel olarak test etmek için aşağıdaki komutu kullanabilirsiniz:
```bash
python tests/test_cognitive_memory.py
```

## Lisans
MIT License.
