Functions
FUNC create_response_format
func: A function with exactly one argument
- A Pydantic model class that inherits from FunctionResponse[T]
FUNC describe_function
func: Callable function that needs to be passed to generative slot.
- Function dict of the passed function.
FUNC get_argument
func: Callable Functionkey: Arg keyval: Arg value
- an argument object representing the given parameter.
FUNC bind_function_arguments
func: The function to bind arguments for.*args: Positional arguments to bind.**kwargs: Keyword arguments to bind.
- Dictionary mapping parameter names to bound values with defaults applied.
TypeError: If required parameters from the original function are missing from the provided arguments.
FUNC generative
- Works with async functions as well.
- Must pass all parameters for the original function as keyword args.
- Most python type-hinters will not show the default values but will correctly infer them; this means that you can set default values in the decorated function and the only necessary values will be a session or a (context, backend).
func: Function with docstring and type hints. Implementation can be empty (…).
- An AI-powered function that generates responses using an LLM based on the
- original function’s signature and docstring.
ValueError: (raised by @generative) if the decorated function has a parameter name used by generative slotsValidationError: (raised when calling the generative slot) if the generated output cannot be parsed into the expected return type. Typically happens when the token limit for the generated output results in invalid json.TypeError: (raised when calling the generative slot) if any of the original function’s parameters were passed as positional argsPreconditionException: (raised when calling the generative slot) if the precondition validation of the args fails; catch the exception to get the validation results
Classes
CLASS FunctionResponse
Generic base class for function response formats.
Attributes:
result: The value returned by the generative function.
CLASS FunctionDict
Return Type for a Function Component.
Attributes:
name: The function’s__name__.signature: The function’s parameter signature as a string.docstring: The function’s docstring, orNoneif absent.
CLASS ArgumentDict
Return Type for an Argument Component.
Attributes:
name: The parameter name.annotation: The parameter’s type annotation as a string.value: The bound value for this parameter as a string.
CLASS Argument
A single function argument with its name, type annotation, and value.
Args:
annotation: The parameter’s type annotation as a string.name: The parameter name.value: The bound value for this parameter as a string.
CLASS Arguments
A [CBlock](../../core/base#class-cblock) that renders a list of Argument objects as human-readable text.
Each argument is formatted as "- name: value (type: annotation)" and the
items are newline-joined into a single string suitable for inclusion in a prompt.
Args:
arguments: The list of bound function arguments to render.
CLASS ArgPreconditionRequirement
Specific requirement with template for validating precondition requirements against a set of args.
Args:
req: The underlying requirement to wrap. All method calls are delegated to this requirement.
CLASS PreconditionException
Exception raised when validation fails for a generative slot’s arguments.
Args:
message: Human-readable description of the failure.validation_results: The individual validation results from the failed precondition checks.
validation: The validation results from the failed precondition checks.
CLASS Function
Wraps a callable with its introspected FunctionDict metadata.
Stores the original callable alongside its name, signature, and docstring
as produced by describe_function, so generative slots can render them
into prompts without re-inspecting the function each time.
Args:
func: The callable to wrap and introspect.
CLASS ExtractedArgs
Used to extract the mellea args and original function args. See @generative decorator for additional notes on these fields.
These args must match those allowed by any overload of GenerativeSlot.call.
Attributes:
f_args: Positional args from the original function call; used to detect incorrectly passed args to generative slots.f_kwargs: Keyword args intended for the original function.m: The active Mellea session, if provided.
CLASS GenerativeSlot
Abstract base class for AI-powered function wrappers produced by @generative.
A GenerativeSlot wraps a callable and uses an LLM to generate its output.
Subclasses (SyncGenerativeSlot, AsyncGenerativeSlot) implement
__call__ for synchronous and asynchronous invocation respectively.
The function’s signature, docstring, and type hints are rendered into a prompt
so the LLM can imitate the function’s intended behaviour.
Args:
func: The function whose behaviour the LLM should imitate.
precondition_requirements: Requirements validated against the function’s input arguments before generation.requirements: Requirements validated against the LLM’s generated output.
FUNC extract_args_and_kwargs
args: Positional arguments; the first must be either aMelleaSessionor a[Context](../../core/base#class-context)instance.kwargs: Keyword arguments for both the generative slot machinery (e.g.m,context,backend,requirements) and the wrapped function’s own parameters.
- A dataclass of the required args for mellea and the
- original function. Either session or (backend, context) will be
- non-None.
TypeError: If any of the original function’s parameters were passed as positional args or if required mellea parameters are missing.
FUNC parts
- list[Component | CBlock]: List of argument blocks and requirements.
FUNC format_for_llm
[TemplateRepresentation](../../core/base#class-templaterepresentation) containing the function metadata
(name, signature, docstring), the bound arguments, and any requirement
descriptions.
Returns:
- The formatted representation ready for the
[Formatter](../../core/formatter#class-formatter)to render into a prompt.
CLASS SyncGenerativeSlot
A synchronous generative slot that blocks until the LLM response is ready.
Returned by @generative when the decorated function is not a coroutine.
__call__ returns the parsed result directly (when a session is passed) or a
(result, context) tuple (when a context and backend are passed).