Skip to content

OVMS tools call for Gemma 4 E4B failed #4586

Description

@tidotua

I am setting up an OVMS for Linux, OpenCode and Gemma 4 E4B.
And I see that tools call request has some another tool call format:

Expected:

{ "tool_calls": [ { "type": "function", "function": { "name": "write", "arguments": "{"content": "TEXT", "filePath": "/absolute/path/file.txt"}" } } ] }

Got:

User

Try to save some small file first

Assistant (Build · ovms.gemma-4-e4b (local) · 7.1s)

{
"tool_calls": [
{
"name": "write",
"arguments": {
"filePath": "small_file.txt",
"content": "This is a small test file."
}
}
]
}

As you can see there are some differences in JSON. Is there a way to change/customize this without code change?

How do I run ovms:

ovms --model_name gemma-4-e4b
--model_path ./gemma-4-e4b-ov-int4
--target_device $DEVICE
--port 9080
--rest_port 8080
--cache_dir ./gemma-4-e4b-ov-int4/npu_cache
--log_level $LOG_LEVEL
--tool_parser gemma4

My config:

Ubuntu 24.04.5 LTS
6.17.0-1032-oem
Intel© Core™ Ultra 7 265H × 16

OpenVINO Model Server 2026.3.0.6f3df706b

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions