v0.11.4
Gemma local-model support, from a real gemma-2-2b-it session on llama.cpp.
Added
- Parse Gemma's
tool_codetool-call format. Gemma emits tool calls as a
```tool_codefenced Python call —write_file("/p", """…"""),
sometimes wrapped inprint(...). The harness only understood JSON/<tools>,
so it treated the call as prose and (eventually) published an empty artifact.
The recovery parser now handles the Python-call syntax: it unwrapsprint(),
splits arguments while skipping triple/single/double-quoted strings, and maps
keyword and positional args through each tool's signature. Verified: Gemma's
write_filenow executes on the first attempt.
Fixed
- Gemma multi-turn no longer crashes on the chat template. Gemma's llama.cpp
template rejects thesystem/toolroles and requires strictly alternating
user/assistant turns, so any turn carrying a tool result 400'd and the agentic
loop died after one step. On such a template error the OpenAI-compatible path
now retries once with a flattened, strictly-alternating message body. (qwen's
template accepts the standard roles, so its path is unchanged.)
What's Changed
- release: 0.11.4 — Gemma local-model support (tool_code parsing + template-role flatten) by @geaglin in #46
Full Changelog: v0.11.3...v0.11.4
Gemma local-model support, from a real gemma-2-2b-it session on llama.cpp.
Added
- Parse Gemma's
tool_codetool-call format. Gemma emits tool calls as a
```tool_codefenced Python call —write_file("/p", """…"""),
sometimes wrapped inprint(...). The harness only understood JSON/<tools>,
so it treated the call as prose and (eventually) published an empty artifact.
The recovery parser now handles the Python-call syntax: it unwrapsprint(),
splits arguments while skipping triple/single/double-quoted strings, and maps
keyword and positional args through each tool's signature. Verified: Gemma's
write_filenow executes on the first attempt.
Fixed
- Gemma multi-turn no longer crashes on the chat template. Gemma's llama.cpp
template rejects thesystem/toolroles and requires strictly alternating
user/assistant turns, so any turn carrying a tool result 400'd and the agentic
loop died after one step. On such a template error the OpenAI-compatible path
now retries once with a flattened, strictly-alternating message body. (qwen's
template accepts the standard roles, so its path is unchanged.)
What's Changed
- release: 0.11.4 — Gemma local-model support (tool_code parsing + template-role flatten) by @geaglin in #46
Full Changelog: v0.11.3...v0.11.4
Gemma local-model support, from a real gemma-2-2b-it session on llama.cpp.
Added
- Parse Gemma's
tool_codetool-call format. Gemma emits tool calls as a
```tool_codefenced Python call —write_file("/p", """…"""),
sometimes wrapped inprint(...). The harness only understood JSON/<tools>,
so it treated the call as prose and (eventually) published an empty artifact.
The recovery parser now handles the Python-call syntax: it unwrapsprint(),
splits arguments while skipping triple/single/double-quoted strings, and maps
keyword and positional args through each tool's signature. Verified: Gemma's
write_filenow executes on the first attempt.
Fixed
- Gemma multi-turn no longer crashes on the chat template. Gemma's llama.cpp
template rejects thesystem/toolroles and requires strictly alternating
user/assistant turns, so any turn carrying a tool result 400'd and the agentic
loop died after one step. On such a template error the OpenAI-compatible path
now retries once with a flattened, strictly-alternating message body. (qwen's
template accepts the standard roles, so its path is unchanged.)
What's Changed
- release: 0.11.4 — Gemma local-model support (tool_code parsing + template-role flatten) by @geaglin in #46
Full Changelog: v0.11.3...v0.11.4
Gemma local-model support, from a real gemma-2-2b-it session on llama.cpp.
Added
- Parse Gemma's
tool_codetool-call format. Gemma emits tool calls as a
```tool_codefenced Python call —write_file("/p", """…"""),
sometimes wrapped inprint(...). The harness only understood JSON/<tools>,
so it treated the call as prose and (eventually) published an empty artifact.
The recovery parser now handles the Python-call syntax: it unwrapsprint(),
splits arguments while skipping triple/single/double-quoted strings, and maps
keyword and positional args through each tool's signature. Verified: Gemma's
write_filenow executes on the first attempt.
Fixed
- Gemma multi-turn no longer crashes on the chat template. Gemma's llama.cpp
template rejects thesystem/toolroles and requires strictly alternating
user/assistant turns, so any turn carrying a tool result 400'd and the agentic
loop died after one step. On such a template error the OpenAI-compatible path
now retries once with a flattened, strictly-alternating message body. (qwen's
template accepts the standard roles, so its path is unchanged.)
What's Changed
- release: 0.11.4 — Gemma local-model support (tool_code parsing + template-role flatten) by @geaglin in #46
Full Changelog: v0.11.3...v0.11.4