diff options
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 12 |
1 files changed, 10 insertions, 2 deletions
@@ -144,7 +144,7 @@ search_url = "" search_results = 5 search_snippet_chars = 300 search_timeout = 10 -max_searches = 2 +max_searches = 1 ``` `presets.ini` is read for two things the API does not report: which models @@ -382,10 +382,18 @@ Expanding it lists each result's title, link and snippet. The queries are visible on purpose: when an answer is wrong it is usually the query that was wrong, and without seeing it a bad search and a bad answer look identical. -`max_searches` caps searches per turn, default 2. On the last round the tool +`max_searches` caps searches per turn, default 1. On the last round the tool is withdrawn from the request, which forces the model to answer instead of searching again. A local 9B will otherwise keep searching when it is unsure. +The default is 1 rather than 2 because of an upstream limitation. The first +tool call of a turn arrives as a proper `tool_calls` delta, but a second one, +issued after the model has seen the first set of results, comes back as +literal `<tool_call><function=web_search>` text inside the thinking instead. +There is no structured call to act on, so the turn ends with an empty reply. +Observed with Qwen3.5-9B through llama.cpp's router; raise the cap if your +model and build handle follow-up calls properly. + Failures do not abort the turn. A timeout, a refused connection, a non-JSON response or zero results all come back to the model as a tool result saying what happened, so it answers with that knowledge rather than silently |
