Configure prompt packs
A prompt pack is the set of instructions NovaVMS sends to the VLM for an event — system prompt, scene context, analysis instructions, output schema, and tag guidance. Assigning the right pack to the right camera is the single biggest lever you have on AI quality. Assignment resolves most-specific first: a camera’s pack wins over a site default, which wins over the org default. Cameras with no explicit pack fall through to the org default.
Prompt pack CRUD (creating and editing pack content) is an operator task per D82. This how-to is about assignment — admins and operators both can assign packs. Changing a pack’s assignment takes effect immediately for new events; events already analysed are not re-scored until you trigger a reprocess.
Procedure
Assign a pack to one camera
- Open Cameras from the left nav and click the camera.
- Open the AI tab on the camera detail page.
- Click Change prompt pack. A picker lists every pack in the org.
- Select the pack. The preview panel below updates to show the assembled prompt with template variables filled (camera name, site name, current time).
- Click Save. The audit log records
camera.settings_changed.
Assign a pack as the org default
- Open Settings -> Prompt Packs from the left nav.
- Find the pack in the list.
- Click the … menu and choose Set as default.
The previous default becomes a normal pack. Cameras without an explicit pack start using the new default on their next event.
Common variations
- Preview before you assign. The preview endpoint renders the assembled prompt with template variables resolved. Use this to catch missing context (for example, an indoor camera assigned a parking-lot pack). The preview is visible in the picker dialog and on the pack’s edit page.
- Clone before you edit. The default pack cannot be edited in place — it is the baseline. Clone it (creates “Copy of Default”), edit the copy, then assign the copy. This is the operator workflow, documented under the operator how-tos.
- Site-level default (operator). Assigning a pack at the site level is an operator task — see the operator how-to for site-default assignment. Admins typically set the org default and let operators tune per-camera.
If this didn’t work
- The picker is empty: no packs have been created yet. The default pack ships on first install; if it is missing, run the Setup Wizard or re-seed with
cloud/cmd/server --seed-prompt-packs. - Save returns 409 CONFLICT with “Pack in use”: the pack you are trying to delete is assigned to at least one camera. Reassign those cameras first.
- The camera keeps using the old pack after save: the event you are inspecting was created before the change. Assignment applies to new events. To re-score historical events, see Reprocess events.
- Preview is empty or returns 500: the pack has a template variable NovaVMS cannot resolve (typo, or a field that does not exist on the camera). Edit the pack’s template to fix the missing variable.
Related
- Why NovaVMS uses a single AI call — how prompt pack content flows into the VLM call
- Configure the LLM model — which model the pack is sent to (admin-gated per D82)
- Alert rule schema — tag fields the VLM populates for rule evaluation
- Roles and permissions — assignment vs content-edit gating