Frequently Asked Questions

Everything you need to know about Liath — the SQLite for AI agents, with programmable Lua memory.

General

Frequently Asked Questions

What is Liath?

Liath is the SQLite for AI agents: an embedded, programmable memory database. Instead of calling a fixed vector-database API, agents query their memory by writing sandboxed Lua programs. It bundles a key-value store, vector search, and embeddings, with a fast Rust core and zero infrastructure.

Why is Liath called "the SQLite for AI agents"?

Because it is embedded. Like SQLite, Liath runs in-process as a single dependency with no server to operate. You point it at a data directory and go. It brings that same zero-infrastructure model to agent memory, adding programmable Lua queries, vector search, and embeddings.

What are the two editions of Liath?

There are two editions of the same product built on the same Rust core: liath, a Python package you install with "pip install liath", and liath-rs, a Rust crate you add with "cargo add liath". Choose whichever matches your stack.

Is Liath production-ready?

Liath is currently Alpha (v0.1.0). It is functional and installable, but not yet recommended for critical production workloads. The storage, vector search, embeddings, and Lua runtime are implemented and usable for prototypes and evaluation.

What license is Liath under?

MIT. Liath is fully open source. You can use, modify, and distribute it freely. The source is on GitHub at github.com/incredlabs/liath.

Programmable Memory

Frequently Asked Questions

What does "programmable memory" mean?

It means agents query their memory by writing code, not by calling a fixed API. An agent generates a Lua program that can run semantic search, filter by recency and importance, re-rank by a custom score, and shape the result — all in one program. Fixed vector-DB APIs can only express one retrieval strategy; Liath can express any the agent writes.

Why Lua as the query language?

Lua is small, fast, easy to sandbox, and LLMs generate it reliably. It gives agents a real programming language for retrieval logic while keeping the runtime lightweight enough for real-time agent loops.

Is it safe to let an agent run code against my memory?

Yes. Liath executes Lua in a strict sandbox with no file system, network, or system access. The agent gets full programmability over retrieval and ranking, but the code cannot touch anything outside the memory store.

What can a Lua program actually do?

It can read and write the key-value store, run vector and semantic search, generate embeddings, filter and map over results, sort by custom scores, manage conversation history, and read or write tool state — using Liath's built-in Lua standard library for agents.

Technical

Frequently Asked Questions

What storage engines does Liath use?

Liath uses Fjall for its key-value store, USearch for vector similarity search, and FastEmbed for local text embeddings. These are bundled into the engine, so you get all three from a single dependency.

Does Liath need a server or external infrastructure?

No. Liath is embedded and runs in-process. There is no server to deploy, no cluster to manage, and no external service to call. You can optionally run it as an HTTP server or MCP server, but the default mode is embedded.

How does Liath handle embeddings and vector search?

Liath generates embeddings locally with FastEmbed and indexes them with USearch. From Lua, store_with_embedding() turns text into a searchable vector automatically, and semantic_search() retrieves the most similar memories.

Can I isolate memory per agent or tenant?

Yes. Liath supports namespaces, which isolate data per agent, tenant, or environment. This keeps multi-agent systems from stepping on each other while sharing one embedded engine.

What interfaces does Liath support?

Liath can be used as an embedded library, an interactive TUI/CLI, an HTTP server, or an MCP server that plugs directly into AI assistants and agent frameworks.

Project & Support

Frequently Asked Questions

Is Liath free?

Yes. Liath is MIT licensed and free to use, with no paid tiers or feature gates.

How is Liath different from a vector database like Pinecone?

Pinecone is a managed, server-based vector database with a fixed query API. Liath is embedded, runs in-process, and lets agents write programmable Lua queries over vectors and key-value data together. See our Liath vs Pinecone comparison for details.

Who is behind Liath?

Liath is built by incredlabs, founded by Dipankar Sarkar. It is part of the incredlabs data platform alongside ORMDB, a relational database for AI-era applications.

Where can I get help?

Documentation is at docs.incredlabs.com/liath and the source is on GitHub at github.com/incredlabs/liath. For anything else, email contact@incredlabs.com.