Полностью локальный голосовой ассистент на Python. Стек: - Wake word: openWakeWord (onnxruntime) - STT: RealtimeSTT + faster-whisper + Silero VAD (CUDA) - LLM-агент: smolagents ToolCallingAgent + Ollama qwen2.5:7b - TTS: Silero V4 (torch.hub) + sounddevice - Shell: Git Bash (Windows) / bash (macOS) Поддерживает Windows и macOS. Агент с памятью и tool calling — находит программы самостоятельно, запоминает пути, выполняет произвольные shell-команды. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
54 lines
1.4 KiB
YAML
54 lines
1.4 KiB
YAML
# Конфиг для обучения wake word модели "Hey Cosmo"
|
|
# Документация: https://github.com/dscripka/openWakeWord
|
|
|
|
model_name: "hey_cosmo"
|
|
output_dir: "/output"
|
|
|
|
# Целевая фраза — "hey cosmo" работает лучше чем просто "cosmo"
|
|
target_phrase:
|
|
- "hey cosmo"
|
|
- "cosmo"
|
|
|
|
# Похожие слова для улучшения устойчивости к ложным срабатываниям
|
|
custom_negative_phrases:
|
|
- "hey cosmos"
|
|
- "hey cosmic"
|
|
- "hey cosplay"
|
|
- "hey presto"
|
|
- "hey como"
|
|
- "hey koz"
|
|
- "cozmo"
|
|
|
|
# Количество синтетических примеров
|
|
n_samples: 10000
|
|
n_samples_val: 1000
|
|
tts_batch_size: 25
|
|
|
|
# Аугментация
|
|
augmentation_batch_size: 16
|
|
augmentation_rounds: 2
|
|
|
|
# Пути внутри Docker контейнера
|
|
piper_sample_generator_path: "/piper-sample-generator"
|
|
false_positive_validation_data_path: "/data/validation_set_features.npy"
|
|
|
|
feature_data_files:
|
|
"ACAV100M_sample": "/data/openwakeword_features_ACAV100M_2000_hrs_16bit.npy"
|
|
|
|
batch_n_per_class:
|
|
"ACAV100M_sample": 1024
|
|
"adversarial_negative": 50
|
|
"positive": 50
|
|
|
|
# Архитектура модели
|
|
model_type: "dnn"
|
|
layer_size: 32
|
|
steps: 50000
|
|
|
|
# Цели качества
|
|
max_negative_weight: 1500
|
|
target_false_positives_per_hour: 0.5
|
|
target_accuracy: 0.7
|
|
target_recall: 0.5
|
|
lr: 0.0001
|