mirror of
https://github.com/open-webui/open-webui.git
synced 2026-05-07 03:18:23 -05:00
[GH-ISSUE #10424] [FEAT] st-script equivalent for powerfull AND reliable function calling #15887
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @nekopep on GitHub (Feb 20, 2025).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/10424
One powerful thing you want to do with LLM is using function calling. Thus, for example, you can connect OpenWebUI to your ERP to execute some tasks. The issue is that because LLMs are stochastic, you need to be sure the parameters sent are OK before executing the function on critical systems. Also, sometimes, you need to execute a complex workflow doing multiple tasks, asking the user for more parameters after each function call.
I found that Silly Tavern, which is a chat oriented for role-playing, has put in place a clever thing: you can script a workflow and the LLM is guided via this workflow through predefined user interactions.
https://docs.sillytavern.app/usage/st-script/
Is your feature request related to a problem? Please describe.
When I do function calls with my LLM, I'm frustrated that sometimes it hallucinates parameters even when specifying in the system prompt to double-check. Hence, I'm looking for a reliable function call that is guided via UI double-check before the call.
Describe the solution you'd like
Currently:
Even with a system prompt in place, you can sometimes have random parameters called.
With a script in place:
get_var(str, "username", "john doe")<- John Doe prefilledget_var(list, "arrival date", "01/01/2020")<- wrongly prefilled, but the user can change itget_var(list, "department", none)<- LLM did not fill it, so the user can fill itget_var(list, "access", ['groupA', 'groupB'], ["groupA", "groupB", "groupC"])<- LLM chose A and B, and the user can select among A, B, C.Describe alternatives you've considered
System prompt, better doc strings in function calls, Mermaid graphs in function calls.