mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-05-07 05:55:27 +03:00
reindex with api endpoint and zmq
This commit is contained in:
parent
1233bc3a42
commit
265b9fa698
@ -298,3 +298,29 @@ def reprocess_license_plate(request: Request, event_id: str):
|
|||||||
content=response,
|
content=response,
|
||||||
status_code=200,
|
status_code=200,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@router.put("/reindex")
|
||||||
|
def reindex_embeddings(request: Request):
|
||||||
|
if not request.app.frigate_config.semantic_search.enabled:
|
||||||
|
message = (
|
||||||
|
"Cannot reindex tracked object embeddings, Semantic Search is not enabled."
|
||||||
|
)
|
||||||
|
logger.error(message)
|
||||||
|
return JSONResponse(
|
||||||
|
content=(
|
||||||
|
{
|
||||||
|
"success": False,
|
||||||
|
"message": message,
|
||||||
|
}
|
||||||
|
),
|
||||||
|
status_code=400,
|
||||||
|
)
|
||||||
|
|
||||||
|
context: EmbeddingsContext = request.app.embeddings
|
||||||
|
response = context.reindex_embeddings()
|
||||||
|
|
||||||
|
return JSONResponse(
|
||||||
|
content=response,
|
||||||
|
status_code=200,
|
||||||
|
)
|
||||||
|
|||||||
@ -17,6 +17,7 @@ class EmbeddingsRequestEnum(Enum):
|
|||||||
register_face = "register_face"
|
register_face = "register_face"
|
||||||
reprocess_face = "reprocess_face"
|
reprocess_face = "reprocess_face"
|
||||||
reprocess_plate = "reprocess_plate"
|
reprocess_plate = "reprocess_plate"
|
||||||
|
reindex = "reindex"
|
||||||
|
|
||||||
|
|
||||||
class EmbeddingsResponder:
|
class EmbeddingsResponder:
|
||||||
|
|||||||
@ -250,3 +250,6 @@ class EmbeddingsContext:
|
|||||||
return self.requestor.send_data(
|
return self.requestor.send_data(
|
||||||
EmbeddingsRequestEnum.reprocess_plate.value, {"event": event}
|
EmbeddingsRequestEnum.reprocess_plate.value, {"event": event}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def reindex_embeddings(self) -> dict[str, any]:
|
||||||
|
return self.requestor.send_data(EmbeddingsRequestEnum.reindex.value, {})
|
||||||
|
|||||||
@ -206,6 +206,9 @@ class EmbeddingMaintainer(threading.Thread):
|
|||||||
self.embeddings.embed_description("", data, upsert=False),
|
self.embeddings.embed_description("", data, upsert=False),
|
||||||
pack=False,
|
pack=False,
|
||||||
)
|
)
|
||||||
|
elif topic == EmbeddingsRequestEnum.reindex.value:
|
||||||
|
self.embeddings.reindex()
|
||||||
|
return "Embeddings reindex in progress"
|
||||||
|
|
||||||
processors = [self.realtime_processors, self.post_processors]
|
processors = [self.realtime_processors, self.post_processors]
|
||||||
for processor_list in processors:
|
for processor_list in processors:
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user