Move files
This commit is contained in:
parent
d2af1b8151
commit
f160b07163
1 changed files with 104 additions and 88 deletions
27
src/great_ai/parameters/automatically_decorate_parameters.py
Normal file
27
src/great_ai/parameters/automatically_decorate_parameters.py
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
import inspect
|
||||
from typing import Any, Callable, TypeVar
|
||||
|
||||
from ..helper.get_function_metadata_store import get_function_metadata_store
|
||||
from .parameter import parameter
|
||||
|
||||
F = TypeVar("F", bound=Callable[..., Any])
|
||||
|
||||
|
||||
def automatically_decorate_parameters(func: F) -> F:
|
||||
signature = inspect.signature(func)
|
||||
parameter_names = [
|
||||
param.name
|
||||
for param in signature.parameters.values()
|
||||
if param.kind == param.POSITIONAL_OR_KEYWORD
|
||||
]
|
||||
|
||||
metadata = get_function_metadata_store(func)
|
||||
|
||||
for name in parameter_names:
|
||||
if (
|
||||
name not in metadata.model_parameter_names
|
||||
and name not in metadata.input_parameter_names
|
||||
):
|
||||
func = parameter(name)(func)
|
||||
|
||||
return func
|
||||
Loading…
Reference in a new issue