# Memory ve bilgi

> PentAGI'nin bir flow boyunca komutları, sonuçları ve ilişkileri nasıl hatırladığı.

PentAGI, [agents](https://pentagi.com/tr/docs/glossary/#agent)'ın her seferinde sıfırdan başlamak yerine önceki çalışmalar üzerine inşa edebilmeleri için üç tür [memory](https://pentagi.com/tr/docs/glossary/#memory) kullanır.

| Memory            | Nerede bulunur                       | Ne içerir                                                                                      |
| ----------------- | ------------------------------------ | ---------------------------------------------------------------------------------------------- |
| Uzun vadeli       | pgvector ile PostgreSQL              | Sonuçların, başarılı yaklaşımların ve [tool](https://pentagi.com/tr/docs/glossary/#tool) bilgilerinin embedding'leri |
| Çalışma memory'si | [Flow](https://pentagi.com/tr/docs/glossary/#flow) bağlamı | Mevcut hedef, [task](https://pentagi.com/tr/docs/glossary/#task) durumu ve kullanılabilir kaynaklar                  |
| Epizodik memory   | Komut geçmişi                        | Geçmiş eylemler, sonuçları ve işe yarayan kalıplar                                             |

Her komut ve çıktısı PostgreSQL'de saklanır. Agents işlem yapmadan önce benzer durumlar için [vector store](https://pentagi.com/tr/docs/glossary/#vector-store)'u sorgular ve [findings](https://pentagi.com/tr/docs/glossary/#finding)'ini geri yazar — bu arama işleminin büyük kısmını `memorist` ve `searcher` agents gerçekleştirir.

## [Knowledge graph (isteğe bağlı)](https://pentagi.com/tr/docs/concepts/memory/#knowledge-graph-optional)

[Knowledge graph](https://pentagi.com/tr/docs/glossary/#knowledge-graph) yığını etkinleştirildiğinde, PentAGI agent yanıtlarını ve tool yürütmelerini Neo4j üzerindeki [Graphiti](https://github.com/getzep/graphiti) adresine gönderir. `.env` şablonunun ingest kurallarıyla, terminal ve dosya işlemlerinden varlıkları ve ilişkileri — ana makineler, servisler, zafiyetler, teknikler ve bunların zaman içindeki ilişkileri — çıkarır ve diğer olayları çıkarma işlemi olmadan aranabilir tutar.

```bash
GRAPHITI_ENABLED=true
GRAPHITI_URL=http://graphiti:8000
GRAPHITI_CONFIG_DIR=llm_configs
GRAPHITI_LLM_CLIENT_TYPE=openai
NEO4J_URI=bolt://neo4j:7687
NEO4J_PASSWORD=replace_with_a_strong_password
```

```bash
git clone --depth 1 https://github.com/vxcontrol/pentagi.git pentagi-src
cp -r pentagi-src/examples/graphiti ./graphiti
cp -r pentagi-src/examples/neo4j ./neo4j
rm -rf pentagi-src
curl -O https://raw.githubusercontent.com/vxcontrol/pentagi/main/docker-compose-graphiti.yml
docker compose -f docker-compose.yml -f docker-compose-graphiti.yml up -d
```

Graphiti kendi modelini çalıştırır: `GRAPHITI_LLM_CLIENT_TYPE` ön ayarı seçer — `openai`, `gemini`, `litellm` veya `custom` — modelleri `./graphiti/<preset>.yaml` içinde tanımlanır ve ilgili anahtar `.env` kaynağından gelir (`openai` için `OPEN_AI_KEY`). 2.2.0 öncesine ait bir `.env` bu satırları ve `GRAPHITI_INGEST_*` kurallarını içermez; bunları mevcut `.env.example` dosyasından kopyalayın.

> [!WARNING]
> Graphiti beta aşamasında bir entegrasyondur ve varsayılan olarak kapalıdır. Hatırlama kapsamı aktif flow'la sınırlıdır; birlikte gelen Graphiti API'sinde kimlik doğrulama bulunmaz, bu nedenle hem API'yi hem de Neo4j'i özel bir ağda tutun. Çıkarma ve embedding işlemleri, flow'un kendi modelinden ayrı olarak faturalandırılır.

PentAGI, Graphiti'yi yalnızca başlangıçta, birkaç saniye boyunca kontrol eder. Eğer Graphiti bu süre içinde hazır değilse, PentAGI bir uyarı günlüğe kaydeder ve sonraki yeniden başlatmasına kadar knowledge graph olmadan çalışır; bu nedenle Graphiti sağlıklı olduğunu bildirdiğinde, `docker restart pentagi` komutunu çalıştırın.