RegRadar / tools /memory_tools.py
Abid Ali Awan
Enhance app.py to implement a Gradio interface for the RegRadar AI Regulatory Compliance Assistant, featuring a chatbot, example queries, and a tool information panel. Refactor UIHandler to streamline chat processing and improve regulatory query handling. Update web_tools.py to modularize crawling and searching functionalities, enhancing code readability and maintainability.
6598f74
from typing import Dict, List
from mem0 import MemoryClient
from config.settings import MEM0_API_KEY
# Initialize memory client
mem0_client = MemoryClient(api_key=MEM0_API_KEY)
class MemoryTools:
def save_to_memory(self, user_id: str, query: str, response: str):
"""Save interaction to memory"""
try:
messages = [
{"role": "user", "content": query},
{"role": "assistant", "content": response},
]
mem0_client.add(
messages=messages,
user_id=user_id,
metadata={"type": "regulatory_query"},
)
except Exception as e:
print(f"Memory save error: {e}")
def search_memory(self, user_id: str, query: str) -> List[Dict]:
"""Search for similar past queries"""
try:
memories = mem0_client.search(query=query, user_id=user_id, limit=3)
return memories
except Exception:
return []