import psycopg2
from datetime import datetime
# Lakebase 연결 (Databricks 서버리스 PostgreSQL)
conn = psycopg2.connect(
host="<lakebase-endpoint>.cloud.databricks.com",
port=5432,
dbname="agent_memory_db",
user="token",
password="<databricks-token>"
)
cursor = conn.cursor()
def store_user_preference(user_id: str, key: str, value: str):
"""사용자 프로필 메모리 저장 (UPSERT)"""
cursor.execute("""
INSERT INTO agent_memory (user_id, key, value, updated_at)
VALUES (%s, %s, %s, NOW())
ON CONFLICT (user_id, key)
DO UPDATE SET value = %s, updated_at = NOW()
""", (user_id, key, value, value))
conn.commit()
def get_user_preferences(user_id: str) -> list:
"""사용자의 모든 저장된 선호/프로필 조회"""
cursor.execute(
"SELECT key, value FROM agent_memory WHERE user_id = %s ORDER BY updated_at DESC",
(user_id,)
)
return cursor.fetchall()
# 사용 예시
store_user_preference("user-456", "preferred_language", "한국어")
store_user_preference("user-456", "department", "데이터 엔지니어링팀")
store_user_preference("user-456", "timezone", "Asia/Seoul")
prefs = get_user_preferences("user-456")
# → [("timezone", "Asia/Seoul"), ("department", "데이터 엔지니어링팀"), ...]