AI tədqiqatı2026
LangVis
Hər cümləni düzəldən və öyrənəni A2-dən B2-yə aparan real vaxt səsli dil tutoru.
- Kurs
- 24 bölmə · A2→B2
- İzlənən bacarıqlar
- ~40
- Tədris metodları
- 18
- Səs
- 16 kHz giriş · 24 kHz çıxış
01Ümumi baxış
LangVis masaüstü danışıq kursudur. Öyrənən danışır; tutor dinləyir, cümləni düzəldir, təkrar etməyi xahiş edir və fikri daha güclü ifadə etməyin yolunu təklif edir. Səhvləri yadda saxlayır və təkrarlananları qısa məşqlərə çevirir.
O, bilərəkdən köməkçi deyil: bir işi var - öyrənənin daha yaxşı danışmasını təmin etmək - və arxitekturanın hər hissəsi bu dövrə xidmət edir.
02Problem
Danışıq praktikası ani, gecikməsiz söhbət tələb edir, yaxşı düzəliş isə hər cümlənin diqqətli analizini. Hər ikisini bir model çağırışında etmək ya söhbəti yavaşladır, ya da rəyi səthi edir.
03Arxitektura
İki model yolu yan-yana işləyir: canlı audio sessiyası söhbəti axıcı saxlayır, kiçik və sürətli model isə arxa planda hər cümləni analiz edir və növbəti promptu formalaşdıran öyrənən modelini yeniləyir.
İnterfeys
Proqram
Mərhələlər, bölmələr, qaydalar
Kouçinq
Düzəlişlər, məsləhətlər, təkmilləşdirmələr
Lüğət
Səviyyədən bir addım yuxarı sözlər
Tutorun üzü
Səs səviyyəsinə görə real vaxtda çəkilir
Canlı sessiya
Audio giriş/çıxış
Mikrofon və dinamik axınları
Gemini Live
İkitərəfli real vaxt səs
Yenidən qoşulma
Sessiyanın bərpası
Tutor domeni
Dil tutoru
müşahidə → ölçmə → öyrətmə
Analiz
Hər cümlə üçün, əsas axından kənarda
Kurikulum
Bacarıqlar, bölmələr, metodlar
İrəliləyiş
Səviyyə, bacarıqlar, lüğət
Nüvə
Plagin yükləyicisi
Alətlər, müşahidəçilər, prompt blokları
Oyandırma sözü
İstəyə bağlı, tam oflayn
Öz jurnalı
Öz çıxışı və xətaları
Lokal saxlama
level.json
Həqiqət mənbəyi
progress.md
Oxunaqlı, yenidən yaradılır
memory/
Parametrlər və API açarı
04Komponentlər
Canlı sessiya
Gözləmədən söhbət
- 16 kHz mikrofon səsini Gemini Live API-yə göndərir və 24 kHz cavabları səsləndirir.
- Serverin GoAway mesajlarını və parametr dəyişikliklərini söhbət kontekstini saxlaya və ya ata bilən idarə olunan yenidən qoşulma ilə emal edir.
google-genai · sounddevice · asyncio TaskGroup
Cümlə analizi
Hər ifadəni ölçür
- Yüngül model hər cümlə üçün strukturlaşdırılmış JSON qaytarır: səhvlər, düzgün forma, bacarıq etiketləri, CEFR sübutları.
- Arxa planda işləyir, ona görə canlı model onu heç vaxt gözləmir.
- Lokal söz səviyyəli yoxlamalar ucuz suallara (bu söz işlənibmi?) model çağırışı olmadan cavab verir.
gemini-flash-lite · tolerant JSON parsing
Kurikulum və irəliləyiş
Növbəti nəyi öyrətmək
- Hədəf formaları, nümunə cümlələri və adlandırılmış tədris metodları olan 6 mərhələ × 4 bölmə.
- Hər birinin mənimsəmə dərəcəsi, real səhvləri və təkrar tarixi olan ~40 qrammatik bacarıq.
- Ən zəif üç bacarıq fokus olur və növbəti sessiyanın promptuna əlavə edilir.
Plagin sistemi
Nüvəyə toxunmadan genişlənir
- plugins/ qovluğunda PLUGIN lüğəti və run() funksiyası olan istənilən fayl tutorun çağıra biləcəyi alətə çevrilir.
- İstəyə bağlı hook-lar plaginə hər cümləni müşahidə etməyə, daimi prompt təlimatları əlavə etməyə və ya interfeysdə görünməyə imkan verir.
05Necə işləyir
- 1
Danış
Səs canlı modelə axır; tutor əvvəlcə düzəliş edir, sonra davam edir.
- 2
Analiz et
Transkript səhvləri və bacarıqları etiketləyən arxa plan analizatoruna gedir.
- 3
Yenilə
Səviyyə, bacarıq mənimsəməsi və lüğət level.json-a yazılır; progress.md yenidən yaradılır.
- 4
Uyğunlaş
Eyni səhv üç dəfə təkrarlananda məşq başlayır; ən zəif bacarıqlar növbəti promptu formalaşdırır.
- 5
İrəlilə
Hədəf formalar möhkəmləndikdə növbəti bölmə sessiyanı yenidən başlatmadan açılır.
06Texniki təhlil
İki model, iki sürət
Canlı model gecikmə üçün, analiz modeli isə struktur və xərc üçün optimallaşdırılıb. Onları ayırmaq söhbəti təbii saxlayır, hər cümlə isə yenə də tam qrammatik yoxlamadan keçir.
Nəticələr format_for_prompt() plagin hook-u vasitəsilə geri qayıdır, beləliklə tutor növbəti cavabında nəyə fokuslanacağını bilir.
İdarə olunan yenidən qoşulmalar
Uzun səs sessiyaları bitir, cihazlar dəyişir və dil sessiyanın ortasında dəyişdirilə bilər. Proqram çökmək əvəzinə sessiyanın TaskGroup-u daxilində yenidən qoşulma siqnalı qaldırır. keep_context bayrağı sessiya bərpa açarının qalıb-qalmayacağına qərar verir - audio cihaz dəyişəndə qalır, yeni dil seçiləndə atılır.
class _ReconnectSignal(Exception):
"""Raised inside the session TaskGroup to force a clean reconnect."""
def request_reconnect(self, keep_context: bool = True, reason: str = ""):
self._reconnect_keep = keep_context # False → drop resumption handle
self._reconnect_reason = reason
self._reconnect_event.set()
# e.g. switching language starts a fresh context,
# changing the microphone keeps the conversation
self.request_reconnect(keep_context=False, reason="new language")
self.request_reconnect(keep_context=True, reason="audio device")Plagin müqaviləsi
Plaginlər başlanğıcda aşkar edilir. Eyni interfeys dil tutorunun özünü də işlədir - bu, nüvəni kiçik saxlayır və yeni dil əlavə etməyi kod deyil, data dəyişikliyinə çevirir.
PLUGIN = {
"name": "my_plugin", # unique snake_case tool name
"description": "When the tutor should call this tool.",
"parameters": {"type": "OBJECT", "properties": {...}, "required": []},
}
def run(parameters: dict, player=None, session_memory=None) -> str:
# Return a short sentence - it is spoken back to the learner.
# Never raise: catch errors and return them as text.
...
# Optional hooks
def observe(text, player): ... # see every sentence
def format_for_prompt() -> str: ... # add standing instructions
def set_language(name: str): ... # react to the language select07Dizayn qərarları
Səviyyə təxmin edilmir, ölçülür
CEFR səviyyəsi yerləşdirmə testi deyil, öyrənənin son cümlələri üzərində hesablanan sürüşkən baldır.
Lokal-first məxfilik
API açarı, parametrlər və bütün irəliləyiş faylları kompüterdə qalır və git-dən kənarda saxlanılır; səs yalnız sessiya zamanı modelə göndərilir.
Hazır şəkil yoxdur
Tutorun üzü, ikonlar və irəliləyiş zolaqları real vaxtda çəkilir, ona görə interfeys istənilən ekran miqyasında kəskin qalır.
Dillər data kimi
Yeni dil əlavə etmək onun bacarıqlarını və mərhələlərini kurikuluma yazmaq və söz səviyyəli detektor əlavə etmək deməkdir - interfeys artıq hazırdır.
08Texnologiyalar
- AI
- Gemini Live APIGemini Flash / Flash-LiteopenWakeWord (optional)
- Tətbiq
- PythonPyQt6asynciosounddeviceNumPy
- Saxlama
- JSON (level.json)Markdown (progress.md)
09Növbəti addımlar
- Slovak dili kursu (kurikulum və detektor artıq planlaşdırılıb).
- Audio axınından tələffüzün qiymətləndirilməsi.
Növbəti case study
DevCode Academy LMS
Proqramlaşdırma məktəbləri üçün rollara əsaslanan təhsil idarəetmə sistemi.