Update to v0.9.1 #1

Merged
serversdown merged 44 commits from dev into main 2026-01-18 02:46:25 -05:00
2 changed files with 23 additions and 11 deletions
Showing only changes of commit 2da58a13c7 - Show all commits

View File

@@ -28,12 +28,15 @@ class ToolOrchestrator:
tools = {}
# Import tool modules as they become available
if os.getenv("NEOMEM_ENABLED", "false").lower() == "true":
try:
from memory.neomem_client import search_neomem
tools["RAG"] = search_neomem
logger.debug("[ORCHESTRATOR] RAG tool available")
except ImportError:
logger.debug("[ORCHESTRATOR] RAG tool not available")
else:
logger.info("[ORCHESTRATOR] NEOMEM_ENABLED is false; RAG tool disabled")
try:
from integrations.web_search import web_search

View File

@@ -24,6 +24,7 @@ from neomem_client import NeoMemClient
# Configuration
# -----------------------------
NEOMEM_API = os.getenv("NEOMEM_API", "http://neomem-api:8000")
NEOMEM_ENABLED = os.getenv("NEOMEM_ENABLED", "false").lower() == "true"
RELEVANCE_THRESHOLD = float(os.getenv("RELEVANCE_THRESHOLD", "0.4"))
VERBOSE_DEBUG = os.getenv("VERBOSE_DEBUG", "false").lower() == "true"
@@ -148,6 +149,10 @@ async def _search_neomem(
Returns:
List of memory objects with full structure, or empty list on failure
"""
if not NEOMEM_ENABLED:
logger.info("NeoMem search skipped (NEOMEM_ENABLED is false)")
return []
try:
# NeoMemClient reads NEOMEM_API from environment, no base_url parameter
client = NeoMemClient()
@@ -259,11 +264,15 @@ async def collect_context(session_id: str, user_prompt: str) -> Dict[str, Any]:
logger.debug(json.dumps(intake_data, indent=2, default=str))
# D. Search NeoMem for relevant memories
if NEOMEM_ENABLED:
rag_results = await _search_neomem(
query=user_prompt,
user_id="brian", # TODO: Make configurable per session
limit=5
)
else:
rag_results = []
logger.info("Skipping NeoMem RAG retrieval; NEOMEM_ENABLED is false")
if VERBOSE_DEBUG:
logger.debug(f"[COLLECT_CONTEXT] NeoMem search returned {len(rag_results)} results")