CodeHelp: Using Large Language Models with Guardrails for Scalable Support in Programming Classes | Synapse