Add long-term memory to HuggingFace Smolagents.
Smolagents Integration
HuggingFace Smolagents are minimal code-driven agents. Register CortexDB recall and capture as @tool functions.
Install
pip install cortexdbai smolagents
Pattern
import os
from datetime import datetime, timezone
from uuid import uuid4
from smolagents import CodeAgent, tool, HfApiModel
from cortexdb.v1 import V1Client
client = V1Client(api_url="https://api-v1.cortexdb.ai", actor="user:alice",
bearer=os.environ["CORTEX_TOKEN"])
SCOPE = "org:acme/user:alice"
@tool
def recall_long_term(query: str) -> str:
"""Recall prior context from long-term memory."""
pack = client.recall(scope=SCOPE, view="holistic", query=query,
include=["beliefs", "facts", "episodes"],
budgets={"max_tokens": 3000})
return pack["context_block"] or "(no relevant context)"
@tool
def capture(text: str, role: str = "assistant") -> str:
"""Capture a conversation turn."""
client.experience(scope=SCOPE, text=text, role=role,
observed_at=datetime.now(timezone.utc).isoformat(),
idempotency_key=f"sa-{role}-{uuid4()}")
return "captured"
agent = CodeAgent(tools=[recall_long_term, capture], model=HfApiModel())
agent.run("What did we decide about the renewal?")