Qoʻllanma · AI · ESP32
ESP32 ga oʻylaydigan yuz bering
ESP32 katta til modelini tortmaydi — ammo u uchun ideal front-end boʻladi. Chip savolni qabul qiladi, joylashtirilgan model oʻylaydi, robot-yuz esa butun yoʻl davomida reaksiya bildiradi: tinglaydi → oʻylaydi → gapiradi → tayyor. Mana arxitektura, bitta muhim xavfsizlik qoidasi va hammasini bogʻlaydigan usul.
Sxema: ESP oldinda, model orqada
AI’ni chipning oʻzida yurgizishga urinma. Yutuqli boʻlinish oddiy: ESP32 interfeysni boshqaradi — kirishni oladi (matn, tugma, keyin mikrofon), nima boʻlayotganini koʻrsatadi va javobni chizadi — joylashtirilgan model esa tilni bajaradi. Oʻrtada — sen nazorat qiladigan kichik server. Soʻrov bir tomonga ketib, qaytadi:
sen yozasan → ESP32 → sening proksing → LLM → javob + kayfiyat → ESP32 yuzi Foydalanuvchi koʻradigan va tegadigan hamma narsa ESP’da yashaydi va jonli veb-dashboard sifatida beriladi — shunday qilib «agent»ning ovozdan ancha oldin tanasi bor.
Bitta qoida: API kalit hech qachon ESP’ga tegmaydi
Aynan shu joyda koʻpchilik xato qiladi. LLM API kalitini proshivkaga hech qachon
joylashtirmang. Flesh’dan .bin ni olgan har kim uni oʻqiydi —
ESP32 nimani qayerda saqlashiga qarang — va mikrokontroller baribir
ta’minotchining aylanuvchi TLS zanjirini xavfsiz «pin» qila olmaydi. Buning oʻrniga ingichka
proksi (Cloudflare Worker, kichik Node yoʻli) koʻtaring — u sirni saqlaydi. ESP sening
URL’ingni oddiy xabar bilan chaqiradi; proksi kalitni qoʻshadi, modelni chaqiradi va kichik JSON
qaytaradi. Bu taxminan oʻn besh qator — va bitta qurilmani ham qayta proshivka qilmasdan modellarni
almashtirish, limit va kesh qoʻyish imkonini beradi.
Yuz — holatlar mashinasi
Mana hammasini jonlantiradigan usul: tarmoq soʻrovida holatlar bor — yuborish, kutish, javob-keldi, xato — va ular ifodalarga bir-birga toʻgʻri keladi. Sen jarayonni matn bilan tasvirlamaysan; yuz oʻzi progress-bar. Bitta bogʻlangan oʻzgaruvchini oʻrnatasan — beriladigan yuz (va qurilmadagi istalgan ekran) WebSocket orqali unga ergashadi:
mood = FACE_LISTENING; // soʻraldi
mood = FACE_PONDERING; // modelga topshirildi
reply = askAgent(msg); // proksi chaqiruvi
mood = FACE_SPEAKING; // javob keldi
mood = replyMood; // modelning oʻz kayfiyatiga joylashish Oxirgi qator eng qizigʻi: model oʻz kayfiyatini oʻzi tanlasin. Undan javobni kayfiyat indeksi bilan tugatishni soʻra — va yuz «quvur»ni emas, javob mazmunini aks ettiradi: mamnun, ishonchsiz, uzr soʻrayotgan. Yuzda tanlash uchun oʻnlab holat bor (yigʻilgan va koʻrib chiqiladigan BoardLabda); agent jonli tuyulishi uchun bir hovuchi yetadi.
Kim nima qiladi
| Qatlam | Qayerda ishlaydi | Vazifasi |
|---|---|---|
| Yuz + UI | ESP32 da | kirishni olish, holatni koʻrsatish, javobni chizish |
| Proksi | sening serving / Worker | kalitni saqlash, modelni chaqirish, JSON’ni shakllantirish |
| Model | bulutda | tushunish, javob berish, kayfiyat tanlash |
Chegarani toza tut — va har boʻlak almashtiriladigan boʻlib qoladi: proksida modelni almashtirasan, proshivkada yuzni qayta boʻyaysan, biri ikkinchisiga tegmaydi.
Keyin qayerga
Brauzerdagi matn — eng oddiy front-end, ammo aynan shu pipeline tugma yoki mikrofonni ham xuddi shunday qabul qiladi — kirishni almashtirasan, holatlar mashinasini qoldirasan. Unga toʻgʻri radio va quvvat manbai qoʻsh — gapiradigan yuz javondagi haqiqiy qurilmaga aylanadi. Toʻliq sketch (proksi shartnomasi bilan) RisalDash omborida AI-Agent misoli sifatida keladi.
Avval tana? Toʻliq jonli dashboard — yuz, datchiklar, boshqaruv — bir necha qator C++.
Agent yuzi jonli
Bu pipeline boshqaradigan holatlardan bir nechasi — oʻzi animatsiya boʻladi.