Implementing US #276 interactive mode for models that do not support tools#286
Merged
jGauravGupta merged 18 commits intoMar 14, 2026
Conversation
…vided to the LLM in the tools definition block
- Bumped langchain4j version to 1.11.0
- Updated copyright on ToolNotFoundException
…do_not_support_tools
…do_not_support_tools
…ort_tools' of github.com:stefanofornari/jeddict-ai into ste/us/276_Interactive_mode_for_models_that_do_not_support_tools
…do_not_support_tools
jGauravGupta
approved these changes
Mar 14, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
As per #276, this PR adds support for tool execution even when a model does not support tools/functions.
Before this PR, in Agent and Interactive modes, the model is probed for tools support. If tools are supported they are used, if not it behaves like in Ask mode.
With the PR, when in Agent and Interactive modes, if the model does not support tools, it falls back to HackerWithoutTools, which engineers the prompt to simulate tool execution (similar to the earlier Jeddict versions):
The tool representation and frameworks is the existing one in package io.github.jeddict.ai.agent and in particular, if in Interactive mode, tools that produce any side effect must be allowed by the user.
Nowadays most models support tools (which is btw more verbose and therefore more expensive). making this feature maybe less relevant; the outcome is however pretty good and it's a good choice to use cheaper models.
Tested with ministral-3b-2512