Skip to content

v0.7.1: Merge pull request #169 from MotleyAI/egor/bump-0.7.1

Choose a tag to compare

@ZmeiGorynych ZmeiGorynych released this 08 Jun 07:23
· 125 commits to main since this release
d242db9
  • SQL Server (T-SQL) is now a first-class datasource: configure with type: mssql (or sqlserver / tsql), and SLayer auto-generates T-SQL flavoured date math, stat aggregations, and full type mappings. A Docker Compose example with SQL Server 2022 ships under examples/sqlserver/.
  • search() accepts a new cypher_filter parameter - an openCypher MATCH ... RETURN n.id AS id query that narrows results to a subset of your semantic graph (e.g. "only columns reachable from the orders model") before any ranking happens.
  • search() now returns a single flat results list capped by max_results, instead of three separate memories/example_queries/entities buckets with per-bucket caps. If you were reading the bucket fields or passing max_memories / max_example_queries / max_entities, update your call sites - you can use the Cypher filter to narrow down the search to a particular set of entities.
  • The pip extra for embedding-based search has been renamed from embedding_search to advanced_search (it now also pulls in the graph backend for cypher_filter). Install with pip install motley-slayer[advanced_search].
  • Column hits from search() now surface the full top-50 sample values (was previously truncated to ~20) plus a Distinct count: N line when the underlying column has more distinct values than the snapshot captured.
  • Fix: ordering a query by a ModelMeasure referenced by name (e.g. order=[{"column": "aov"}]) no longer fails on PostgreSQL with an undefined-column error - the ORDER BY alias now matches the SELECT alias.
  • Fix: filters that reference a multi-term Column.sql (arithmetic composites, AND/OR expressions, NOT, BETWEEN, IN) now emit correctly parenthesised SQL. Previously, a filter like <col> IS NULL against a column defined as archived AND deleted could parse as archived AND (deleted IS NULL) instead of the intended (archived AND deleted) IS NULL.