[PR #14682] [MERGED] refactor: Improve tool callable generation to allow for genai native function call #10348

Closed
opened 2025-11-11 19:02:31 -06:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/open-webui/open-webui/pull/14682
Author: @olivier-lacroix
Created: 6/5/2025
Status: Merged
Merged: 8/18/2025
Merged by: @tjbck

Base: devHead: genai-tool-function


📝 Commits (1)

  • 4f982e2 Ensure tool callable can be used by genai directly

📊 Changes

1 file changed (+26 additions, -8 deletions)

View changed files

📝 backend/open_webui/utils/tools.py (+26 -8)

📄 Description

Changelog Entry

Description

Google genai SDK allows native function calling when passing a python function as a tool. Currently, the tool["callable"] available in Pipes does not work with that SDK, as:

  • it is unable to infer signature & other properties from a functools.partial object
  • the signature contains extra_params

Changed

  • Tool callable creation is improved so as to enable native function call by Google genai SDK by making it a regular python coroutine with the right signature

Additional Information

See https://github.com/googleapis/python-genai/issues/907

Contributor License Agreement

By submitting this pull request, I confirm that I have read and fully agree to the Contributor License Agreement (CLA), and I am providing my contributions under its terms.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/open-webui/open-webui/pull/14682 **Author:** [@olivier-lacroix](https://github.com/olivier-lacroix) **Created:** 6/5/2025 **Status:** ✅ Merged **Merged:** 8/18/2025 **Merged by:** [@tjbck](https://github.com/tjbck) **Base:** `dev` ← **Head:** `genai-tool-function` --- ### 📝 Commits (1) - [`4f982e2`](https://github.com/open-webui/open-webui/commit/4f982e244f5b48c8f47ecd862d0168309b5e8cd6) Ensure tool callable can be used by genai directly ### 📊 Changes **1 file changed** (+26 additions, -8 deletions) <details> <summary>View changed files</summary> 📝 `backend/open_webui/utils/tools.py` (+26 -8) </details> ### 📄 Description # Changelog Entry ### Description Google genai SDK allows native function calling when passing a python function as a tool. Currently, the `tool["callable"]` available in `Pipes` does not work with that SDK, as: - it is unable to infer signature & other properties from a `functools.partial` object - the signature contains `extra_params` ### Changed - Tool callable creation is improved so as to enable native function call by Google genai SDK by making it a regular python coroutine with the right signature ### Additional Information See https://github.com/googleapis/python-genai/issues/907 ### Contributor License Agreement By submitting this pull request, I confirm that I have read and fully agree to the [Contributor License Agreement (CLA)](/CONTRIBUTOR_LICENSE_AGREEMENT), and I am providing my contributions under its terms. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2025-11-11 19:02:31 -06:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#10348