In Chroma
Your agent recalls by semantic similarity — nearest-neighbour over text or document embeddings.
Comparison
Pick Chroma if your agent recalls by similarity and you want an open-source store you can run embedded or self-hosted — nearest-neighbour plus full-text and metadata filtering. Pick nlqdb if your agent must aggregate what it stored: GROUP BY, JOIN, and HAVING over typed rows it provisions in plain English. Chroma finds the similar; nlqdb counts, groups, and ranks.
The same goal, two ways.
> the 10 tools the agent called most this week, ranked by call count
In Chroma
Your agent recalls by semantic similarity — nearest-neighbour over text or document embeddings.
In your HTML
<nlq-data goal="the 10 tools the agent called most this week, ranked by call count"></nlq-data> The aggregation Chroma's similarity search can't run — it returns the documents nearest a query, not a GROUP BY / COUNT ranking; nlqdb answers it as SQL over the agent's own memory.
What's different
| Dimension | nlqdb | Chroma | Note |
|---|---|---|---|
| Owns the database (provisions + migrates) | |||
| Natural-language → SQL | Chroma takes a query embedding (or text) plus a metadata filter; it has no English-to-SQL compiler. | ||
| Aggregations + reporting queries (GROUP BY / JOIN / HAVING over memory) | Chroma returns the top-k most similar documents; it ships no SQL engine, no joins, and no transactions. | ||
| Vector / semantic similarity search over memory | Nearest-neighbour over embeddings is Chroma's core primitive; nlqdb stores typed rows and ships no embedding search today. |
| Dimension | nlqdb | Chroma | Note |
|---|---|---|---|
| Full-text search over stored documents | Chroma indexes documents for full-text + vector search; nlqdb matches text with SQL LIKE / pattern predicates, not a ranked text index. | ||
| Filtering on retrieval | nlqdb filters with exact SQL WHERE over typed columns; Chroma filters by metadata around the nearest-neighbour search. | ||
| Auto-migration via NL ('add a `priority` field') | |||
| MCP server (agent-callable) | Chroma's `chroma-mcp` creates collections and adds/queries documents by similarity; nlqdb's `nlqdb_query` materialises Postgres on first reference and runs aggregating SQL. | ||
| Open source / self-hostable | Chroma is Apache-2.0 and runs embedded or self-hosted; nlqdb is source-available on FSL 1.1-ALv2, auto-converting to Apache 2.0 after two years. |
shipped · partial · not shipped
No sign-in. The anonymous database lasts 72 hours; adopt it with one click if you keep it.
Start with a goal →The error has been recorded. Reload to recover; if it persists, sign out and back in.