Move creativity slider to collapsible Advanced Controls section

- Wrap temperature slider in accordion labeled "Advanced Controls"
- Rename "AI Creativity Level (Temperature)" to "Creativity Level"
- Replace numeric labels with descriptive terms (More Focused & Consistent / More Diverse & Creative)
- Remove "Current" value display
- Change default from 1.0 to 0.75 (centered position)
- Update description with user-friendly language about variance and hallucination risk

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
michael 2025-12-01 15:07:45 -06:00
parent 11fcfdc136
commit 8afeefb0e9

View file

@ -27,6 +27,12 @@ import {
SelectTrigger,
SelectValue,
} from "@/components/ui/select";
import {
Accordion,
AccordionContent,
AccordionItem,
AccordionTrigger,
} from "@/components/ui/accordion";
export const formSchema = z.object({
audienceBrief: z.string().min(10, {
@ -69,7 +75,7 @@ export default function AIRecruiterForm({ onSubmit, isGenerating }: AIRecruiterF
audienceBrief: "",
researchObjective: "",
personaCount: "5",
temperature: 1.0,
temperature: 0.75,
llm_model: "gemini-3-pro-preview",
},
});
@ -412,40 +418,44 @@ export default function AIRecruiterForm({ onSubmit, isGenerating }: AIRecruiterF
/>
</div>
{/* Temperature Control - Full Width */}
<FormField
control={form.control}
name="temperature"
render={({ field }) => (
<FormItem>
<FormLabel>AI Creativity Level (Temperature)</FormLabel>
<FormControl>
<div className="space-y-3">
<Input
type="range"
min="0"
max="1.5"
step="0.1"
value={field.value || 1.0}
onChange={(e) => field.onChange(parseFloat(e.target.value))}
className="w-full"
/>
<div className="flex justify-between items-center text-sm text-muted-foreground">
<span>Conservative (0.0)</span>
<div className="text-center">
<span className="font-medium text-foreground">Current: {field.value?.toFixed(1) || '1.0'}</span>
</div>
<span>Creative (1.5)</span>
</div>
</div>
</FormControl>
<FormDescription>
Lower values (0.0-0.5) make the AI follow prompts and documents more closely. Higher values (1.0-1.5) give the AI more freedom to increase variety in persona names, backgrounds, and traits. Range: 0.0 to 1.5 for optimal reliability.
</FormDescription>
<FormMessage />
</FormItem>
)}
/>
{/* Advanced Controls - Collapsible */}
<Accordion type="single" collapsible className="w-full">
<AccordionItem value="advanced-controls">
<AccordionTrigger>Advanced Controls</AccordionTrigger>
<AccordionContent>
<FormField
control={form.control}
name="temperature"
render={({ field }) => (
<FormItem>
<FormLabel>Creativity Level</FormLabel>
<FormControl>
<div className="space-y-3">
<Input
type="range"
min="0"
max="1.5"
step="0.1"
value={field.value ?? 0.75}
onChange={(e) => field.onChange(parseFloat(e.target.value))}
className="w-full"
/>
<div className="flex justify-between text-sm text-muted-foreground">
<span>More Focused & Consistent</span>
<span>More Diverse & Creative</span>
</div>
</div>
</FormControl>
<FormDescription>
Move this slider to adjust the variance of the personas. Higher values make the personas more varied, lower values make them more logical. Please note higher creativity values can lead to model hallucination.
</FormDescription>
<FormMessage />
</FormItem>
)}
/>
</AccordionContent>
</AccordionItem>
</Accordion>
<div className="flex flex-col items-end">
<Button