Scalable Objects Persistence
I’m excited to share a major update to the SOP Data Manager, the GUI tool for our Scalable Objects Persistence (SOP) engine. We’ve moved beyond simple CRUD operations and integrated a fully context-aware AI Copilot directly into the workflow.
This isn’t just a chatbot overlay; it’s a ReAct (Reasoning + Acting) Agent deeply integrated with the database backend, designed to act as a “Local Expert” for your data.
Important: The AI Copilot requires an LLM API Key (e.g., Gemini, OpenAI) to function. You must provide your own key in the “Environment Configuration” settings. If no key is supplied, the AI Copilot features will be disabled.
SOP recognizes that Production Environments often have strict security policies that forbid external API calls (Air-gapped) or require zero external dependencies.
We have introduced a Direct Command Interface that works entirely offline:
/select database=users).select, run_script, manage_knowledge) that the Agent uses, but driven manually by you.This confirms our philosophy: The AI is a helper, but the robust machinery underneath is yours to command.
Managing complex NoSQL data often involves jumping between a GUI to view items and a terminal to run queries or scripts. You might see a record, wonder “how many other records have this specific field value?”, and have to switch context to write a script to find out.
We’ve refactored the UI to introduce a persistent, floating AI widget.
list_stores(): To understand your database topology.get_schema(): To analyze the structure and index specifications of your B-Trees.search() & select(): To query data directly.We purposely designed a Retrieval-Augmented Generation (RAG) pipeline to address the critical security needs of database management.
This architecture allows us to create a fully controllable, customizable AI necessary for enterprise databases.
We’ve taken this a step further with our Script System, evolving it into a robust scripting engine built on “Atomic Lego Blocks.”
Instead of asking an LLM to generate raw, potentially unsafe code (which is hard to debug and secure), we use a Compiler Approach:
compare(val1, val2): A universal comparator handling strings, numbers, and dates seamlessly.matchesMap(item, criteria): A MongoDB-style query evaluator supporting operators like $gt, $lt, $in, and $eq.toFloat(val): Robust type conversion for numerical analysis.Scan(store, options): High-performance B-Tree traversal (Range, Prefix, Forward/Backward).JoinRightCursor(left, right, key): Optimized Right Outer Join iterator.compare for speed) without changing the AI’s behavior.Streaming & Efficiency: Results are streamed directly to the UI or REST client. This allows processing SQL Joins on huge B-Trees with minimal memory, as we never load the full dataset into RAM.
We are expanding the toolset to include Vector Search capabilities, allowing you to perform semantic queries (“Find documents related to ‘scalability’”) right from the same floating window.
Check out the code and try running it locally with Ollama!
#Golang #AI #LLM #Database #SOP #OpenSource #AgenticUI #ReAct