-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
feat: 让Gemini原生工具和函数工具tools兼容 #8418
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
ZhaiXB
wants to merge
11
commits into
AstrBotDevs:master
Choose a base branch
from
ZhaiXB:feat/gemini-native-tools-compatibility
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
11 commits
Select commit
Hold shift + click to select a range
250d9f4
feat: 让Gemini原生工具和函数工具tools兼容
ZhaiXB 35e0807
Update gemini_source.py
ZhaiXB 1575002
Update gemini_source.py
ZhaiXB 7f8fbed
Only enable for Gemini 3 series.
ZhaiXB c713269
ruff
ZhaiXB eab896a
进一步修补老模型兼容
ZhaiXB 3119484
重修对老模型的兼容
ZhaiXB 1ae7fb0
采纳bot建议
ZhaiXB caa8eae
Merge branch 'AstrBotDevs:master' into feat/gemini-native-tools-compa…
ZhaiXB 292a44f
重构精简实现方法
ZhaiXB 3c99741
修改判断条件
ZhaiXB File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
issue (complexity): Consider flattening the multi-tool handling logic, making tool_config construction more explicit, and simplifying native_tool_enabled computation to reduce branching and mental overhead.
You can keep the new behavior but simplify some of the branching to reduce mental overhead.
1. Flatten multi-tool + plugin tool list construction
You can separate capability checks from list construction to avoid nested
if/elseand repeatedtool_listfiddling:This keeps all behavior but flattens the conditions and makes the combinations “native vs plugin vs capability” easier to read.
2. Make
tool_configconstruction explicitThe
kwargs_tool_configdict is only used to add one optional field. You can keep the same behavior with clearer, positional construction:This removes the indirection of
kwargs_tool_configwhile keeping all the new flags.3. Simplify
native_tool_enabledderivationThe relationship between
supports_multi_toolandnative_tool_enabledcan be expressed as a single expression:This avoids the temporary
Falseassignment and the subsequentifblock, while preserving behavior and making laterif native_tool_enabledchecks easier to reason about.