Back to overview

Run it

Self-hosted, any LLM, your data

Open source under Apache 2.0. Bring any LLM provider, your own search engine and your own storage. Multi-tenant and observable, running on your own infrastructure.

  • Bring any LLM

    OpenAI, Anthropic Claude, Google Gemini (native SDK or OpenAI-compatible), Mistral, Cohere, AWS Bedrock, Google Vertex AI, local Ollama models and any OpenAI-compatible endpoint, behind one pluggable provider interface. Switch providers per agent; API keys are stored encrypted.

  • Bring your search engine & storage

    Run on Apache Solr, Elasticsearch or embedded Lucene, and back assets with MinIO, the filesystem or nothing at all. Turing runs on the infrastructure you already operate.

  • Multi-tenant by design

    Isolate tenants behind a single identity realm with tenant-owned infrastructure, gated behind a feature flag so a single-tenant deployment stays simple.

  • Observable & operable

    Turing exposes Micrometer metrics, chat & conversion analytics, cache-hit gauges and per-tool latency percentiles.

  • Measure the funnel in the analytics stack you already run

    Server metrics tell you the platform is healthy; the SDK tells you what your users do. It emits a vendor-neutral event for every funnel step: query, no-results, result click, chat start, conversion and abandonment. A GA4 / Google Tag Manager sink detects the gtag / dataLayer your page already loads (Adobe Edge Delivery Services included), so it works with no extra config, and a generic escape hatch covers Segment, Matomo or Plausible. Cross-surface session stitching ties a chat lead back to the search that started it. It is your own tag on your own page, so you decide what is collected.

  • Developer tooling

    A zero-dependency CLI (init / dev / deploy / eval / logs), official React and vanilla-JS SDKs, and YAML eval suites to gate agent and prompt changes in CI.

Pluggable storage & provider config (application.yaml)
turing:
  storage:
    type: filesystem        # none | minio | filesystem
    filesystem:
      path: ./store/assets
  tenancy:
    enabled: false          # flip on for multi-tenant

Questions teams ask

How do I run Turing on my own machine?
One command: docker run -p 2700:2700 ghcr.io/openviglet/turing-ce, then open the console on port 2700. A docker compose file in the repository brings up the full stack with Solr, MariaDB and monitoring.
Can it run with no cloud LLM at all?
Yes. Point the agents at local Ollama models or at any OpenAI-compatible server inside your network, and nothing in the answer path leaves it.
Is multi-tenancy on by default?
No. It sits behind a feature flag, so a single-team deployment stays a single application. Turn it on to isolate tenants behind one identity realm.
How do I gate prompt and agent changes?
Write YAML eval suites and run them with the CLI's eval command in CI, so a change that lowers answer quality fails the build before it ships.
Go deeperSecurity & data residencyWhy self-hosting removes the vendor boundary, and the questions regulated teams ask first.