Tekoälyavustaja
Asetukset > Tekoälyavustaja yhdistää Athenan omiin, paikallisiin OpenAI-yhteensopiviin
mallipalvelimiisi - Keskustelu, Puheentunnistus ja Puhesynteesi ovat kolme täysin toisistaan
riippumatonta palvelinta, joten mikään ei vaadi kaikkien kolmen olevan sama instanssi. Athena
lisää itse tavalliset API-polut (/v1/chat/completions,
/v1/audio/transcriptions, /v1/audio/speech, ...) - roolin
palvelinosoite on vain kyseisen palvelimen oma perusosoite.
Asetuskortit
Jokainen alla olevista tallentuu erikseen, omalla Tallenna-painikkeellaan - yhden kortin muuttaminen ei koske toisen jo tallennettuja arvoja:
- Discovery - UDP-portti, jota Athena kuuntelee LlamaNexus-palvelimen omaa lähetystä varten, sekä "Select discovered server" -toiminto per rooli, joka valitsee suoraan jonkin lähiverkossa parhaillaan lähetettävistä palvelimista osoitteen käsin kirjoittamisen sijaan.
- Keskustelu (Chat) - palvelinosoite, Malli-valitsin (mukana "Search Hugging
Face for models…" -vaihtoehto, joka käyttää samaa latausvirtaa kuin keskustelusivun
oma mallinvaihtaja) sekä valinnainen API-avain. LlamaNexus-keskustelupalvelin tarvitsee
osoitteeseensa oman erikoisetuliitteensä
/openai. - Puheentunnistus (Speech to text) - samanmuotoinen kuin Keskustelu,
taustalla Whisper-yhteensopiva palvelin (LlamaNexus voi itse toimia tässä roolissa hallitun
whisper-server:n kautta). Myös sen Malli-valitsimella voi hakea whisper.cpp-malleja Hugging Facesta, mutta valittu malli tulee voimaan vasta kun kyseinen palvelin käynnistetään uudelleen sillä - toisin kuin Keskustelussa, tässä ei voi vaihtaa mallia lennossa. Kieli-kenttä (mikä tahansa Whisperin tukemasta 99 kielestä, tai Tunnista automaattisesti) lähetetään pyyntökohtaisena ohituksena, mutta tekee jotain vain monikielistä mallia vasten - sellaista, jonka tiedostonimessä ei ole.en- päätettä (esim.ggml-base.bin, eiggml-base.en.bin); pelkkää englantia osaava malli ohittaa sen ja litteroi silti englanniksi. - Puhesynteesi (Text to speech) - palvelinosoite ja äänen valitsin
Malli-kentän sijaan (OpenAI-muotoisen pyynnön
model-kenttä hyväksytään mutta ohitetaan jokaisella itse ylläpidetyllä TTS-palvelimella, jota Athena todellisuudessa käyttää, joten tälle roolille ei koskaan ollutkaan oikeaa Malli-asetusta). "Refresh voices" listaa palvelimelle jo ladatut äänet; "Search Hugging Face for voices…" hakee jokaisen virallisen Piper-äänen nimen tai kielen perusteella. Äänen vaihtaminen tulee voimaan heti seuraavassa puhutussa vastauksessa - ei vaadi uudelleenkäynnistystä. - Keskustelusivun työkalut (Chat page tools) - File-, Bash-, Planning- ja Agent-delegointityökalujen oletustila (päällä/pois) keskusteluistunnolle (katso alta), sekä saako muu kuin admin-käyttäjä ottaa ne käyttöön myös omissa istunnoissaan.
- Oletusjärjestelmäkehote (Default system prompt) - persoona/ohjeistus, jota käytetään aina kun alueella ei ole omaa järjestelmäkehotetta.
Jätä roolin palvelinosoite tyhjäksi poistaaksesi juuri sen roolin käytöstä - pelkkä Keskustelu ilman ääni-syötettä/-ulostuloa toimii ihan hyvin, ja päinvastoin.
Keskustelusivu
/assistant on täysimittainen keskusteluliittymä, ei pelkkä asetusten yhteenveto:
useita nimettyjä istuntoja, suoratoistettavat vastaukset, laajennettava "thinking"-lohko
malleille jotka raportoivat päättelynsä, sekä mallinvaihtaja (lataustila per malli, Eject-
toiminto ja sama Hugging Face -haku), joka mukailee LlamaNexuksen omaa palvelinpuolen
mallinhallintaa. Mikrofonipainike nauhoittaa ja litteroi asetetun Puheentunnistus-palvelimen
kautta; automaattinen ääneenluku-kytkin toistaa jokaisen vastauksen Puhesynteesin kautta.
Jokainen vastaus näyttää kehote-/vastaus-/kokonaistokenmäärät, kuluneen ajan ja tokenit
sekunnissa, aivan omien Read aloud- / Copy-toimintojensa vieressä.
"/"-komentopainikkeen vieressä oleva "+"-painike liittää tiedoston viestiin: teksti-/koodi- tiedostot luetaan selaimessa ja upotetaan kontekstiksi automaattisesti, PDF:stä poimitaan sen oma teksti paikallisesti (ei ulkoista palvelua, ei erillistä AI-kutsua), ja kuva lähetetään mallille vision-tyyppisenä liitteenä vain sitä yhtä vastausta varten - sitä ei toisteta enää myöhemmillä kierroksilla, jotta pitkä keskustelu ei kasva joka kerta kun siinä on jaettu kuva.
Avustaja tietää aina nykyisen päivämäärän/kellonajan - ei tallennettua hetkeä vastauksen alusta (jonka malli voisi muuten toistaa sanasta sanaan pitkän "thinking"-tauonkin jälkeen), vaan suoran haun virtuaalista "Current Time" -anturia vasten, jota se voi etsiä kuten mitä tahansa muuta kohdetta, Asetukset-sivun oman Alue-kortin asetetussa Aikavyöhyke-arvossa.
Työkalut (File, Bash, Planning, Agent)
Oletuksena pois päältä, istuntokohtaisesti: File ja Bash antavat keskustelumallille oikean tiedostojen luku-/kirjoitusoikeuden ja komentorivioikeuden itse Athena-palvelimella, aina varmistuksen takana ennen kuin mitään oikeasti suoritetaan. Planning antaa mallin seurata omaa monivaiheista tehtävälistaansa näkyvästi keskustelussa. Agent-delegointi antaa sen siirtää osatehtävän erilliselle mallikutsulle. Nämä ovat käytössä vain interaktiivisella keskustelusivulla - AI Action -automaatiot (katso alta) eivät koskaan saa tiedosto-/ komentorivioikeuksia.
Aluekohtaiset asetukset
Sijainnit ja alueet (Locations & Areas) -sivun alueen oma "Tekoälyavustaja"-painike
asettaa, onko avustaja käytössä kyseisellä alueella, läsnäolon aikakatkaisun (aluepohjaisia
läsnäoloautomaatioita varten), valinnaisen oman järjestelmäkehotteen, joka ohittaa yleisen
oletuksen, sekä "Ilmoita vastaukset kautta" -media player -asetuksen - kun se on asetettu,
kyseisellä alueella puhuttu äänisatelliitin vastaus toistuu myös sen kaiuttimen kautta (sen
lisäksi että satelliitti itse aina toistaa sen). Tämä ilmoittaa oikeasti toistaiseksi vain
silloin, kun valittu media player kääri ESPHome-laitteen
oman media_player:-entiteetin - muilla Media
player -sivun käärityillä lähteillä ei vielä ole yleistä "toista tämä URL" -ominaisuutta,
joten jonkin niistä valitseminen ei toistaiseksi tee mitään.
Äänisatelliittilaitteisto
Erillinen ESPHome-äänilaitteisto - Home Assistant Voice Preview Edition tai mikä tahansa muu
ESPHomen omalla voice_assistant:-komponentilla rakennettu laite - toimii Athenan
kanssa suoraan, eikä laitteen puolella tarvitse asettaa mitään erikoista. Pariuta se tavallisena
laitteena ESPHome-sivulla; Athena tunnistaa sen
ääniominaisuuden automaattisesti ja tilaa sen putken heti.
Sen herätesana tai painikkeen painallus striimaa mikrofoniäänen suoraan Athenalle samaa
yhteyttä pitkin. Athena litteroi sen, ajaa sen läpi oikean keskustelukierroksen täydellä
hallinnalla jokaiseen talon laitteeseen (ei rajattuna vain kyseisen satelliitin omaan huoneeseen),
ja puhuttu vastaus haetaan ja toistetaan satelliitin itsensä toimesta. Jokainen satelliitti saa
oman pysyvän keskusteluistuntonsa ensimmäisellä käyttökerralla, joka näkyy jälkeenpäin
tavallisen /assistant-sivun istuntolistassa, aivan sen vierellä mitä olet
itse kirjoittanut siellä.
Athena kuuntelee lyhyen tauon puhumisen jälkeen tietääkseen vuorosi päättyneen - automaattisesti, ilman laitekohtaisia asetuksia. Jos satelliitissasi on oma fyysinen pysäytyspainike/-toiminto, se toimii silti edelleen ja vastaa siihen mennessä tallennettuun sisältöön, aivan kuten luonnollinen tauokin.
Satelliitti myös kertoo mallille, missä huoneessa se fyysisesti on, joten pyyntö joka ei nimeä huonetta erikseen (esim. "laita valo päälle") kohdistuu oletuksena kyseisen satelliitin omaan alueeseen sen sijaan että mallilla ei olisi mihin sitä ratkaista - malli voi silti ohjata mitä tahansa muuta huonetta, kun se nimetään.
Kahden asian täytyy olla kunnossa, jotta satelliitti oikeasti vastaa:
- Laite on liitetty alueeseen, ja kyseisen alueen omat Tekoälyavustaja-asetukset on asetettu käyttöön - sama aluekohtainen kytkin kuin yllä. Satelliitti ilman aluetta, tai alueella jolla avustaja on pois päältä, hylkää herätesanan heti sen sijaan että kuuntelisi.
- Palvelimen osoite (lähiverkko) (Server address (LAN)) -kenttä Asetukset-sivun Alue-kortilla on täytetty - Athena tarvitsee osoitteen, josta lähiverkossa oleva satelliitti voi tavoittaa sen, jotta se voi antaa takaisin äänitiedoston puhuttua vastausta varten.
Kaikki yllä vaatii, että Keskustelu-, Puheentunnistus- ja Puhesynteesi-palvelimet ovat kaikki oikeasti asetettuina - äänisatelliitti käyttää täsmälleen samoja kolmea roolia kuin keskustelusivu ja sen oma mikrofonipainike.
AI Action -automaatiosolmu
Oma solmutyyppi automaatioeditorissa: vapaamuotoinen ohje (esim. "Sammuta valot jos kukaan ei ole kotona"), valinnainen Persona-alue jonka oman järjestelmäkehotteen se voi lainata, lista Context-kohteita joita malli voi lukea, ja erillinen lista Allowed actions -kohteita joita se saa oikeasti ohjata - kaksi eri listaa, joten vuo voi näyttää mallille enemmän tilaa kuin mitä sen sallitaan muuttaa. Jokainen vaihto (vastaukset, työkalukutsut ja niiden tulokset) näkyy kyseisen automaation omassa Run History -listassa, samassa paikassa jossa jokaisen muunkin solmutyypin toiminta jo näkyy.