forked from open-edge-platform/edge-ai-suites
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfig.yaml
More file actions
383 lines (315 loc) · 12.4 KB
/
config.yaml
File metadata and controls
383 lines (315 loc) · 12.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
app:
name: Smart Classroom
cleanup_on_exit: true
use_ov_genai: True # True or False, applicable for provider: openvino
monitoring:
logs_dir: ./monitoring/logs
interval: 2
socwatch_path: monitoring/tools/socwatch_windows_v2026.0/64/socwatch.exe
npu_exe_path: tools/level-zero/build/bin/Release/npu_utilization.exe
execution_logs: monitoring/executionlogs
models:
asr:
provider: openai # openvino, funasr and openai supported
name: whisper-small # can be (whisper-base, whisper-small etc) or paraformer-zh
device: CPU # CPU Recommended
temperature: 0.0
diarization: False
hf_token: None # needed only if diarization=true
models_base_path: "models"
threads_limit: Null # applied only if > 0 (else defaults are used); value can be tuned based on CPU specifications
no_speech_threshold: 0.6
logprob_threshold: -1.0
min_duration_sec: 0.25
min_words: 2
summarizer:
provider: openvino
name: Qwen/Qwen2.5-7B-Instruct # Qwen/Qwen2-7B-Instruct or Qwen/Qwen2.5-7B-Instruct
device: GPU # GPU or CPU
weight_format: int8 # supports fp16, int4, int8 (Recommended)
max_new_tokens: 5120
temperature: 0.3 # 0.5 default
use_cache: True
models_base_path: "models"
language: en # en or zh
mode: dialog # dialog | teacher | hybrid
system_prompt:
en:
Dialog: |
Summarize the classroom transcript.
Format:
TEACHER = instructor
STUDENT_XX = students
Instructions:
- Provide a full dialog summary.
- Preserve the flow of discussion.
- Include both teacher explanations and questions.
- Ignore filler or repetition.
Output valid Markdown using exactly these sections:
## Teacher Summary
- ...
## Questions
- ...
## Key Takeaways
- ...
## Session Outline
- ...
Rules:
- Bullet points only.
- Do not quote transcript text.
- Do not add extra headings.
Teacher: |
Summarize only the TEACHER explanations from the transcript.
Instructions:
- Ignore student dialog completely.
- Focus strictly on teacher explanations.
- Do not invent missing content.
- If a section has no content, write "None".
Output valid Markdown using exactly these sections:
## Teacher Summary
- ...
## Questions
- None
## Key Takeaways
- ...
## Session Outline
- ...
Rules:
- Bullet points only.
- Do not quote transcript text.
- Do not add extra headings.
Hybrid: |
Summarize with focus on TEACHER explanations,
but use STUDENT questions as supporting context.
Instructions:
- Teacher explanations are primary.
- Include student questions only when they clarify context.
- Do not invent content.
- Ignore filler.
Output valid Markdown using exactly these sections:
## Teacher Summary
- ...
## Questions
- ...
## Key Takeaways
- ...
## Session Outline
- ...
Rules:
- Bullet points only.
- Do not quote transcript text.
- Do not add extra headings.
zh:
Dialog: |
总结课堂转录内容。
转录格式:
教师 = 教师发言
学生_XX = 学生发言
指示:
- 提供完整的对话摘要。
- 保持讨论的整体流程。
- 包含教师讲解和学生提问。
- 忽略无意义的填充语或重复内容。
使用以下固定章节标题输出有效 Markdown:
## 教师总结
- ...
## 问题
- ...
## 关键要点
- ...
## 课程结构
- ...
规则:
- 仅使用项目符号列表。
- 不要直接引用原始转录文本。
- 不要添加额外标题。
Teacher: |
仅总结转录中 教师 的讲解内容。
指示:
- 完全忽略学生对话。
- 严格聚焦教师的解释内容。
- 不要编造缺失的内容。
- 如果某个章节没有内容,写 "None"。
使用以下固定章节标题输出有效 Markdown:
## 教师总结
- ...
## 问题
- None
## 关键要点
- ...
## 课程结构
- ...
规则:
- 仅使用项目符号列表。
- 不要直接引用原始转录文本。
- 不要添加额外标题。
Hybrid: |
以 教师 讲解为重点进行总结,
并在必要时使用 学生 提问作为上下文补充。
指示:
- 教师讲解为主要内容。
- 仅在学生问题能帮助理解上下文时才包含。
- 不要编造内容。
- 忽略填充语或重复内容。
使用以下固定章节标题输出有效 Markdown:
## 教师总结
- ...
## 问题
- ...
## 关键要点
- ...
## 课程结构
- ...
规则:
- 仅使用项目符号列表。
- 不要直接引用原始转录文本。
- 不要添加额外标题。
model_hub: huggingface # huggingface or modelscope
va:
models_base_path: "models"
threshold: 0.5 # confidence threshold for YOLO detections
embedding:
name: "BAAI/bge-large-en-v1.5"
min_score: 0.65
mindmap:
system_prompt:
en: |
Generate a comprehensive jsMind JSON structure that accurately captures ALL key concepts from the summary. Follow these strict rules:
1. The output must be a valid JSON object with "meta", "format", and "data" properties
2. Set format to "node_tree"
3. There must be exactly ONE root node with id "root"
4. If the summary contains multiple top-level topics, create a synthetic root topic that reflects the main theme:
- Use the actual title if provided
- Otherwise use descriptive titles like "Class Overview", "Lecture Summary", "Main Topics"
5. Each node must have "id" and "topic" properties
6. Child nodes are placed in a "children" array
7. IMPORTANT: Extract ALL key details and concepts from the summary:
- Include specific examples, definitions, and explanations mentioned
- Capture contrasts, comparisons, and relationships between concepts
- Include technical terms, equations, or scientific principles mentioned
- Don't oversimplify - preserve the depth and nuance of the content
8. Use descriptive and specific topic names that reflect the actual content:
- Instead of "Topic A" use "Discontinuous electron transitions between orbits"
- Instead of "Definition" use "Areas without atomic particles (ether/empty space)"
- Capture the essence and specificity of each concept
9. Create 2-4 levels of hierarchy to properly organize information:
- Main topics (from headings)
- Sub-concepts (key points within each topic)
- Specific details (examples, explanations, technical details)
10. Ensure conceptual accuracy - each node should represent a distinct, meaningful concept
11. Do NOT include any markdown formatting, code fences, or explanatory text
12. Output only the raw JSON structure
Example of GOOD specificity:
{
"meta": {
"name": "physics_lecture",
"author": "ai_assistant",
"version": "1.0"
},
"format": "node_tree",
"data": {
"id": "root",
"topic": "Quantum Mechanics and Wave Theory",
"children": [
{
"id": "wave_particle_duality",
"topic": "Wave-Particle Duality",
"children": [
{"id": "photon_behavior", "topic": "Photons exhibit both wave and particle properties"},
{"id": "double_slit", "topic": "Double-slit experiment demonstrates interference"},
{"id": "measurement_effect", "topic": "Measurement collapses wave function"}
]
},
{
"id": "uncertainty_principle",
"topic": "Heisenberg Uncertainty Principle",
"children": [
{"id": "position_momentum", "topic": "Cannot precisely know both position and momentum"},
{"id": "mathematical_formulation", "topic": "Δx·Δp ≥ ℏ/2 mathematical relationship"},
{"id": "quantum_limitations", "topic": "Fundamental limit of quantum measurements"}
]
}
]
}
}
zh: |
生成全面的jsMind JSON结构,准确捕获摘要中的所有关键概念。严格遵循以下规则:
1. 输出必须是包含"meta"、"format"和"data"属性的有效JSON对象
2. 将format设置为"node_tree"
3. 必须且只能有一个id为"root"的根节点
4. 如果总结内容包含多个顶级主题,创建反映主要主题的合成根主题:
- 如果提供了实际标题则使用(如"相对论与原子世界")
- 否则使用描述性标题如"课堂概览"、"课程总结"、"主要内容"
5. 每个节点必须有"id"和"topic"属性
6. 子节点放在"children"数组中
7. 重要:从摘要中提取所有关键细节和概念:
- 包括提到的具体例子、定义和解释
- 捕获概念之间的对比、比较和关系
- 包括提到的技术术语、方程或科学原理
- 不要过度简化 - 保持内容的深度和细致差别
8. 使用反映实际内容的描述性和具体的主题名称:
- 不用"主题A"而用"电子在轨道间的不连续跃迁"
- 不用"定义"而用"无原子粒子区域(以太/空间)"
- 捕获每个概念的本质和特殊性
9. 创建2-4层级结构来正确组织信息:
- 主要主题(来自标题)
- 子概念(每个主题内的关键点)
- 具体细节(例子、解释、技术细节)
10. 确保概念准确性 - 每个节点应代表一个独特、有意义的概念
11. 不要包含任何markdown格式、代码块或解释性文本
12. 只输出原始JSON结构
良好特异性示例:
{
"meta": {
"name": "physics_lecture",
"author": "ai_assistant",
"version": "1.0"
},
"format": "node_tree",
"data": {
"id": "root",
"topic": "量子力学与波动理论",
"children": [
{
"id": "wave_particle_duality",
"topic": "波粒二象性",
"children": [
{"id": "photon_behavior", "topic": "光子同时表现出波动和粒子特性"},
{"id": "double_slit", "topic": "双缝实验证明干涉现象"},
{"id": "measurement_effect", "topic": "测量导致波函数坍缩"}
]
},
{
"id": "uncertainty_principle",
"topic": "海森堡不确定性原理",
"children": [
{"id": "position_momentum", "topic": "无法同时精确知道位置和动量"},
{"id": "mathematical_formulation", "topic": "Δx·Δp ≥ ℏ/2 数学关系"},
{"id": "quantum_limitations", "topic": "量子测量的基本限制"}
]
}
]
}
}
min_token: 20
audio_preprocessing:
chunk_duration_sec: 15
silence_threshold: -35 # in dB
silence_duration: 0.3 # minimum silence length in seconds
search_window_sec: 1 # how far to look for silence if no silence exactly at chunk boundary
chunk_output_path: chunks/
audio_util:
max_size_mb: 200
allowed_extensions:
- .wav
- .mp3
- .m4a
chunk_size: 52428800 # 1024 * 1024 * 50 = 50MB
pipeline:
delete_chunks_after_use: true
va_pipeline:
mediamtx_path: components/va/bin/mediamtx
plugin_path: components/va
rtsp_codec: h264 # h264 or h265
output_rtsp_url: rtsp://127.0.0.1:8554
hls_base_url: http://127.0.0.1:8888