This page gives you the short version of what an AI-native database is, tells you when you don't need one, and then lists the 12 problems it solves, each with a practical guide, grouped by the job you need done. Each guide starts from a problem, not a feature.
We build SynapCores, an AI-native database. This page is meant to be useful whichever tool you pick, including the cases where you don't need one.
What an AI-native database is
Most AI features today are built from parts. Your rows live in Postgres or MySQL. Your application sends text to an embedding API, stores the vectors in a separate vector store, and calls a model service for predictions. Every arrow between those systems is a job you run, monitor and keep in sync.
An AI-native database moves those steps into the query engine. One SQL statement can filter rows by ordinary columns, turn a question into an embedding, rank rows by meaning and score the result with a model. The data doesn't leave the engine, and one set of permissions covers all of it.
That's the whole idea. It doesn't make the models smarter; they are the same kind of models you could run in Python. It changes where they run and how many systems you operate. It pays off when one question needs several AI steps on live, permissioned data.
For the long version (architecture, scaling, vector search inside the engine, how to evaluate a platform), read the full guide: What Is an AI-Native Database? Architecture & Platform Guide.
Try it: filter, search and verify in one statement
This example runs on SynapCores 2.3.2-ce. It does three things in one SELECT: a normal SQL filter, a vector similarity ranking with an embedding computed in the query, and an entailment check from a local NLI model. A plain Postgres + pgvector setup would need the embedding and the NLI model to run outside the database.
Install and enable the NLI model (it's off by default; ~577 MB download):
curl -fsSL https://get.synapcores.com | SYNAPCORES_VERSION=v2.3.2-ce sh
synapcores --config /etc/synapcores/gateway.toml pull nli-default
synapcores --config /etc/synapcores/gateway.toml models enable-nli nli-default
# restart the engine; GET /v1/ai/nli/models should report "ready"
Test data, four passages from a billing policy and one unrelated FAQ entry:
CREATE TABLE IF NOT EXISTS learn_kb (
id INT PRIMARY KEY,
section TEXT,
body TEXT,
embedding VECTOR(384)
);
INSERT INTO learn_kb (id, section, body, embedding) VALUES
(1, 'billing-policy#refunds', 'Annual plans can be refunded in full within 30 days of purchase.',
EMBED('Annual plans can be refunded in full within 30 days of purchase.')),
(2, 'billing-policy#refunds', 'After 30 days, annual plans are refunded pro rata for the unused full months.',
EMBED('After 30 days, annual plans are refunded pro rata for the unused full months.')),
(3, 'billing-policy#refunds', 'Monthly plans are not refundable.',
EMBED('Monthly plans are not refundable.')),
(4, 'billing-policy#payouts', 'Refunds are issued to the original payment method within 5 to 10 business days.',
EMBED('Refunds are issued to the original payment method within 5 to 10 business days.')),
(5, 'office-faq', 'The support office is closed on public holidays.',
EMBED('The support office is closed on public holidays.'));
Output on 2.3.2-ce: rows_affected = 5.
The query: billing passages only, ranked by meaning, each checked against the draft answer "Refunds arrive within 5 to 10 business days.":
SELECT id, section,
ROUND(COSINE_SIMILARITY(embedding, EMBED('How long do refunds take?')), 3) AS similarity,
ROUND(CAST(JSON_EXTRACT(NLI_CLASSIFY('nli-default', body,
'Refunds arrive within 5 to 10 business days.'),
'$.scores.entailment') AS DOUBLE), 3) AS supports_answer
FROM learn_kb
WHERE section LIKE 'billing-policy%'
ORDER BY similarity DESC
LIMIT 3;
Output on 2.3.2-ce (build 563):
| id | section | similarity | supports_answer |
|---|---|---|---|
| 4 | billing-policy#payouts | 0.849 | 0.996 |
| 1 | billing-policy#refunds | 0.640 | 0.002 |
| 2 | billing-policy#refunds | 0.386 | 0.000 |
What to look for: the WHERE clause removes the office FAQ before any AI work happens, the payout passage ranks first, and it is the only passage that supports the draft answer. That last column is a different signal from similarity. A passage can be very similar to a question and still not support the answer. How to check if an AI answer is actually backed by your documents shows where that goes wrong, with real numbers.
Clean up:
DROP TABLE IF EXISTS learn_kb;
The 12 problems it solves, by job
All twelve Learning Center guides. Each one solves one problem and explains the technique inside it. Guides that aren't published yet are marked Coming soon.
Find things (vector search, plus SQL filters and graph)
- How to search by meaning instead of keywords:
EMBED+COSINE_SIMILARITYnext to ordinaryWHEREfilters - How to find duplicate customer records, even with typosComing soon: embedding similarity plus SQL blocking
- How to build "customers who bought this also bought" recommendationsComing soon: graph co-purchase plus
EMBED
Write and answer (LLM, grounded in your data)
- How to ask your database questions in plain EnglishComing soon:
/v1/ask, with the generated SQL shown - How to build a support chatbot that only answers from your help articles (with sources)Coming soon: RAG with citations and an answer gate
Remember (agent memory)
- How to make a chatbot remember previous conversations:
MEMORY_*recall, plus a contradiction check before each write - How to let several AI agents share one memoryComing soon:
MEMORYas a shared blackboard, with scoping
Check claims (NLI, with a similarity floor and exact rules)
- How to check if an AI answer is actually backed by your documents: similarity floor + NLI per sentence, as in the query above
- How to check if two sentences mean the same thing (or contradict each other)Coming soon:
EMBEDand NLI side by side - How to automatically check sales and support calls for complianceComing soon: NLI checks each required disclosure against the transcript
Predict and flag (machine learning in the database)
- How to find unusual transactions in your data with SQL:
ANOMALY_SCORE, plus a graph hop for rings - How to predict which customers will cancel, using SQLComing soon: training and prediction in SQL, and when Python is the better choice
Not sure which one fits? Which AI technique solves my problem? compares LLMs, vector search, NLI and traditional ML by job.
Where to go next
- Start here: How to ask your database questions in plain EnglishComing soon
- Start here: How to make a chatbot remember previous conversations
- The long version: What Is an AI-Native Database? Architecture & Platform Guide
Run it yourself: recipe 037, How to Detect Hallucinations in RAG: a Per-Sentence NLI Gate in SQL, builds on the example above. It checks every sentence of a generated answer against the retrieved passages and decides ship, review or block, in SQL.