Memory Search
memory_search, bellek dosyalarınızdaki ilgili notları, ifade biçimi özgün metinden farklı olsa bile bulur. Bunu, belleği küçük
parçalara indeksleyip bunları embedding’ler, anahtar sözcükler veya her ikisini birden kullanarak arayarak yapar.
Hızlı başlangıç
Bir OpenAI, Gemini, Voyage veya Mistral API anahtarınız yapılandırılmışsa, bellek
araması otomatik olarak çalışır. Bir sağlayıcıyı açıkça ayarlamak için:
{
agents: {
defaults: {
memorySearch: {
provider: "openai", // veya "gemini", "local", "ollama" vb.
},
},
},
}
API anahtarı olmadan yerel embedding’ler için provider: "local" kullanın (node-llama-cpp gerektirir).
Desteklenen sağlayıcılar
| Sağlayıcı | Kimlik | API anahtarı gerekir | Notlar |
|---|
| OpenAI | openai | Evet | Otomatik algılanır, hızlı |
| Gemini | gemini | Evet | Görüntü/ses indekslemeyi destekler |
| Voyage | voyage | Evet | Otomatik algılanır |
| Mistral | mistral | Evet | Otomatik algılanır |
| Ollama | ollama | Hayır | Yerel, açıkça ayarlanmalıdır |
| Local | local | Hayır | GGUF model, ~0.6 GB indirme |
Arama nasıl çalışır
OpenClaw iki geri getirme yolunu paralel olarak çalıştırır ve sonuçları birleştirir:
- Vektör araması, benzer anlam taşıyan notları bulur (“gateway host”,
“OpenClaw çalıştıran makine” ile eşleşir).
- BM25 anahtar sözcük araması, tam eşleşmeleri bulur (kimlikler, hata dizgeleri, yapılandırma
anahtarları).
Yalnızca bir yol kullanılabiliyorsa (embedding yoksa veya FTS yoksa), diğeri tek başına çalışır.
Arama kalitesini iyileştirme
İki isteğe bağlı özellik, büyük bir not geçmişiniz olduğunda yardımcı olur:
Zamansal azalma
Eski notlar sıralama ağırlığını kademeli olarak kaybeder, böylece son bilgiler önce görünür.
Varsayılan 30 günlük yarı ömürle, geçen aydan bir not özgün ağırlığının %50’siyle puanlanır.
MEMORY.md gibi kalıcı dosyalarda azalma uygulanmaz.
Ajanınızın aylara yayılan günlük notları varsa ve eski bilgiler
yakın tarihli bağlamın önüne geçmeye devam ediyorsa zamansal azalmayı etkinleştirin.
MMR (çeşitlilik)
Yinelenen sonuçları azaltır. Beş notun hepsi aynı yönlendirici yapılandırmasından söz ediyorsa, MMR
en üst sonuçların tekrar etmek yerine farklı konuları kapsamasını sağlar.
memory_search, farklı günlük notlardan neredeyse aynı parçaları
geri döndürmeye devam ediyorsa MMR’yi etkinleştirin.
Her ikisini de etkinleştirme
{
agents: {
defaults: {
memorySearch: {
query: {
hybrid: {
mmr: { enabled: true },
temporalDecay: { enabled: true },
},
},
},
},
},
}
Çok modlu bellek
Gemini Embedding 2 ile, Markdown’un yanında görüntüleri ve ses dosyalarını da
indeksleyebilirsiniz. Arama sorguları metin olarak kalır, ancak görsel ve ses
içeriğiyle eşleşir. Kurulum için Bellek yapılandırma başvurusu sayfasına bakın.
Oturum bellek araması
İsteğe bağlı olarak oturum transkriptlerini indeksleyebilirsiniz; böylece memory_search
önceki konuşmaları geri çağırabilir. Bu, memorySearch.experimental.sessionMemory
aracılığıyla katılıma bağlıdır. Ayrıntılar için
yapılandırma başvurusu sayfasına bakın.
Sorun giderme
Sonuç yok mu? Dizini kontrol etmek için openclaw memory status çalıştırın. Boşsa
openclaw memory index --force çalıştırın.
Yalnızca anahtar sözcük eşleşmeleri mi var? Embedding sağlayıcınız yapılandırılmamış olabilir. Şunu denetleyin:
openclaw memory status --deep.
CJK metni bulunamıyor mu? FTS dizinini
openclaw memory index --force ile yeniden oluşturun.
Daha fazla bilgi