|
@@ -12,7 +12,11 @@ from open_webui.models.functions import (
|
|
|
FunctionResponse,
|
|
|
Functions,
|
|
|
)
|
|
|
-from open_webui.utils.plugin import load_function_module_by_id, replace_imports
|
|
|
+from open_webui.utils.plugin import (
|
|
|
+ load_function_module_by_id,
|
|
|
+ replace_imports,
|
|
|
+ get_function_module_from_cache,
|
|
|
+)
|
|
|
from open_webui.config import CACHE_DIR
|
|
|
from open_webui.constants import ERROR_MESSAGES
|
|
|
from fastapi import APIRouter, Depends, HTTPException, Request, status
|
|
@@ -358,8 +362,7 @@ async def get_function_valves_spec_by_id(
|
|
|
):
|
|
|
function = Functions.get_function_by_id(id)
|
|
|
if function:
|
|
|
- function_module, function_type, frontmatter = load_function_module_by_id(id)
|
|
|
- request.app.state.FUNCTIONS[id] = function_module
|
|
|
+ function_module, function_type, frontmatter = get_function_module_from_cache(request, id)
|
|
|
|
|
|
if hasattr(function_module, "Valves"):
|
|
|
Valves = function_module.Valves
|
|
@@ -383,8 +386,7 @@ async def update_function_valves_by_id(
|
|
|
):
|
|
|
function = Functions.get_function_by_id(id)
|
|
|
if function:
|
|
|
- function_module, function_type, frontmatter = load_function_module_by_id(id)
|
|
|
- request.app.state.FUNCTIONS[id] = function_module
|
|
|
+ function_module, function_type, frontmatter = get_function_module_from_cache(request, id)
|
|
|
|
|
|
if hasattr(function_module, "Valves"):
|
|
|
Valves = function_module.Valves
|
|
@@ -443,8 +445,7 @@ async def get_function_user_valves_spec_by_id(
|
|
|
):
|
|
|
function = Functions.get_function_by_id(id)
|
|
|
if function:
|
|
|
- function_module, function_type, frontmatter = load_function_module_by_id(id)
|
|
|
- request.app.state.FUNCTIONS[id] = function_module
|
|
|
+ function_module, function_type, frontmatter = get_function_module_from_cache(request, id)
|
|
|
|
|
|
if hasattr(function_module, "UserValves"):
|
|
|
UserValves = function_module.UserValves
|
|
@@ -464,8 +465,7 @@ async def update_function_user_valves_by_id(
|
|
|
function = Functions.get_function_by_id(id)
|
|
|
|
|
|
if function:
|
|
|
- function_module, function_type, frontmatter = load_function_module_by_id(id)
|
|
|
- request.app.state.FUNCTIONS[id] = function_module
|
|
|
+ function_module, function_type, frontmatter = get_function_module_from_cache(request, id)
|
|
|
|
|
|
if hasattr(function_module, "UserValves"):
|
|
|
UserValves = function_module.UserValves
|