Čo je to dlhodobá pamäť agenta a ako ju budovať (zhrnutie, vektorová pamäť)?
sobes.tech AI
Odpoveď od AI
Dlhodobá pamäť agenta je mechanizmus na ukladanie a využívanie informácií, ktoré agent zhromaždil počas dlhšieho obdobia, s cieľom zlepšiť kvalitu interakcie a rozhodovania.
Zhrnutie (summarization) — proces kompresie veľkého objemu informácií do krátkeho, ale obsahovo bohatého prehľadu. To pomáha agentovi rýchlo si zapamätať kľúčové body bez nutnosti ukladať všetky detaily.
Vektorová pamäť (vector memory) — ukladanie informácií vo forme vektorov (napríklad embeddings), čo umožňuje efektívne vyhľadávanie a porovnávanie podobných dát pomocou metód najbližších susedov.
Ako budovať dlhodobú pamäť:
- Zber dát: agent ukladá dôležité udalosti, dialógy, fakty.
- Spracovanie a kompresia: používajú sa algoritmy zhrnutia na zníženie objemu dát.
- Vektorové spracovanie: premena textov alebo iných dát na vektory pomocou embeddingových modelov (napríklad BERT, OpenAI embeddings).
- Ukladanie: využívanie špecializovaných databáz (napríklad Pinecone, FAISS) na efektívne vyhľadávanie podľa vektorových reprezentácií.
- Dohľadávanie: ak je potrebné, agent hľadá relevantné záznamy v pamäti pomocou vyhľadávania podobnosti a používa ich na odpovede alebo rozhodnutia.
Príklad v Pythone s knižnicou pre embeddings a FAISS:
from sentence_transformers import SentenceTransformer
import faiss
# Inicializácia modelu embeddings
model = SentenceTransformer('all-MiniLM-L6-v2')
# Príkladové dáta
texts = ["Dnes je slnečno", "Zajtra bude pršať", "Počasie je dobré"]
# Vektorovanie
vectors = model.encode(texts)
# Vytvorenie FAISS indexu
index = faiss.IndexFlatL2(vectors.shape[1])
index.add(vectors)
# Vyhľadávanie v pamäti
query = "Aké bude počasie zajtra?"
query_vec = model.encode([query])
D, I = index.search(query_vec, k=1)
print(f"Podobný text: {texts[I[0][0]]}")
Týmto spôsobom kombinuje dlhodobá pamäť agenta zhrnutie pre kompaktnosť a vektorovú pamäť pre rýchle vyhľadávanie relevantných informácií.