Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
A
aisbf
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexlab
aisbf
Commits
effd6447
Commit
effd6447
authored
Feb 09, 2026
by
Stefy Lanza (nextime / spora )
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix Google tool calling - pass tools as separate parameter instead of in config
parent
221abb78
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
8 additions
and
5 deletions
+8
-5
providers.py
aisbf/providers.py
+8
-5
No files found.
aisbf/providers.py
View file @
effd6447
...
@@ -314,9 +314,10 @@ class GoogleProviderHandler(BaseProviderHandler):
...
@@ -314,9 +314,10 @@ class GoogleProviderHandler(BaseProviderHandler):
logging
.
info
(
f
"GoogleProviderHandler: Converted tool to Google format: {function_declaration}"
)
logging
.
info
(
f
"GoogleProviderHandler: Converted tool to Google format: {function_declaration}"
)
if
function_declarations
:
if
function_declarations
:
# Google API expects tools to be a list of FunctionDeclaration objects
# Google API expects tools to be a Tool object with function_declarations
config
[
"tools"
]
=
function_declarations
from
google.genai
import
types
as
genai_types
logging
.
info
(
f
"GoogleProviderHandler: Added {len(function_declarations)} tools to config"
)
google_tools
=
[
genai_types
.
Tool
(
function_declarations
=
function_declarations
)]
logging
.
info
(
f
"GoogleProviderHandler: Added {len(function_declarations)} tools to google_tools"
)
# Handle streaming request
# Handle streaming request
if
stream
:
if
stream
:
...
@@ -331,7 +332,8 @@ class GoogleProviderHandler(BaseProviderHandler):
...
@@ -331,7 +332,8 @@ class GoogleProviderHandler(BaseProviderHandler):
for
chunk
in
stream_client
.
models
.
generate_content_stream
(
for
chunk
in
stream_client
.
models
.
generate_content_stream
(
model
=
model
,
model
=
model
,
contents
=
content
,
contents
=
content
,
config
=
config
config
=
config
,
tools
=
google_tools
):
):
chunks
.
append
(
chunk
)
chunks
.
append
(
chunk
)
...
@@ -351,7 +353,8 @@ class GoogleProviderHandler(BaseProviderHandler):
...
@@ -351,7 +353,8 @@ class GoogleProviderHandler(BaseProviderHandler):
response
=
self
.
client
.
models
.
generate_content
(
response
=
self
.
client
.
models
.
generate_content
(
model
=
model
,
model
=
model
,
contents
=
content
,
contents
=
content
,
config
=
config
config
=
config
,
tools
=
google_tools
)
)
logging
.
info
(
f
"GoogleProviderHandler: Response received: {response}"
)
logging
.
info
(
f
"GoogleProviderHandler: Response received: {response}"
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment