Wekams Lens is a self-hosted natural-language data agent. Ask one question — Lens federates the query across your databases, data lake, and log files in a single DuckDB pass. Runs entirely inside your own network. Your data never leaves.
Not a database client. Not a Python library. Not a Snowflake replacement.
A unified chat layer across every system you already have.
Every meaningful business question crosses systems. "Why did revenue drop last week?" lives across your production database, a Parquet file dumped into S3, and an error spike in application logs. Today that takes three tools, three logins, and an analyst’s afternoon.
Great inside their walls. Won’t reach into a competitor’s warehouse, your S3 bucket in another cloud, or your filesystem logs. Each requires its own cloud control plane to be reachable — air-gap is impossible.
Vendor-neutral but cloud-only. Your data has to leave your network to ask a question. For regulated industries, that’s the dealbreaker.
Maximally flexible. Six months of engineering before it’s anywhere near production.
Lens registers each data system as a "source". Then it uses an open-weight LLM (running on your hardware) plus DuckDB to plan and execute the query across all of them.
Built-in connectors for Postgres, S3 / MinIO / R2, Azure Blob & ADLS Gen2, GCS, JSON-lines logs, SQLite, Elasticsearch / OpenSearch. Custom sources via the SDK in ~80 lines of Python.
The agent picks the right tool — single-source SQL, a federated JOIN, or Elasticsearch DSL — runs it read-only against your data, and shows you the SQL for transparency.
Every conversation lives in the catalog and gets a permanent URL. Copy as Markdown for Slack, GitHub, Notion. Or share the link with a teammate on the same Lens instance.
Every other product in the "talk to your data" category is tied to a single warehouse vendor, runs as cloud SaaS, or is a Python library you assemble yourself. Lens is the only option that runs in your network and federates across multiple vendor systems in the same query.
| Databricks Genie | Snowflake Cortex | Fabric Copilot | Wekams Lens | |
|---|---|---|---|---|
| Cross-source federation | warehouse only | warehouse only | OneLake only | 8+ connectors, any combination |
| Runs in your network | cloud control plane required | cloud control plane required | Microsoft cloud only | fully self-hosted |
| Air-gap deployment | not supported | not supported | not supported | supported day one |
| Pricing model | DBU consumption | credit consumption | capacity units | flat per-user, no metering |
| Logs as a data source | — | — | — | first-class |
| Custom sources | — | — | — | Python SDK, ~80 lines |
The Community image runs entirely on your hardware against a local LLM (Qwen, Llama, DBRX). True air-gap deployment supported from day one — verified on hardware as small as an 8 GB MacBook.
One DuckDB query joins your Postgres orders with your S3 Parquet exports and your filesystem logs — in a single statement. No tool in the unified-data category does this cleanly across vendors today.
Most "talk to your data" tools stop at relational. Lens treats JSON-lines log files and Elasticsearch indices as queryable tables — so the diagnostic question gets answered in one conversation.
Every large enterprise has at least one internal system nobody ships a connector for. The Lens SDK lets a Python developer wire one up in an afternoon. Drop the file in a directory, restart, done.
Flat per-user license. The LLM compute runs on your hardware so there’s no consumption tier to babysit. Cost is the same whether your team asks ten questions or ten thousand.
Every conversation gets a permanent URL. Copy as Markdown to drop a full transcript — question, SQL, table, summary — into Slack, GitHub, or Notion.
Your team gets instant answers on repeat questions, and your existing hardware supports 5× more users. Lens caches the query plan and re-executes against live data with each user’s permissions — safe by design, fast for everyone.
One Docker command brings up the whole stack — backend, frontend, catalog DB, and the bundled local LLM. Point your browser at port 3000 and start asking.
http://localhost:3000, add your first source, ask a question.# Run the Community image $ docker run -d --name wekams-lens \ -p 3000:3000 -p 8000:8000 \ -v wekams-data:/var/wekams \ wekams/lens:community # Open the UI $ open http://localhost:3000
Built by Wekams PTE LTD · Self-host the Community Edition free, forever.