@@ -49,6 +49,7 @@ export function ReviewView() {
4949 const runReview = useRunReview ( ) ;
5050 const profiles = useProfiles ( ) ;
5151 const [ scope , setScope ] = useState ( "all" ) ;
52+ const [ unloadAfter , setUnloadAfter ] = useState ( false ) ;
5253 const [ jobId , setJobId ] = useState < string | null > ( null ) ;
5354 const job = useJobsStore ( ( state ) =>
5455 jobId ? state . jobs [ jobId ] : undefined ,
@@ -105,6 +106,7 @@ export function ReviewView() {
105106 media_ids : mediaIds ,
106107 judge_profile_id : profiles . data ?. judge_id ?? null ,
107108 scope,
109+ unload_after : unloadAfter ,
108110 } ,
109111 { onSuccess : ( data ) => setJobId ( data . job_id ) } ,
110112 ) ;
@@ -125,6 +127,8 @@ export function ReviewView() {
125127 running = { running }
126128 job = { job }
127129 onRun = { run }
130+ unloadAfter = { unloadAfter }
131+ onUnloadAfter = { setUnloadAfter }
128132 />
129133 < Queue
130134 datasetId = { datasetId }
@@ -156,6 +160,8 @@ function Rail({
156160 running,
157161 job,
158162 onRun,
163+ unloadAfter,
164+ onUnloadAfter,
159165} : {
160166 datasetId : number ;
161167 rules : ReviewRule [ ] ;
@@ -165,6 +171,8 @@ function Rail({
165171 running : boolean ;
166172 job : JobLike | undefined ;
167173 onRun : ( ) => void ;
174+ unloadAfter : boolean ;
175+ onUnloadAfter : ( value : boolean ) => void ;
168176} ) {
169177 const profiles = useProfiles ( ) ;
170178 const createRule = useCreateReviewRule ( ) ;
@@ -299,6 +307,14 @@ function Rail({
299307 ▶ Run review
300308 </ Button >
301309 ) }
310+ < label style = { checkRow } >
311+ < input
312+ type = "checkbox"
313+ checked = { unloadAfter }
314+ onChange = { ( event ) => onUnloadAfter ( event . target . checked ) }
315+ />
316+ Unload the model after the run
317+ </ label >
302318 < p style = { hintStyle } >
303319 Text-only rules run without loading images; vision rules load each
304320 one. Locked captions are skipped. Judge: { judgeLabel } .
0 commit comments