Draft page

This page is an outline. It describes what will be covered and is not yet complete technical documentation.

This is a CLI on a shared HPC system, not a hosted service. The security considerations are correspondingly different from a public API — and mostly about the HTTP API mode and about being a good tenant of the cluster.

The HTTP API has no access control

Practical consequences:

  • Do not treat the URL as a service for other people or long-lived applications.
  • Do not publish the host and port in shared documents, tickets or chat channels.
  • Stop the job when you finish — see below.
  • If you need authenticated, multi-tenant access, that belongs in front of this tool, not in it.

Free your GPUs

Prompt and output data

Your prompts and the model’s responses are written to files on the shared filesystem:

  • The input .json and output .jsonl live wherever you put them.
  • out.txt, err.txt and slurm-<jobid>.log in --outdir may contain request detail.

Model output is untrusted input

Cluster etiquette

  • Use --dry-run to validate parameters instead of discovering mistakes with real GPUs.
  • Request only the GPUs the model needsllm-inference model list shows the allowed range.
  • Set a realistic time=. Padding it wildly makes the job harder to schedule for everyone.
  • Test with a small input file before submitting thousands of requests.

Checklist

  1. Every endpoint start and api start has a matching stop.
  2. No forgotten jobs in squeue -u $USER.
  3. --outdir permissions appropriate for the prompt content.
  4. Host and port from api start not shared beyond people who should have them.
  5. Model output validated before anything acts on it.