Spisu treści:
- Krok 1: Historia
- Krok 2: Budowa sprzętu
- Krok 3: Pierwsze kroki z SNIPS
- Krok 4: Połączenie ze Snips AI (projekt podstawowy)
- Krok 5: Połączenie ze Snips AI (projekt AI)
- Krok 6: Tworzenie aplikacji i zamiarów
- Krok 7: Nagraj Raspbian na kartę SD
- Krok 8: Zainstaluj platformę Snips
- Krok 9: Skonfiguruj sprzęt
- Krok 10: Importowanie modelu AI z konsoli
- Krok 11: Kod obsługi i akcji
- Krok 12: Rozwiązywanie problemów
- Krok 13: Obudowa
- Krok 14: Działanie AI
Wideo: Osobisty trener języka angielskiego - asystent głosowy AI: 15 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:30
Ten projekt pomoże uczniom, którzy przygotowują się do dowolnego egzaminu językowego, gdzie mogą być szkoleni poprzez interakcję ze Snips AI.
Krok 1: Historia
Dlaczego to zbudowaliśmy?
Z własnego doświadczenia widziałem wiele osób przygotowujących się do różnych testów językowych, takich jak GRE, TOEFL, IELTS. Potrzebują osoby, która pomoże im w zapamiętaniu i zrozumieniu słów. Generalnie, gdy osoba przygotowuje się do takich egzaminów, potrzebuje osoby, która sprawdzi i poprawi, jeśli popełni błąd. Dzięki takiemu rozwiązaniu możemy zredukować siłę roboczą, zatrudniając asystenta głosowego.
Krok 2: Budowa sprzętu
Przede wszystkim chciałbym podziękować SNIPS i SEEED za wsparcie tego projektu niesamowitym zestawem Snips Voice Interaction Development Kit (zestaw podstawowy), naprawdę czułem się pouczająco korzystając z tej płyty i byłem w stanie osiągnąć niektóre złożone projekty zintegrowane z płytką PCB.
Możesz kupić zestaw bazowy do interakcji głosowych Snips za 115 USD i zestaw satelitarny do interakcji głosowych Snips za 85 USD
Krok 3: Pierwsze kroki z SNIPS
Zanim zaczniesz, przejrzyjmy, czego będziesz potrzebować.
- Raspberry Pi 3B/B+ (zalecane) lub Pi 2 Model B (obsługiwane).
- Kabel Micro-USB i zasilacz Micro-USB do Raspberry Pi.
- Karta Micro SD (minimum 8 GB) - do rozpoczęcia wymagany jest system operacyjny. Możesz pobrać Raspbian Stretch i skorzystać z przewodników dla systemów Mac OS, Linux i Windows w witrynie Raspberry Pi.
- Klawiatura i mysz USB oraz zewnętrzny monitor HDMI – zalecamy również posiadanie pod ręką klawiatury i myszy USB oraz monitora HDMI.
- Połączenie internetowe (Ethernet lub WiFi)
Zestaw podstawowy do interakcji głosowej Snips
Zestawy programistyczne do interakcji głosowych Snips umożliwiają użytkownikom szybkie rozpoczęcie opracowywania interfejsów głosowych i łatwą integrację platformy głosowej Snips AI ze sprzętem. Snipy działają na urządzeniu, co oznacza, że wszystkie polecenia głosowe i dane są przetwarzane lokalnie, a nie wysyłane do chmury. To przetwarzanie na urządzeniu skutkuje całkowicie bezpiecznym asystentem głosowym offline, który zapewnia prywatność Twoich danych osobowych, tak jak powinna.
Zestaw bazowy interakcji głosowych pozwala na uruchomienie całej platformy głosowej Snips AI. Zasilany przez Raspberry Pi 3 Model B+ i ReSpeaker 2-Mics Pi HAT, może działać jako inteligentny głośnik domowy. Razem z zestawem dostarczany jest głośnik, czujnik temperatury i wilgotności Grove (SHT31), przekaźnik Grove - oraz tablica do zawieszania na ścianie lub skomponowanie ładnego stojaka.
Ale to nie wszystko! Zestaw satelitarny do interakcji głosowej rozszerzy twoją stację bazową, aby dotrzeć do każdego pomieszczenia w domu i umożliwi interakcję ze sprzętem w zależności od tego, gdzie wydajesz polecenia!
Zestaw zawiera płytkę Raspberry Pi3 B+, ReSpeaker 2-Mics Pi HAT, Grove – przekaźnik, Grove – czujnik temperatury i wilgotności (SHT31), głośnik 6 Ohm 2W, kartę MicroSD, zasilacz ze złączem Micro USB, kabel Grove x 2, akrylową podstawę płyta.
Etapy montażu: (Treść z SNIPS) Poniższy obraz jest przeglądem części montażowych.
Tutaj części montażowe są montowane na panelu podstawowym.
Następnie na płytce montowane są wszystkie części elektroniczne.
Następnie zamontuj akrylową osłonę ochronną na górze przekaźnika Grove.
Te 2 części służą do przekształcenia zestawu w stojak na stół.
Wreszcie jesteś gotowy do gry Snipsami.
Zestaw zapewnia dwa sposoby umieszczenia. Można go umieścić na poziomej powierzchni, jak stojak, lub zawiesić na ścianie za pomocą drutów lub nici. Należy uważać na przekaźnik, gdy zestaw jest włączony, ponieważ napięcie robocze będzie wysokie.
UWAGA: Posiadamy również zestaw satelitów do interakcji głosowych Snips, który ma zero Raspberry Pi zamiast Raspberry Pi 3B+
Krok 4: Połączenie ze Snips AI (projekt podstawowy)
- Zasil zestaw za pomocą domyślnego zasilacza w zestawie lub użyj zasilacza 5V-2A DC ze złączem Micro USB.
- Następnym krokiem jest zainstalowanie asystenta Snips w Raspberry Pi. Aby zaoszczędzić czas na konfigurację, karta MicroSD w zestawie została flashowana z pełnym funkcjonalnym obrazem systemu, co oznacza, że asystent Snips jest gotowy na Twoje słowa wyzwalające.
- Zdecydowanie zalecamy zapoznanie się z instrukcją instalacji krok po kroku, odwiedzając stronę: https://docs.snips.ai/getting-started/quick-start… i nauczenie się tego samego narzędzia w wierszu poleceń.
- Uruchom asystenta mówiąc „Hej-snips” i wykonaj polecenie:
Film przedstawiający przykład jest wstępnie zainstalowany w zestawie podstawowym Snips Voice Interaction poniżej.
Krok 5: Połączenie ze Snips AI (projekt AI)
Więc tak to działa. Najpierw używamy słowa-klucza, aby zainicjować rozpoznawanie Snips. Rozumie zdanie za pomocą Snips NLU i określa intencję. Następnie, korzystając z intencji, odpowiednio wyodrębnij gniazda. Za pomocą kodu akcji programujemy odpowiedź AI z odpowiednimi slotami.
Krok 6: Tworzenie aplikacji i zamiarów
- Utwórz Asystenta. W moim przypadku stworzyłem asystenta o imieniu JARVIS i ze słowem-kluczem JARVIS.
- Utwórz aplikację niestandardową lub dla początkujących skorzystaj z aplikacji z biblioteki.
- Stworzyłem Aplikację o nazwie Words
- Stwórz intencję i zacznij trenować sztuczną inteligencję. Odgrywa to ważną rolę w tworzeniu solidnej sztucznej inteligencji. Wytrenuj go ze wszystkimi możliwymi danymi wejściowymi.
- Utwórz miejsce, aby zidentyfikować słowa. Umieść szczelinę w oczekiwanej frazie zdania. Dla mojego przykładu, dane słowo jest nazwą slotu i jest podświetlone na niebiesko.
- Gdy to zrobisz, Twój niestandardowy ASR będzie gotowy. Spróbuj z danymi wejściowymi. Odpowiedź znajdziemy po prawej stronie, pod asystentem. Daje to wyodrębnienie surowej wartości, nazwy intencji i slotu.
- Zdefiniuj sloty z większą liczbą przykładów, jak podano poniżej
- Na koniec wdróż swojego asystenta, aby korzystać ze spersonalizowanej sztucznej inteligencji.
Krok 7: Nagraj Raspbian na kartę SD
Raspbian to ulubiona dystrybucja Linuksa działająca na Raspberry Pi. W tym przewodniku będziemy używać wersji Lite, ale można również użyć wersji Desktop (która zawiera środowisko graficzne).
- Pobierz Etcher i zainstaluj go.
- Podłącz czytnik kart SD z kartą SD w środku.
- Otwórz Etcher i wybierz z dysku twardego plik.img lub.zip Raspberry Pi, który chcesz zapisać na karcie SD
- Wybierz kartę SD, na której chcesz zapisać swój obraz.
- Przejrzyj swoje wybory i kliknij „Flash!” rozpocząć zapisywanie danych na karcie SD
Podłącz urządzenie do swojej sieci
- Włącz dostęp SSH, dodając pusty plik ssh, ponownie umieszczony w katalogu głównym woluminu rozruchowego na karcie SD.
- Włóż kartę SD do Raspberry Pi. Uruchomi się za około 20 sekund. Powinieneś teraz mieć dostęp SSH do swojego Raspberry Pi. Domyślnie jego nazwą hosta będzie raspberrypi.local. Na komputerze otwórz okno terminala i wpisz:
Domyślne hasło to malina
Krok 8: Zainstaluj platformę Snips
Jeśli jeszcze tego nie zrobiłeś, zainstaluj Sam Command Line Interface na swoim komputerze. Otwórz okno terminala i wprowadź:
sudo npm install -g snips-samor npm install -g snips-sam //Windows
Znajdź swoje Raspberry Pi w sieci, uruchamiając:
same urządzenia
Następnie nawiąż połączenie z urządzeniem. Zostaniesz poproszony o podanie nazwy użytkownika i hasła urządzenia (domyślnie odpowiednio pi i raspberry):
Sam połącz
Jesteśmy teraz gotowi do zainstalowania platformy Snips na Raspberry Pi. Wpisz polecenie:
sam init
Krok 9: Skonfiguruj sprzęt
Sam udostępnia kilka poleceń ułatwiających instalację i konfigurację komponentów sprzętowych. W tej sekcji ustawimy głośnik i mikrofon. W zależności od konfiguracji należy wykonać niestandardową konfigurację.
Sama konfiguracja dźwięku
Przetestuj głośnik
Aby sprawdzić, czy głośnik działa, uruchom
sam głośnik testowy
Jeśli wszystko działa dobrze, powinieneś usłyszeć na głośniku głos mówiący kilka słów. Skonfiguruj mikrofon Możesz sprawdzić, czy Twój mikrofon działa:
sam mikrofon testowy
Zakładając, że masz głośnik, jeśli wyraźnie słyszysz to, co właśnie powiedziałeś, możesz przejść dalej bez dalszej konfiguracji mikrofonu.
Po upewnieniu się, że konfiguracja sprzętu działa, możesz przejść do następnego kroku, w którym wdrożysz swojego pierwszego asystenta.
Krok 10: Importowanie modelu AI z konsoli
Po utworzeniu asystenta z poprzednich kroków zaloguj się do konsoli z okna terminala, uruchamiając:
sam login
Zostaniesz poproszony o podanie swoich danych logowania do Snips Console.
Następnie zainstaluj asystenta:
asystent instalacji sam
Jeśli utworzyłeś kilku asystentów w konsoli, zostaniesz poproszony o wybranie z listy, którego chcesz zainstalować.
Krok 11: Kod obsługi i akcji
Aby Raspberry Pi zareagowało, będziemy musieli napisać kod obsługi. Jest to kod, który jest wykonywany, gdy na platformie Snips wydarzy się określone zdarzenie, na przykład po wykryciu zamiaru.
Masz różne metody tworzenia Handlera w zależności od funkcjonowania.
Utwórz folder na swoim komputerze, na którym chcesz przechowywać swój kod obsługi. W oknie terminala przejdź do tego katalogu i wprowadź:
początek npm
Spowoduje to utworzenie pliku o nazwie package.json, który zawiera opis projektu, zależności i wiele więcej. Następnie dodaj zależność pakietu mqtt:
npm zainstaluj mqtt --save
Teraz utwórz plik o nazwie index.js i wklej następujący kod, zastępując zmienną hostname nazwą hosta twojego Raspberry Pi (jeśli różni się od domyślnego raspberrypi):
var mqtt = wymagaj('mqtt');
var nazwa hosta = "mqtt://raspberrypi.local"; var klient = mqtt.connect(nazwa hosta); client.on('connect', function () { console.log("[Dziennik Snips] Połączony z brokerem MQTT " + nazwa hosta); client.subscribe('hermes/#'); }); client.on('wiadomość', function (temat, wiadomość) { if (topic === "hermes/asr/startListening") { onListeningStateChanged(true); } else if (topic === "hermes/asr/stopListening") { onListeningStateChanged(false); } else if (topic.match(/hermes\/hotword\/.+\/detected/g) !== null) { onHotwordDetected() } else if (topic.match(/hermes\ /intent\/.+/g) !== null) { onIntentDetected(JSON.parse(wiadomość)); } }); function onIntentDetected(intent) { console.log("[Snips Log] Wykryto intencję: " + JSON.stringify(intent)); } function onHwordDetected() { console.log("[Dziennik wycinków] Wykryto słowo-klucz"); } function onListeningStateChanged(listening) { console.log("[Dziennik Snipsa] " + (listening ? "Start": "Stop") + " Listen"); }
Uruchom ten kod za pomocą węzła:
node index.js
Powinieneś zobaczyć komunikat o udanym połączeniu z brokerem Snips MQTT. Tak jak poprzednio, wykonaj interakcję głosową z Raspberry Pi:
Hej Snips, jaka jest pogoda w Chennai
Powinieneś zobaczyć aktualizacje dzienników:
[Snips Log] Połączono z brokerem MQTT mqtt://raspberrypi.local
[Dziennik Snipsa] Wykryto słowo-klucz [Dziennik Snipsa] Rozpocznij nasłuchiwanie [Dziennik Snipsa] Zatrzymaj nasłuchiwanie [Dziennik Snipsa] Wykryto intencję: {"sessionId":"c84b5aa5-3f14-4218-975e-8872b9217933", "customData":null, "siteId ": "default", "input":"jaka jest pogoda w chennai", "intent":{"intentName":"searchWeatherForecast", "probability":0.73845243}, "slots":[{"rawValue":" chennai", "value":{"kind":"Niestandardowe", "value":"Chennai"}, "range":{"start":44, "end":53}, "entity":"locality", "slotName":"lokalizacja_prognozowania"}]}
Krok 12: Rozwiązywanie problemów
Usuń poprzedniego asystenta, jeśli taki istnieje
$ sudo rm -rf /usr/share/snips/asystent/
Aby zmienić katalog na Asystenta
cd /var/lib/snips/umiejętności/
Aby sklonować zawartość repozytorium do lokalnego
git klon
Aby uruchomić skrypt setup.sh
./setup.sh
Aktywuj środowisko wirtualne
źródło venv/bin/aktywuj
Uruchom kod akcji
./akcja-.py
Aby dać uprawnienia do skryptu Pythona
chmod +x akcja-.py
Krok 13: Obudowa
- Do tego projektu użyłem obudowy o stopniu ochrony IP
- Najpierw wykonałem niezbędne otwory do montażu obwodów i gniazd na przewód zasilający i kabel HDMI.
- Następnie umieściłem wszystkie Raspberry Pi w obudowie i mocno je przykręciłem.
- Zrobiłem mały otwór na głośnik i mikrofon i zakryłem go małym kawałkiem akrylu.
- Mocno podłącz głośnik do czapki ReSpeaker.
- Na koniec wszystkie śruby są mocno zamocowane, a kabel zasilający jest wsuwany przez szczelinę.
- Tak wreszcie wygląda sztuczna inteligencja:D
Krok 14: Działanie AI
Możesz znaleźć dane, które są monitorowane za pomocą Snips-watch
Teraz czas na przedstawienie. Zacząłem tworzyć z Simple Greetings AI. Spójrz na to, jak działa.
Trener AI został zaprogramowany na ograniczone słowa. Można to rozszerzyć z niewielkimi modyfikacjami. Pomaga to Uczniom zapamiętać znaczenie szybciej niż tradycyjna metoda.
Uwaga: ten projekt jest szkolony na około 25 słów. Można go dodatkowo rozszerzyć, wprowadzając drobne poprawki w kodzie akcji.
Skrypty akcji można znaleźć w moim repozytorium Github w załączeniu.
Projekt Repo dla Pozdrowień AI -
Repozytorium projektu dla trenera AI -
Link do Mojej aplikacji:
Cała konfiguracja kosztuje około 115 USD, które można kupić w SNIPS, a to rozwiązanie jest bardzo tanie i skuteczne w porównaniu z tradycyjnymi metodami. W Indiach wykonano około 100 000 testów i ten produkt będzie najlepszym suplementem dla osób przyjmujących GRE.
Daj kciuki, jeśli to naprawdę ci pomogło i śledź mój kanał, aby znaleźć ciekawe projekty.:) Udostępnij ten film, jeśli chcesz. Cieszę się, że subskrybujesz: https://console.snips.ai/store/en/skill_xBKlxnE5K… Dziękujemy za przeczytanie!
Zalecana:
Dokładne, szybkie i automatyczne ustawianie DS3231 RTC (zegar czasu rzeczywistego) za pomocą języka Java (+-1 s): 3 kroki
Dokładne, szybkie i automatyczne ustawianie zegara czasu rzeczywistego DS3231 (zegar czasu rzeczywistego) za pomocą języka Java (+-1 s): Ta instrukcja pokaże, jak ustawić czas w zegarze czasu rzeczywistego DS3231 za pomocą Arduino i małej aplikacji Java, która używa połączenie szeregowe Arduino.Podstawowa logika tego programu:1. Arduino wysyła żądanie szeregowe
Elektryczny moduł głosowy Tama Techstar do montażu w szafie rack: 7 kroków
Tama Techstar Electric Voice Module Rack Mount: Mam moduł perkusyjny Tama Techstar 500 Electric, który nie ma uszu rackowych. Postanowiłem umieścić to w stojaku i musiałem trochę zrobić. Spojrzałem na inny moduł Tama Drum, który miałem i zobaczyłem, że ma ten sam rozmiar i może użyć go jako szablonu do tego
PODSTAWOWY SAMOUCZEK DOTYCZĄCY JĘZYKA ZNACZNIKÓW SZTUCZNEJ INTELIGENCJI (AIML) ZA POMOCĄ NOTATNIKA: 8 kroków
PODSTAWOWY PORADNIK NA JĘZYKU ZNACZNIKÓW SZTUCZNEJ INTELIGENCJI (AIML) ZA POMOCĄ NOTATNIKA: Język znaczników sztucznej inteligencji (AIML) to język programowania, który jest specyfikacją Extensible Markup Language (XML) używaną przez chatbota, verbota, pandorabota, superbota i inne mówiące roboty. Został opracowany przez dr Richarda Wallace'a i
Osobisty trener ćwiczeń (projekt mikrokontrolera dla początkujących): 4 kroki
Osobisty trener ćwiczeń (projekt mikrokontrolera dla początkujących): Podsumowanie: Celem tej instrukcji jest stworzenie urządzenia, które pomoże zapewnić spójną rutynę ćwiczeń dla użytkownika roweru treningowego. Urządzenie: -Umożliwi użytkownikowi utrzymanie wysiłku poprzez miganie diody LED i sygnał dźwiękowy w kon
Dodaj obsługę języka wschodnioazjatyckiego do systemu Windows XP: 12 kroków
Dodaj obsługę języka wschodnioazjatyckiego do systemu Windows XP: Ta instrukcja nauczy Cię, jak dodawać znaki wschodnioazjatyckie do systemu Windows XP. Zrobiłem również tutaj system Windows Vista. Innymi słowy, umożliwia to dodawanie znaków chińskich, koreańskich, japońskich itp. do systemu Windows XP, dzięki czemu możesz czytać i pisać w tych ch