Skip to content

Bug: Gemma 4 via Ollama connects successfully but produces no visible or spoken response #442

Closed

Description

@Begs2Differ

Bug: Gemma 4 via Ollama connects successfully but produces no visible or spoken response

Application: Ari VoiceCommand v1.4.0
Platform: Windows 11
LLM provider: Ollama
Model: gemma4:12b
Endpoint: http://localhost:11434/v1

Problem

When using Gemma 4 12B through Ollama's OpenAI-compatible API, Ari successfully connects to the model but does not produce a visible or spoken response.

The issue affects both typed chat and voice commands.

  • Microphone capture works.
  • Speech recognition successfully transcribes speech.
  • Ollama's connection test succeeds.
  • Ari's logs show successful HTTP 200 responses from /v1/chat/completions.
  • Ari logs a time to first token, confirming generation has begun.
  • No response appears in the chat interface or reaches text-to-speech.

Disabling Ari's streaming mode and automatic LLM routing did not resolve the problem.

Investigation

A direct request to Ollama's OpenAI-compatible API returned both answer content and reasoning:

role      : assistant
content   : Hello.
reasoning : [model reasoning]

Adding the following parameter to the request:

"reasoning_effort": "none"

produced a normal response without the separate reasoning field:

role    : assistant
content : Hello!

This suggested that Ari might have a compatibility issue with Gemma 4's reasoning output.

Working workaround

We created a small local HTTP compatibility proxy that sits between Ari and Ollama.

The proxy:

  1. Listens locally on 127.0.0.1:11435.
  2. Forwards requests to Ollama on 127.0.0.1:11434.
  3. Adds "reasoning_effort": "none" to /v1/chat/completions requests.
  4. Forwards model-listing requests unchanged.

We then changed only Ari's Ollama endpoint to:

http://127.0.0.1:11435/v1

Result: Ari immediately began responding successfully, including voice interaction.

This workaround does not require changes to Ollama's global configuration, the installed model, or other applications using Ollama.

Possible fix

Ari's source includes _reasoning_extra_body() in VoiceCommand/agent/llm_provider.py, which already supplies provider-specific reasoning parameters.

One possible approach is to add an Ollama-specific parameter:

if provider == "ollama":
    return {"reasoning_effort": "none"}

Ideally, this could be configurable so users can enable reasoning when their models and response handlers support it.

Additional notes

The observed behavior strongly suggests a compatibility problem involving reasoning output, but the exact failure inside Ari's response-processing code has not been independently isolated.

The proxy workaround was tested successfully with gemma4:12b on Windows 11.

I hope this helps other users experiencing silent responses with Gemma 4 and Ollama.

Activity

  1. self-assigned this
    on Nov 12, 2026
  2. DO0OG commented on Nov 12, 2026

    @DO0OG
    Owner

    Thanks for the detailed report and for tracking down the workaround. It pointed straight at the cause.

    What was happening

    Gemma 4 runs with thinking enabled by default in Ollama. Ari asks for short replies (a few hundred tokens), and the model spent that whole budget on reasoning, so content came back empty. Ari then ended the turn without showing or speaking anything.

    What changed (#443)

    • Ari now sends reasoning_effort: "none" on requests to the built-in Ollama provider, the same thing your proxy does.
    • If an older Ollama rejects that value, Ari drops it and retries once. none needs Ollama 0.12.4 or later.
    • If a reply still comes back empty, Ari now says so instead of staying silent.

    Not included

    • A setting to turn reasoning back on. Ari discards reasoning text and keeps replies short, so it stays off for Ollama for now. If you have a use for it, tell me and I'll reconsider.
    • Custom "OpenAI-compatible" providers pointed at an Ollama address. Those requests are left untouched, so please use the built-in Ollama provider for thinking models.

    The fix is on main and will ship in the next release. Until then your proxy is a fine workaround. I couldn't test against a real gemma4:12b here, so if you can try the next build and confirm, that would help.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions