File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -296,15 +296,18 @@ Some models may be temporarily unavailable. Try a different model or check
296296
297297** Q: Does this work with Open WebUI's native tool calling?**
298298
299- A: Tool calling is handled by Open WebUI before the pipe receives the request — the pipe forwards
300- the composed messages as-is. Whether a given OpenRouter model supports tool use depends on
299+ A: Open WebUI manages tool calling in an iterative loop: when the pipe's response contains
300+ tool calls, Open WebUI executes them, appends the results as ` role: "tool" ` messages, and
301+ re-invokes the pipe with the updated thread. The pipe forwards the full message list to
302+ OpenRouter on each invocation. Whether a model can generate tool calls depends on
301303OpenRouter's provider support for that model.
302304
303305** Q: Why does ` FREE_ONLY ` include models without a ` :free ` suffix?**
304306
305- A: Some models (e.g. ` google/gemma-* ` , ` qwen/qwen3-* ` ) are genuinely free but are not suffixed
306- with ` :free ` . The pipe checks both the suffix and the actual pricing (` 0/0 ` prompt and completion
307- cost) to catch these cases.
307+ A: Some models are listed as free on OpenRouter without carrying a ` :free ` suffix in their
308+ ID. The pipe uses a two-pass check: first it looks for the ` :free ` suffix, then it falls
309+ back to inspecting the ` pricing.prompt ` and ` pricing.completion ` fields returned by the
310+ OpenRouter ` /models ` endpoint — if both are ` 0 ` , the model is treated as free.
308311
309312** Q: Can I use multiple provider filters at once?**
310313
You can’t perform that action at this time.
0 commit comments