mirror of
				https://github.com/blakeblackshear/frigate.git
				synced 2025-10-27 10:52:11 +01:00 
			
		
		
		
	Genai descriptions are not generated until tracked objects end (#15561)
This commit is contained in:
		
							parent
							
								
									d9ef8fa206
								
							
						
					
					
						commit
						3dc26e78ef
					
				| @ -5,6 +5,8 @@ title: Generative AI | ||||
| 
 | ||||
| Generative AI can be used to automatically generate descriptive text based on the thumbnails of your tracked objects. This helps with [Semantic Search](/configuration/semantic_search) in Frigate to provide more context about your tracked objects. Descriptions are accessed via the _Explore_ view in the Frigate UI by clicking on a tracked object's thumbnail. | ||||
| 
 | ||||
| Requests for a description are sent off automatically to your AI provider at the end of the tracked object's lifecycle. Descriptions can also be regenerated manually via the Frigate UI. | ||||
| 
 | ||||
| :::info | ||||
| 
 | ||||
| Semantic Search must be enabled to use Generative AI. | ||||
|  | ||||
| @ -469,6 +469,30 @@ function ObjectDetailsTab({ | ||||
|         </div> | ||||
|       </div> | ||||
|       <div className="flex flex-col gap-1.5"> | ||||
|         {config?.cameras[search.camera].genai.enabled && | ||||
|         !search.end_time && | ||||
|         (config.cameras[search.camera].genai.required_zones.length === 0 || | ||||
|           search.zones.some((zone) => | ||||
|             config.cameras[search.camera].genai.required_zones.includes(zone), | ||||
|           )) && | ||||
|         (config.cameras[search.camera].genai.objects.length === 0 || | ||||
|           config.cameras[search.camera].genai.objects.includes( | ||||
|             search.label, | ||||
|           )) ? ( | ||||
|           <> | ||||
|             <div className="text-sm text-primary/40">Description</div> | ||||
|             <div className="flex h-64 flex-col items-center justify-center gap-3 border p-4 text-sm text-primary/40"> | ||||
|               <div className="flex"> | ||||
|                 <ActivityIndicator /> | ||||
|               </div> | ||||
|               <div className="flex"> | ||||
|                 Frigate will not request a description from your Generative AI | ||||
|                 provider until the tracked object's lifecycle has ended. | ||||
|               </div> | ||||
|             </div> | ||||
|           </> | ||||
|         ) : ( | ||||
|           <> | ||||
|             <div className="text-sm text-primary/40">Description</div> | ||||
|             <Textarea | ||||
|               className="h-64" | ||||
| @ -476,9 +500,13 @@ function ObjectDetailsTab({ | ||||
|               value={desc} | ||||
|               onChange={(e) => setDesc(e.target.value)} | ||||
|             /> | ||||
|           </> | ||||
|         )} | ||||
| 
 | ||||
|         <div className="flex w-full flex-row justify-end gap-2"> | ||||
|           {config?.cameras[search.camera].genai.enabled && ( | ||||
|             <div className="flex items-center"> | ||||
|           {config?.cameras[search.camera].genai.enabled && search.end_time && ( | ||||
|             <> | ||||
|               <div className="flex items-start"> | ||||
|                 <Button | ||||
|                   className="rounded-r-none border-r-0" | ||||
|                   aria-label="Regenerate tracked object description" | ||||
| @ -515,7 +543,7 @@ function ObjectDetailsTab({ | ||||
|                   </DropdownMenu> | ||||
|                 )} | ||||
|               </div> | ||||
|           )} | ||||
| 
 | ||||
|               <Button | ||||
|                 variant="select" | ||||
|                 aria-label="Save" | ||||
| @ -523,6 +551,8 @@ function ObjectDetailsTab({ | ||||
|               > | ||||
|                 Save | ||||
|               </Button> | ||||
|             </> | ||||
|           )} | ||||
|         </div> | ||||
|       </div> | ||||
|     </div> | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user