feat: OCR independent chunks + TMDb seed with file_uuid
- Rule 1 now creates OCR-only chunks instead of merging into ASRX - generate_seed_embeddings.py supports --file-uuid parameter - get_seeds() filters by file_uuid - identity_matcher.py uses file_uuid for seed matching - Push QDRANT_API_KEY to Python subprocesses - Face clustering uses frame+bbox matching instead of face_id - Portal uses JWT authentication - FilesView filter logic fixed
This commit is contained in:
@@ -493,11 +493,12 @@ def push_seed_embedding(
|
||||
raise RuntimeError(f"Qdrant seed push failed: HTTP {e.code} - {error_body}")
|
||||
|
||||
|
||||
def get_seeds(source: str = None) -> list:
|
||||
def get_seeds(source: str = None, file_uuid: str = None) -> list:
|
||||
"""Get all seed points
|
||||
|
||||
Args:
|
||||
source: Filter by source ('tmdb', 'manual', 'propagation'), or None for all
|
||||
file_uuid: Filter by file_uuid, or None for all
|
||||
|
||||
Returns:
|
||||
List of seed points with payload and vector
|
||||
@@ -514,12 +515,14 @@ def get_seeds(source: str = None) -> list:
|
||||
"with_vector": True,
|
||||
}
|
||||
|
||||
filters = []
|
||||
if source:
|
||||
body["filter"] = {
|
||||
"must": [
|
||||
{"key": "source", "match": {"value": source}}
|
||||
]
|
||||
}
|
||||
filters.append({"key": "source", "match": {"value": source}})
|
||||
if file_uuid:
|
||||
filters.append({"key": "file_uuid", "match": {"value": file_uuid}})
|
||||
|
||||
if filters:
|
||||
body["filter"] = {"must": filters}
|
||||
|
||||
if offset:
|
||||
body["offset"] = offset
|
||||
|
||||
Reference in New Issue
Block a user