Add windowed segmentation pipeline and review tooling

This commit is contained in:
2026-07-22 16:15:02 +02:00
parent 889a4fe32d
commit 1a6d731d21
10 changed files with 9364 additions and 1 deletions
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,44 @@
{
"source": {
"file": "chunk_01_normalized.txt",
"block_count": 85,
"target_block_chars": 600
},
"topic_changes": [
4,
12,
18
],
"segments": [
{
"segment_id": "segment_001",
"start_block": 1,
"end_block": 4
},
{
"segment_id": "segment_002",
"start_block": 5,
"end_block": 12
},
{
"segment_id": "segment_003",
"start_block": 13,
"end_block": 18
},
{
"segment_id": "segment_004",
"start_block": 19,
"end_block": 85
}
],
"_run": {
"model": "qwen3:14b",
"elapsed_seconds": 1102.384,
"total_duration_ns": 1101522188709,
"load_duration_ns": 11306609917,
"prompt_eval_count": 15267,
"prompt_eval_duration_ns": 788583037000,
"eval_count": 19,
"eval_duration_ns": 301264558000
}
}
@@ -0,0 +1,492 @@
{
"topics": [
{
"topic_id": "topic_001",
"title": "Lüftungsanlage",
"segments": [
{
"start_block": 1,
"end_block": 5
},
{
"start_block": 6,
"end_block": 10
},
{
"start_block": 11,
"end_block": 15
},
{
"start_block": 16,
"end_block": 20
},
{
"start_block": 21,
"end_block": 25
},
{
"start_block": 26,
"end_block": 30
},
{
"start_block": 31,
"end_block": 35
},
{
"start_block": 36,
"end_block": 40
},
{
"start_block": 41,
"end_block": 45
},
{
"start_block": 46,
"end_block": 50
},
{
"start_block": 51,
"end_block": 55
},
{
"start_block": 56,
"end_block": 60
},
{
"start_block": 61,
"end_block": 65
},
{
"start_block": 66,
"end_block": 70
},
{
"start_block": 71,
"end_block": 75
},
{
"start_block": 76,
"end_block": 80
},
{
"start_block": 81,
"end_block": 85
}
]
},
{
"topic_id": "topic_002",
"title": "Wasserschaden alt",
"segments": [
{
"start_block": 8,
"end_block": 10
},
{
"start_block": 11,
"end_block": 15
},
{
"start_block": 16,
"end_block": 20
},
{
"start_block": 21,
"end_block": 25
},
{
"start_block": 26,
"end_block": 30
},
{
"start_block": 31,
"end_block": 35
},
{
"start_block": 36,
"end_block": 40
},
{
"start_block": 41,
"end_block": 45
},
{
"start_block": 46,
"end_block": 50
},
{
"start_block": 51,
"end_block": 55
},
{
"start_block": 56,
"end_block": 60
},
{
"start_block": 61,
"end_block": 65
},
{
"start_block": 66,
"end_block": 70
},
{
"start_block": 71,
"end_block": 75
},
{
"start_block": 76,
"end_block": 80
},
{
"start_block": 81,
"end_block": 85
}
]
},
{
"topic_id": "topic_003",
"title": "Wasserschaden neu",
"segments": [
{
"start_block": 84,
"end_block": 85
}
]
},
{
"topic_id": "topic_004",
"title": "Organisatorische Übergänge",
"segments": [
{
"start_block": 2,
"end_block": 2
},
{
"start_block": 3,
"end_block": 3
},
{
"start_block": 4,
"end_block": 4
},
{
"start_block": 5,
"end_block": 5
},
{
"start_block": 6,
"end_block": 6
},
{
"start_block": 7,
"end_block": 7
},
{
"start_block": 8,
"end_block": 8
},
{
"start_block": 9,
"end_block": 9
},
{
"start_block": 10,
"end_block": 10
},
{
"start_block": 11,
"end_block": 11
},
{
"start_block": 12,
"end_block": 12
},
{
"start_block": 13,
"end_block": 13
},
{
"start_block": 14,
"end_block": 14
},
{
"start_block": 15,
"end_block": 15
},
{
"start_block": 16,
"end_block": 16
},
{
"start_block": 17,
"end_block": 17
},
{
"start_block": 18,
"end_block": 18
},
{
"start_block": 19,
"end_block": 19
},
{
"start_block": 20,
"end_block": 20
},
{
"start_block": 21,
"end_block": 21
},
{
"start_block": 22,
"end_block": 22
},
{
"start_block": 23,
"end_block": 23
},
{
"start_block": 24,
"end_block": 24
},
{
"start_block": 25,
"end_block": 25
},
{
"start_block": 26,
"end_block": 26
},
{
"start_block": 27,
"end_block": 27
},
{
"start_block": 28,
"end_block": 28
},
{
"start_block": 29,
"end_block": 29
},
{
"start_block": 30,
"end_block": 30
},
{
"start_block": 31,
"end_block": 31
},
{
"start_block": 32,
"end_block": 32
},
{
"start_block": 33,
"end_block": 33
},
{
"start_block": 34,
"end_block": 34
},
{
"start_block": 35,
"end_block": 35
},
{
"start_block": 36,
"end_block": 36
},
{
"start_block": 37,
"end_block": 37
},
{
"start_block": 38,
"end_block": 38
},
{
"start_block": 39,
"end_block": 39
},
{
"start_block": 40,
"end_block": 40
},
{
"start_block": 41,
"end_block": 41
},
{
"start_block": 42,
"end_block": 42
},
{
"start_block": 43,
"end_block": 43
},
{
"start_block": 44,
"end_block": 44
},
{
"start_block": 45,
"end_block": 45
},
{
"start_block": 46,
"end_block": 46
},
{
"start_block": 47,
"end_block": 47
},
{
"start_block": 48,
"end_block": 48
},
{
"start_block": 49,
"end_block": 49
},
{
"start_block": 50,
"end_block": 50
},
{
"start_block": 51,
"end_block": 51
},
{
"start_block": 52,
"end_block": 52
},
{
"start_block": 53,
"end_block": 53
},
{
"start_block": 54,
"end_block": 54
},
{
"start_block": 55,
"end_block": 55
},
{
"start_block": 56,
"end_block": 56
},
{
"start_block": 57,
"end_block": 57
},
{
"start_block": 58,
"end_block": 58
},
{
"start_block": 59,
"end_block": 59
},
{
"start_block": 60,
"end_block": 60
},
{
"start_block": 61,
"end_block": 61
},
{
"start_block": 62,
"end_block": 62
},
{
"start_block": 63,
"end_block": 63
},
{
"start_block": 64,
"end_block": 64
},
{
"start_block": 65,
"end_block": 65
},
{
"start_block": 66,
"end_block": 66
},
{
"start_block": 67,
"end_block": 67
},
{
"start_block": 68,
"end_block": 68
},
{
"start_block": 69,
"end_block": 69
},
{
"start_block": 70,
"end_block": 70
},
{
"start_block": 71,
"end_block": 71
},
{
"start_block": 72,
"end_block": 72
},
{
"start_block": 73,
"end_block": 73
},
{
"start_block": 74,
"end_block": 74
},
{
"start_block": 75,
"end_block": 75
},
{
"start_block": 76,
"end_block": 76
},
{
"start_block": 77,
"end_block": 77
},
{
"start_block": 78,
"end_block": 78
},
{
"start_block": 79,
"end_block": 79
},
{
"start_block": 80,
"end_block": 80
},
{
"start_block": 81,
"end_block": 81
},
{
"start_block": 82,
"end_block": 82
},
{
"start_block": 83,
"end_block": 83
}
]
}
]
}
@@ -0,0 +1,199 @@
{
"source": {
"file": "chunk_01_normalized.txt",
"block_count": 85,
"target_block_chars": 600
},
"configuration": {
"model": "qwen3:8b",
"window_size": 20,
"window_overlap": 3,
"temperature": 0.0
},
"topic_changes": [
17,
24,
27,
31,
47,
49,
51,
68,
74,
80,
83
],
"segments": [
{
"segment_id": "segment_001",
"start_block": 1,
"end_block": 17
},
{
"segment_id": "segment_002",
"start_block": 18,
"end_block": 24
},
{
"segment_id": "segment_003",
"start_block": 25,
"end_block": 27
},
{
"segment_id": "segment_004",
"start_block": 28,
"end_block": 31
},
{
"segment_id": "segment_005",
"start_block": 32,
"end_block": 47
},
{
"segment_id": "segment_006",
"start_block": 48,
"end_block": 49
},
{
"segment_id": "segment_007",
"start_block": 50,
"end_block": 51
},
{
"segment_id": "segment_008",
"start_block": 52,
"end_block": 68
},
{
"segment_id": "segment_009",
"start_block": 69,
"end_block": 74
},
{
"segment_id": "segment_010",
"start_block": 75,
"end_block": 80
},
{
"segment_id": "segment_011",
"start_block": 81,
"end_block": 83
},
{
"segment_id": "segment_012",
"start_block": 84,
"end_block": 85
}
],
"windows": [
{
"window_number": 1,
"start_block": 1,
"end_block": 20,
"decision_start": 1,
"decision_end": 17,
"topic_changes": [
17
],
"_run": {
"model": "qwen3:8b",
"elapsed_seconds": 26.392,
"total_duration_ns": 26341490458,
"load_duration_ns": 3196577000,
"prompt_eval_count": 4093,
"prompt_eval_duration_ns": 22488752000,
"eval_count": 12,
"eval_duration_ns": 638303000
}
},
{
"window_number": 2,
"start_block": 18,
"end_block": 37,
"decision_start": 18,
"decision_end": 34,
"topic_changes": [
24,
27,
31
],
"_run": {
"model": "qwen3:8b",
"elapsed_seconds": 22.944,
"total_duration_ns": 22877936583,
"load_duration_ns": 123779000,
"prompt_eval_count": 3949,
"prompt_eval_duration_ns": 21491350000,
"eval_count": 20,
"eval_duration_ns": 1087620000
}
},
{
"window_number": 3,
"start_block": 35,
"end_block": 54,
"decision_start": 35,
"decision_end": 51,
"topic_changes": [
47,
49,
51
],
"_run": {
"model": "qwen3:8b",
"elapsed_seconds": 24.082,
"total_duration_ns": 24043266583,
"load_duration_ns": 125136708,
"prompt_eval_count": 4090,
"prompt_eval_duration_ns": 22621129000,
"eval_count": 20,
"eval_duration_ns": 1097246000
}
},
{
"window_number": 4,
"start_block": 52,
"end_block": 71,
"decision_start": 52,
"decision_end": 68,
"topic_changes": [
68
],
"_run": {
"model": "qwen3:8b",
"elapsed_seconds": 24.062,
"total_duration_ns": 24038158167,
"load_duration_ns": 122426834,
"prompt_eval_count": 4093,
"prompt_eval_duration_ns": 23031993000,
"eval_count": 12,
"eval_duration_ns": 633425000
}
},
{
"window_number": 5,
"start_block": 69,
"end_block": 85,
"decision_start": 69,
"decision_end": 84,
"topic_changes": [
74,
80,
83
],
"_run": {
"model": "qwen3:8b",
"elapsed_seconds": 21.497,
"total_duration_ns": 21473075042,
"load_duration_ns": 126962584,
"prompt_eval_count": 3481,
"prompt_eval_duration_ns": 20075508000,
"eval_count": 20,
"eval_duration_ns": 1065423000
}
}
],
"_run": {
"elapsed_seconds": 118.991
}
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,3 @@
{
"topic_changes": [12, 24]
}