Skip to content

v0.13.0 — Graph-aware agent search + structured data tools

Choose a tag to compare

@SonAIengine SonAIengine released this 12 Apr 18:18
· 351 commits to main since this release

Highlights

Major improvements to multi-turn agent search quality on structured data.

🔥 Agent benchmark results

Dataset Before After
X2BEE Hard agent 1/19 (5%) 17/19 (89%)
assort Hard agent 1/15 (7%) 12/15 (80%)
KRRA Hard MRR 0.808 1.000 (15/15)

🌐 Public benchmarks (EvidenceSearch + embed + reranker)

Dataset Before After
HotPotQA-24 0.727 0.964
Allganize RAG-ko 0.621 0.905
PublicHealthQA 0.318 0.600

What's new

Added

  • SynapticGraph.from_database() — one-line DB → ontology migration. SQLite / PostgreSQL / MySQL / Oracle / SQL Server. Auto-discovers schema, foreign keys, and M:N join tables.
  • Structured data toolsfilter_nodes, aggregate_nodes, join_related with accurate {total, showing, truncated} count reporting.
  • aggregate_nodes WHERE pre-filter — conditional aggregation (where_property/where_op/where_value).
  • Graph-aware expansionGraphExpander now follows RELATED edges for ENTITY nodes, surfacing FK-linked rows automatically.
  • join_related edge-first strategy — O(degree) instead of O(N) property scan.
  • Graph composition hintbuild_graph_context() tells the agent which tools fit the data (documents vs structured), plus table schemas and FK relationships.
  • Value-centric row contentTableIngester orders row values by semantic priority (name > description > category > rest).
  • LLM-as-Judge evaluationeval/run_all.py --judge adds semantic answer validation alongside ID matching.
  • X2BEE benchmark dataset — 40 queries over real AWS RDS PostgreSQL (19,843 rows).

Changed

  • build_graph_context() now includes structured schemas + FK + composition hints.
  • Agent system prompt: explicit tool-selection guidance, fallback strategies, structured data patterns.
  • Public dataset runner uses EvidenceSearch pipeline with optional embeddings/reranker.

Fixed

  • filter_nodes no longer early-breaks at limit; total counts are accurate.
  • aggregate_nodes groups include node_title field for FK group values.
  • from_database() async row_reader for PostgreSQL (asyncpg coroutines).

Install

```bash
pip install synaptic-memory==0.13.0
```

Full changelog: https://github.com/PlateerLab/synaptic-memory/blob/main/CHANGELOG.md