bi_agent / memory /retriever.py
Prerna43's picture
agent
38830c1
Raw
History Blame Contribute Delete
722 Bytes
from __future__ import annotations
from memory.vector_store import InMemoryVectorStore
class MemoryRetriever:
def __init__(self, vector_store: InMemoryVectorStore) -> None:
self.vector_store = vector_store
def remember(self, record_id: str, text: str, metadata: dict | None = None) -> None:
self.vector_store.upsert(record_id=record_id, text=text, metadata=metadata or {})
def retrieve(self, query: str, top_k: int = 3) -> list[dict]:
return [
{
"id": record.record_id,
"text": record.text,
"metadata": record.metadata,
}
for record in self.vector_store.search(query=query, top_k=top_k)
]