I really like the functionality you offer here, very interesting!
You may be interested in the LLM package in GNU ELPA which handles the llm connection and lets the user use the llm they wish. It supports ollama already (as of last week). I’m trying to convince authors of packages like yours to make the switch, so packages can focus on functionality instead of llm connection details.