mirror of
https://github.com/open-webui/open-webui.git
synced 2025-12-15 05:45:19 +00:00
feat/async-pipes
This commit is contained in:
parent
e31f680788
commit
ab1f2ae914
1 changed files with 6 additions and 3 deletions
|
|
@ -2,6 +2,7 @@ import logging
|
||||||
import sys
|
import sys
|
||||||
import inspect
|
import inspect
|
||||||
import json
|
import json
|
||||||
|
import asyncio
|
||||||
|
|
||||||
from pydantic import BaseModel
|
from pydantic import BaseModel
|
||||||
from typing import AsyncGenerator, Generator, Iterator
|
from typing import AsyncGenerator, Generator, Iterator
|
||||||
|
|
@ -76,11 +77,13 @@ async def get_function_models(request):
|
||||||
if hasattr(function_module, "pipes"):
|
if hasattr(function_module, "pipes"):
|
||||||
sub_pipes = []
|
sub_pipes = []
|
||||||
|
|
||||||
# Check if pipes is a function or a list
|
# Handle pipes being a list, sync function, or async function
|
||||||
|
|
||||||
try:
|
try:
|
||||||
if callable(function_module.pipes):
|
if callable(function_module.pipes):
|
||||||
sub_pipes = function_module.pipes()
|
if asyncio.iscoroutinefunction(function_module.pipes):
|
||||||
|
sub_pipes = await function_module.pipes()
|
||||||
|
else:
|
||||||
|
sub_pipes = function_module.pipes()
|
||||||
else:
|
else:
|
||||||
sub_pipes = function_module.pipes
|
sub_pipes = function_module.pipes
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue