Architecture
Lens is intentionally simple at the seams: a chat surface, a reasoning core, and a controlled bridge to SAP. Everything sensitive stays inside your perimeter.
High-level view
Each tier has a clear job and a clear boundary. The composition is what makes the product — not any single piece in isolation.
What each tier does
The web app and embedded chat experiences users see. A separate tool surface lets approved external assistants invoke Lens under the same rules.
The brain. Classifies intent, plans the work, applies governance, and decides which path serves the answer best — query, schema lookup, or a registered algorithm.
The institutional memory: business descriptions of SAP objects, relationship hints, sensitivity flags, algorithm versions, and a full audit log of what happened.
The only component that talks to SAP. It reaches the system over its native protocols (RFC, OData, SQL), runs every call read-only, and binds the call to the user’s own SAP authorisations — configured per registered system.
Deployment
Lens is delivered as a small set of long-running services that you host. Containers, virtual machines, or bare metal — all are supported. There is no SaaS dependency and no required outbound connection to a vendor cloud.
The reasoning model is a configuration choice, not a build-time decision. Run an on-premise open-weights model for maximum data control, or point at a hosted provider when latency matters more — on a per-task basis, with privacy guardrails enforced before any call.
AI inside Lens
Lens never relies on a single LLM doing everything. It runs at least two distinct tiers of models, with very different jobs, very different hosting locations, and very different rules about what data they may see.
One large, general-purpose model handles free chat, schema interpretation, NL → query planning and agent reasoning. It can be a hosted provider or a local open-weights model — your choice, changeable per environment.
Algorithms and pipelines call small, task-specific models served locally — log classification, error clustering, embeddings for semantic search, lightweight extraction, redaction. Each algorithm can pick the model best suited to its task.