feat: enhance Knowledge Ingester with symbolic extraction
This commit is contained in:
@@ -1,13 +1,14 @@
|
||||
"""Sovereign Knowledge Ingester for Hermes Agent.
|
||||
|
||||
Uses Gemini 3.1 Pro to learn from Google Search in real-time and
|
||||
persists the knowledge to Timmy's sovereign memory.
|
||||
persists the knowledge to Timmy's sovereign memory (both Markdown and Symbolic).
|
||||
"""
|
||||
|
||||
import logging
|
||||
import base64
|
||||
from typing import Any, Dict, List, Optional
|
||||
from agent.gemini_adapter import GeminiAdapter
|
||||
from agent.symbolic_memory import SymbolicMemory
|
||||
from tools.gitea_client import GiteaClient
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
@@ -16,6 +17,7 @@ class KnowledgeIngester:
|
||||
def __init__(self):
|
||||
self.adapter = GeminiAdapter()
|
||||
self.gitea = GiteaClient()
|
||||
self.symbolic = SymbolicMemory()
|
||||
|
||||
def learn_about(self, topic: str) -> str:
|
||||
"""Searches Google, analyzes the results, and saves the knowledge."""
|
||||
@@ -43,12 +45,14 @@ Include:
|
||||
|
||||
knowledge_fragment = result["text"]
|
||||
|
||||
# 2. Persist to Timmy's Memory
|
||||
# 2. Extract Symbolic Triples
|
||||
self.symbolic.ingest_text(knowledge_fragment)
|
||||
|
||||
# 3. Persist to Timmy's Memory (Markdown)
|
||||
repo = "Timmy_Foundation/timmy-config"
|
||||
filename = f"memories/realtime_learning/{topic.lower().replace(' ', '_')}.md"
|
||||
|
||||
try:
|
||||
# Check if file exists to get SHA
|
||||
sha = None
|
||||
try:
|
||||
existing = self.gitea.get_file(repo, filename)
|
||||
@@ -63,7 +67,7 @@ Include:
|
||||
else:
|
||||
self.gitea.create_file(repo, filename, content_b64, f"Initial knowledge on {topic}")
|
||||
|
||||
return f"Successfully learned about {topic} and updated Timmy's memory at {filename}"
|
||||
return f"Successfully learned about {topic}. Updated Timmy's Markdown memory and Symbolic Knowledge Graph."
|
||||
except Exception as e:
|
||||
logger.error(f"Failed to persist knowledge: {e}")
|
||||
return f"Learned about {topic}, but failed to save to memory: {e}\n\n{knowledge_fragment}"
|
||||
return f"Learned about {topic}, but failed to save to Markdown memory: {e}\n\n{knowledge_fragment}"
|
||||
|
||||
Reference in New Issue
Block a user