From cdb064066abdbb359df72b0df1b0bffe49ed6cd2 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Wed, 7 Aug 2024 18:07:13 +0200 Subject: [PATCH] 2024.8: Replace LLM screenshot --- .../_posts/2024-08-07-release-20248.markdown | 70 ++++++------------ .../blog/2024-08/llama-3.1-iteration.png | Bin 20031 -> 0 bytes .../blog/2024-08/ollama-model-performance.png | Bin 0 -> 21520 bytes 3 files changed, 23 insertions(+), 47 deletions(-) delete mode 100644 source/images/blog/2024-08/llama-3.1-iteration.png create mode 100644 source/images/blog/2024-08/ollama-model-performance.png diff --git a/source/_posts/2024-08-07-release-20248.markdown b/source/_posts/2024-08-07-release-20248.markdown index fa392fcc704..35bf94017e5 100644 --- a/source/_posts/2024-08-07-release-20248.markdown +++ b/source/_posts/2024-08-07-release-20248.markdown @@ -15,54 +15,27 @@ og_image: /images/blog/2024-08/social.png -{% note %} - -**Welcome to the beta release notes for Home Assistant 2024.8** 🎉 - -
- -Please note that these release notes are a work in progress. 👷‍♀️ We will be -completing them over the next couple of days. Not all features might be final -yet, and some features _**may not** make it into the final release_. - -
- -**Want to help test the beta?** Awesome! ❤️ We have documented how you -[can join our beta channel and install the beta here](/common-tasks/os/#running-a-beta-version). - -
- -While running the beta, we highly recommend joining our _#beta_ channel on -the [Home Assistant Discord chat](/join-chat)! 💬 Most developers and beta -testers are in this channel during the beta period to share experiences, ideas, -and iterate over new features, fine-tuning them before the final release. -It's a really fun place to hang out. 😎 - -
- -**Reporting issues**: As this is a beta test, you might encounter unexpected -behavior or issues. 🐞 We use the GitHub issue tracker to track beta issues. -You can find our issue trackers and the reported issues during beta here: - -
- -- [Report(ed) beta **dashboards/UI/frontend** issues](https://github.com/home-assistant/frontend/milestone/122) -- [Report(ed) beta **integrations/automations/backend/core** issues](https://github.com/home-assistant/core/milestone/680) -- [Report(ed) beta **documentation** issues](https://github.com/home-assistant/home-assistant.io/milestone/129) - -🙏 When reporting issues, **make sure to mention the exact beta version you are -running** in the issue description. This will help us identify and track the -issue correctly. Read more about [reporting issues here](/help/reporting_issues/). - -
- -Issues introduced in the beta are processed with priority. 🔝 - -{% endnote %} - Home Assistant 2024.8! 🎉 -Enjoy the (beta) release! +Warning! An awesome and huge release is coming your way this month! + +[11! new integrations](#new-integrations) and [7! integrations are now available via the UI](#now-available-to-set-up-from-the-ui); +We have many [noteworthy improvements to integrations](#noteworthy-improvements-to-existing-integrations) +and even more [noteworthy improvements to Home Assistant](#other-noteworthy-changes) itself. +And that... is just the tip of the iceberg! 🗻 + +I'm most excited about the new [badges for your dashboard](#new-badges-for-your-dashboard). +I mean, the old ones weren't the prettiest, but these new ones are definitely +gorgeous! Oh! and if you missed the last dashboard stream, I would highly recommend +watching the [recording](https://www.youtube.com/watch?v=9zmXLxQPr1o) of it, as +it is very insightful! + +This release also marks a significant milestone in the history of Home Assistant, +as we are [saying goodbye to **service calls**](#goodbye-service-calls-hello-actions-). +Services have been around since day one, but we are now moving to **actions**, +making things much easier to explain to people new to Home Assistant. + +Enjoy the release! 🎉 ../Frenck @@ -243,7 +216,10 @@ Through prompt tuning and fixes included in this release, we have gotten local LLMs to score a reasonable 83%. We will continue to test new models while improving our prompts and tools to achieve a higher score. -Graph showing the iteration progress of implementing local Ollama support using the Llama 3.1 8B model. +

+Picture showing the results of the LLM benchmark suite ran against different models. +Overview of performance of Ollama running different local models ran against the LLM benchmark suite. +

If you want to experiment with local LLMs using Home Assistant, we currently recommend using the Llama 3.1 8B model and exposing fewer than 25 entities. Note diff --git a/source/images/blog/2024-08/llama-3.1-iteration.png b/source/images/blog/2024-08/llama-3.1-iteration.png deleted file mode 100644 index 90d5d9fc63908d8f0944bfa6a3fade2e65bb5949..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20031 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 diff --git a/source/images/blog/2024-08/ollama-model-performance.png b/source/images/blog/2024-08/ollama-model-performance.png new file mode 100644 index 0000000000000000000000000000000000000000..b1257512dfa93743e11fead3841626fa5c7bd16c GIT binary patch literal 21520 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 nnhWn;6@3}6Yv;%HxWnl1h^>bP0l+XkKRU$s; literal 0 HcmV?d00001