• 6 Posts
  • 215 Comments
Joined 1 year ago
cake
Cake day: April 27th, 2024

help-circle




  • Thanks, had not heard of this before! From skimming the link, it seems that the integration with HASS mostly focuses on providing wyoming endpoints (STT, TTS, wakeword), right? (Un)fortunately, that’s the part that’s already working really well 😄

    However, the idea of just writing a stand-alone application with Ollama-compatible endpoints, but not actually putting an LLM behind it is genius, I had not thought about that. That could really simplify stuff if I decide to write a custom intent handler. So, yeah, thanks for the link!!


  • Thanks for your input! The problem with the LLM approach for me is mostly that I have so many entities, HASS exposing them all (or even the subset of those I really, really want) is already big enough to slow everything to a crawl, and to get bad results from all models I’ve tried. I’ll give the model you mentioned another shot though.

    However, I really don’t want to use an LLM for this. It seems brittle and like overkill at the same time. As you said, intent classification is a wee bit older than LLMs.

    Unfortunately, the sentence template matching approach alone isn’t sufficient, because quite frequently, the STT is imperfect. With HomeAssistant, currently the intent “turn off all lights” is, for example, not understood if STT produces “turn off all light”. And sure, you can extend the template for that. But what about

    • turn of all lights
    • turn off wall lights
    • turnip off all lights
    • off all lights
    • off all fights

    A human would go “huh? oh, sure, I’ll turn off all lights”. An LLM might as well. But a fuzzy matching / closest Levensthein distance approach should be more than sufficient for this, too.

    Basically, I generally like the sentence template approach used by HASS, but it just needs that little bit of additional robustness against imperfections.


  • Thanks for sharing your experience! I have actually mostly been testing with a good desk mic, and expect recognition to get worse with room mics… The hardware I bought are seeed ReSpeaker mic arrays, I am somewhat hopeful about them.

    Adding a lot of alternative sentences does indeed help, at least to a certain degree. However, my issue is less with “it should recognize various different commands for the same action”, and more “if I mumble, misspeak, or add a swear word on my third attempt, it should still just pick the most likely intent”, and that’s what’s currently missing from the ecosystem, as far as I can tell.

    Though I must conceit, copying your strategy might be a viable stop-gap solution to get rid of Alexa. I’ll have to pay around with it a bit more.

    That all said, if you find a better intent matcher or another solution, please do report back as I am very interested in an easier solution that does not require me to think of all possible sentence ahead of time.

    Roger.








  • For myself: Dan Simmons’ Hyperion Cantos. I know that I will never be in a situation to do as the question above suggests (nor that I would have the knowledge or skills required), but I am currently re-reading the books (Hyperion, Fall of Hyperion, Endymion, Rise of Endymion), and I can’t stop thinking about a big screen adaptation.

    Or rather, Simmons’ writing is so vivid, so vibrant that you can’t help but visualize it in a cinematic way before your inner eye anyways. The alien, but still somewhat familiar environments, the gargantuan forces of nature and expansive backgrounds just as much as the more intimate set pieces, cities, secret meeting rooms, and so on. “Every Frame a Painting” is something I’ve heard said about some movies, and these books are the textual equivalent: “Every page cannot be helped but be turned into a Painting”. The Hyperion Cantos isn’t even my favorite book or anything the like; it’s just something that screams for an adaptation IMO, and a beautiful one at that.

    I also think that the story is exceptionally well suited for either a limited series (Hyperion & Fall of Hyperion) or a movie (Endymion, Rise of Endymion). In fact, I am convinced that if this had been made into a series back in the early/mid 2010s, it could have had a genre- and generation-defining impact akin to (the early seasons of…) Game of Thrones. Today… I’m not sure a studio would spend the required amount of money to make this good.

    (Also yes I made this post simply because I had nowhere else to put this comment.)




  • Because a commit should be an “indivisible” unit, in the sense that “should this be a separate commit?” equates to “would I ever want to revert just these changes?”.

    IDK about your commit histories, but if I’d leave everything in there, there’d be a ton of fixup commits just fixing spelling, satisfying the linter,…

    Also, changes requested by reviewers: those fixups almost always belong to the same commit, it makes no sense for them to be separate.

    And finally, I guess you do technically give up some granularity, but you gain an immense amount of readability of your commit history.




  • Same. And even if you were to fuck up, have people never heard of the reflog…?

    Every job I’ve worked at it’s been the expectation to regularly rebase your feature branch on main, to squash your commits (and then force push, obv), and for most projects to do rebase-merges of PRs rather than creating merge commits. Even the, uh, less gifted developers never had an issue with this.

    I think people just hear the meme about git being hard somewhere and then use that as an excuse to never learn.




  • Me and my GF are currently doing this. Some recommendations from personal experience:

    • Pimsleur is really nice for getting from 0 to being able to speak and understand some amount. It’s very much less overwhelming than jumping head-first into grammar. You can find torrents for it. It’s also a really good way to learn to listen to and speak Japanese out loud, something most other resources lack.
    • everyone recommends Genki, and I concurr; it’s a good book series on grammar, with plenty exercises. Will really help filling in the gaps where you have gotten a feeling for things with Pimsleur, but are not able to grasp the underlying concepts intuitively.
    • don’t shy away from Hiragana and Katakana. They are easy to learn (seriously, spend an afternoon on each and then do kana.pro for a week and never look back). Ignoring this will prevent you from using most learning resources.
    • use Anki; again, everyone says this, because it’s true. You can download a pre-made pack for Genki. 10-15 cards a day are a good leisurely pace, allowing you to tackle a new chapter in Genki approximately every 7-10 days.
    • don’t fall in the rabbithole of watching YouTube videos on learning Japanese. Just study instead. If there’s a concrete thing you struggle with, look for a Video on that topic. Most of the geberal advice videos seem to come from English-speaking folks for whom Japanese is their first foreign language (which is great! Don’t get me wrong!), and the resulting information ranges from obvious to questionable.
    • decide if you want to learn Kanji (if you don’t know them anyways, given your stated experience). I’d recommend it. It’s actually quite fun, and if you want to watch Anime in Japanese, there’s a good chance you’ll have to use Japanese subs for a while to help along anyways…
    • most people online seem to suggest only learning to read Kanji, because “you never need to handwrite things today anyways”. I call bullshit. It’s marginal additional effort, can actually help you with recognition, and if you ever end up needing / wanting to write by hand, you’d have to start all over otherwise.

    Lastly, no, it is not a waste of time. Apart from anime, a new language means new ways of thinking, of challenging yourself, of being able to experience people and culture through a new lense, and potentially increasing job opportunities.

    Plus if you ever end up visiting Japan, it really comes in handy.

    Feel free to ask any followup things that I’ve forgotten about…

    Edit: I forgot to mention: I am nowhere near fluent yet, and do not claim the suggestions above as “ultimate Japanese learner advice” or anything like that.

    Also, very quickly you’ll start noticing phrases, words, topics when watching anime or japanese videos or music, even if you can’t follow the full conversation. That’s what really motivated and kept me going early on.