Skip to content

AI settings

For admins

Several Keystone features can use a Large Language Model (LLM) to suggest, summarise, or classify:

  • Triage classification — when a requester types in the search bar, the LLM picks the best matching template (better than keyword fallback)
  • KB suggestions — when an agent opens a ticket, the LLM surfaces 3 candidate KB articles based on the conversation
  • Ticket summarisation — for long conversations, an “auto-summary” tab shows what’s happened so far
  • Trend detection — for the problem rules engine, LLM-aided pattern detection in the ticket stream

These are all optional. With no LLM provider configured, the features degrade gracefully — keyword-based triage instead of LLM, no KB suggestions panel, no auto-summary. Nothing breaks.

  • Azure OpenAI — most common in education due to the data-residency story
  • OpenAI direct
  • Anthropic Claude — via Anthropic’s API
  • Self-hosted (vLLM, Ollama, LM Studio) — for trusts running their own inference

Each provider has its own auth scheme and model list. The settings page surfaces what each requires.

Each AI feature can be enabled or disabled independently. A trust might enable KB suggestions but disable summarisation if they want to limit cost.

The toggles live next to the provider config. After enabling a feature, the relevant UI surfaces appear in the agent shell.

Each feature reports approximate token usage to the AI usage dashboard. Trusts can set monthly budgets per feature; when 80% of the budget is consumed, an alert fires. When 100% is consumed, the feature pauses for the rest of the month.

This is a coarse safeguard — actual provider billing is what counts.

The platform is conservative about what it ships:

  • Triage classification — only the requester’s input + the catalogue of template names/summaries
  • KB suggestions — the ticket subject + body of the most recent 3 messages; explicitly excludes attachments and pupil names (PII filter applied first)
  • Summarisation — the ticket conversation; PII redacted

The PII filter is on by default for any LLM call that includes user-generated content. Configurable thresholds per data class.

If your trust’s data-protection posture rules out third-party LLMs, the self-hosted path:

  • A 7B-parameter model (like Mistral 7B Instruct) runs on a single GPU; good enough for triage + KB
  • A 13B model gives better summarisation; needs more VRAM
  • The platform speaks the OpenAI-compatible API; vLLM and most self-hosted runtimes support this

Self-hosted runs without sending data to anyone. Slower than hosted but reliably private.

Turn the provider off and every feature falls back to its non-AI path. Existing AI-generated content (summaries, suggestions) stays where it was generated; nothing’s deleted.