v0.13.0 — Graph-aware agent search + structured data tools
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 tools —
filter_nodes,aggregate_nodes,join_relatedwith accurate{total, showing, truncated}count reporting. aggregate_nodesWHERE pre-filter — conditional aggregation (where_property/where_op/where_value).- Graph-aware expansion —
GraphExpandernow followsRELATEDedges for ENTITY nodes, surfacing FK-linked rows automatically. join_relatededge-first strategy — O(degree) instead of O(N) property scan.- Graph composition hint —
build_graph_context()tells the agent which tools fit the data (documents vs structured), plus table schemas and FK relationships. - Value-centric row content —
TableIngesterorders row values by semantic priority (name > description > category > rest). - LLM-as-Judge evaluation —
eval/run_all.py --judgeadds 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
EvidenceSearchpipeline with optional embeddings/reranker.
Fixed
filter_nodesno longer early-breaks at limit; total counts are accurate.aggregate_nodesgroups includenode_titlefield 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