Appearance
Prompt Manager
What elsai Prompt Manager is, what problem it solves, and how it fits into your AI stack.
The problem
Most teams start with prompts living in Python strings inside their application code. That works for a week. Then:
- Marketing wants to tweak the tone — but they don't have a PR workflow.
- A production prompt is silently broken — and nobody knows which commit changed it.
- You ship a new model and want to A/B two prompts — but each rollout is a code deploy.
- Your eval pipeline needs the exact prompt that ran on a customer last Tuesday — and you can't get it back.
Prompts are content. They change faster than code, are edited by non-engineers, need review before going to customers, and need to be reproducible long after they were edited. Application repositories are the wrong home for that.
What elsai Prompt Manager does
elsai Prompt Manager is a prompt registry and runtime: a central place where prompts are written, reviewed, versioned, released to environments, and fetched at runtime by your applications via a lightweight SDK.
Authoring UI
A web interface for writing prompts, reviewing diffs, leaving comments, and approving changes — built for collaboration between engineers, PMs, and prompt specialists.
Immutable versioning
Every save creates a content-addressed version. Rollbacks are instant. History is permanent. Audit logs answer "who changed this, when, and why."
Environment promotion
Release a specific version to
development, then testing, then production — independently of when your application deploys. Promote with one click; roll back the same way. Typed Python SDK
pip install elsai-prompts. Fetch the active version for your runtime environment. Get back a typed PromptContent with a uniform .render() regardless of prompt kind. The four kinds of prompt
Not every prompt is a single block of text. elsai Prompt Manager treats four shapes as first-class:
Instruction
A single string of guidance — the most common shape. Optional
system_prompt. Used for classic single-turn LLM calls. F-string
A template with
placeholders. The SDK renders it with values you supply at call time. Variable specs are stored with the prompt so your UI can collect them. Chat
A list of
{role, content} messages — system, user, assistant — with in any message body. Renders to the message-array shape every chat-completion API expects. Structured
A base prompt (instruction, f-string, or chat) paired with a JSON response schema. Renders to
{base, response_schema} so you can plug it directly into an OpenAI/Anthropic structured-output call. All four return a single PromptContent type. prompt.render(variables) does the right thing per kind — no branching in your application code. See Prompt Kinds for details.
SaaS or on-prem — same product
The platform ships in two deployment modes:
SaaS
Managed, hosted at promptmanager.elsaifoundry.ai. Clerk for auth, DynamoDB-backed, zero infrastructure for you. Sign up and start writing prompts in 60 seconds.
→On-Prem
Self-hosted inside your VPC. JWT auth, Postgres, your own deployment. Same UI, same SDK, same concepts. Built for teams with data-residency or compliance requirements.
→The SDK is identical between them — the only difference is one constructor argument (base_url) for on-prem to point at your deployment. Switch between SaaS and on-prem later without rewriting application code.
Where to go next
5-minute Quickstart
Install the SDK, create an API key, fetch your first prompt.
→Concepts
The mental model: organizations, projects, prompts, versions, environments, kinds.
→Tutorials
End-to-end walkthroughs from creating a prompt to fetching it in production.
→SDK Reference
Every method, every argument, every error.
→