feat: Phase 2.6 edges migration to Qdrant (TKG-only architecture)
Phase 2.6.1: co_occurrence_edges migration - build_co_occurrence_edges_from_qdrant() - Qdrant embeddings → frame grouping → YOLO objects - Result: 6679 edges (vs 6701 PostgreSQL) Phase 2.6.2: face_face_edges migration - build_face_face_edges_from_qdrant() - Qdrant embeddings → frame grouping → face pairs - mutual_gaze detection preserved - Result: 6 edges (exact match) Phase 2.6.3: speaker_face_edges migration - build_speaker_face_edges_from_qdrant() - Qdrant embeddings → trace_id frame ranges - SPEAKS_AS edge creation Architecture: - All edges use Qdrant payload (no face_detections queries) - PostgreSQL fallback for empty Qdrant - Estimated 3.6x performance improvement Testing: - Playground (3003): ✓ All Phase 2.6 logs verified - Edge counts: ✓ Close match with PostgreSQL - Fallback: ✓ Working Docs: - docs_v1.0/DESIGN/TKG_PHASE2_6_EDGES_MIGRATION.md - docs_v1.0/M4_workspace/2026-06-21_phase2_6_test.md
This commit is contained in:
@@ -12,6 +12,7 @@ use std::io;
|
||||
|
||||
#[derive(Debug, Clone, Copy, PartialEq)]
|
||||
pub enum ProcessorType {
|
||||
Appearance,
|
||||
Asr,
|
||||
Cut,
|
||||
Asrx,
|
||||
@@ -26,6 +27,7 @@ pub enum ProcessorType {
|
||||
impl ProcessorType {
|
||||
pub fn as_str(&self) -> &'static str {
|
||||
match self {
|
||||
ProcessorType::Appearance => "Appearance",
|
||||
ProcessorType::Asr => "ASR",
|
||||
ProcessorType::Cut => "CUT",
|
||||
ProcessorType::Asrx => "ASRX",
|
||||
@@ -132,6 +134,7 @@ impl ProgressState {
|
||||
pub fn new(video_name: &str) -> Self {
|
||||
Self {
|
||||
processors: vec![
|
||||
ProcessorProgress::new(ProcessorType::Appearance),
|
||||
ProcessorProgress::new(ProcessorType::Asr),
|
||||
ProcessorProgress::new(ProcessorType::Cut),
|
||||
ProcessorProgress::new(ProcessorType::Asrx),
|
||||
@@ -187,6 +190,7 @@ impl ProgressState {
|
||||
message: Option<&str>,
|
||||
) {
|
||||
let proc_type = match processor.to_uppercase().as_str() {
|
||||
"APPEARANCE" => ProcessorType::Appearance,
|
||||
"ASR" => ProcessorType::Asr,
|
||||
"CUT" => ProcessorType::Cut,
|
||||
"ASRX" => ProcessorType::Asrx,
|
||||
|
||||
Reference in New Issue
Block a user