Hi !
I’m making a new integration available! Extended MistralAI Conversation. (EMC)
For those familiar with Extended OpenAI Conversation (EOC), well, it’s more or less the same thing, but it’s Mistral AI that gets called instead.
The latter served as my starting point, and Claude AI did the rest of what I asked it to do (I’m out of my depth with Python…).
And to have a complete package, I also reused the STT and TTS parts from another integration: Mistral AI Conversation.
With this type of integration, it’s the LLM that handles your requests, without going through the “intents” list. As a former Rhasspy user, I found that approach tedious, and I later discovered Extended OpenAI Conversation. After testing it, I switched over… then I felt like going back to a more “French local” AI provider (also, I get the impression EOC isn’t maintained anymore…).
To use it, you’ll need a Mistral account. Normally, a free account is enough (as of today…), since the mistral-small-latest model gets the job done. But I ran into a blocking issue one day: when there’s heavy load on Mistral’s infrastructure, free accounts aren’t necessarily served. So I switched to a “Pay-as-you-go” account, added a virtual card with a few euros on it (only charged if you make heavy use of it), and that lets you bypass the resource-related blocking.
For those familiar with EOC, here are the main differences:
- the prompt lives in a YAML file, with 2 parts: the static prompt and the dynamic prompt
- the custom functions/scripts are in a YAML file
- the custom functions/scripts with type “script” are executed by HA’s own script engine: as a result, you can use any available action/instruction inside these functions/scripts
- to help the LLM pick the right scripts (your own HA scripts, in scripts.yaml), as long as they’re exposed to the Assist pipeline, EMC sends (via the dynamic prompt) the script’s “description” field. So if you take care to properly describe what a script does, there’s no need to duplicate it with a dedicated function/script in EMC for simple scripts without parameters (I explain the use cases in the README)
- EMC’s configuration is backed up to a JSON file
EMC (v1.5.3 as of this writing) ships with example files taken straight from my own setup.
That’s it — if you run into any issues, questions, etc., I’ll do my best to help.