Skip to main content
Version: 2.0

aixplain.v2.model

Model resource for v2 API.

Message Objects

@dataclass_json

@dataclass
class Message()

[view_source]

Message structure from the API response.

Detail Objects

@dataclass_json

@dataclass
class Detail()

[view_source]

Detail structure from the API response.

Usage Objects

@dataclass_json

@dataclass
class Usage()

[view_source]

Usage structure from the API response.

ModelResult Objects

@dataclass_json

@dataclass
class ModelResult(Result)

[view_source]

Result for model runs with specific fields from the backend response.

InputsProxy Objects

class InputsProxy()

[view_source]

Proxy object that provides both dict-like and dot notation access to model parameters.

__init__

def __init__(model)

[view_source]

Initialize InputsProxy with a model instance.

__getitem__

def __getitem__(key: str)

[view_source]

Dict-like access: inputs['temperature'].

__setitem__

def __setitem__(key: str, value)

[view_source]

Dict-like assignment: inputs['temperature'] = 0.7.

__getattr__

def __getattr__(name: str)

[view_source]

Dot notation access: inputs.temperature.

__setattr__

def __setattr__(name: str, value)

[view_source]

Dot notation assignment: inputs.temperature = 0.7.

__contains__

def __contains__(key: str) -> bool

[view_source]

Check if parameter exists: 'temperature' in inputs.

__len__

def __len__() -> int

[view_source]

Number of parameters.

__iter__

def __iter__()

[view_source]

Iterate over parameter names.

keys

def keys()

[view_source]

Get parameter names.

values

def values()

[view_source]

Get parameter values.

items

def items()

[view_source]

Get parameter name-value pairs.

get

def get(key: str, default=None)

[view_source]

Get parameter value with default.

update

def update(**kwargs)

[view_source]

Update multiple parameters at once.

clear

def clear()

[view_source]

Reset all parameters to backend defaults.

copy

def copy()

[view_source]

Get a copy of current parameter values.

has_parameter

def has_parameter(param_name: str) -> bool

[view_source]

Check if a parameter exists.

get_parameter_names

def get_parameter_names() -> list

[view_source]

Get a list of all available parameter names.

get_required_parameters

def get_required_parameters() -> list

[view_source]

Get a list of required parameter names.

get_parameter_info

def get_parameter_info(param_name: str)

[view_source]

Get information about a specific parameter.

get_all_parameters

def get_all_parameters() -> dict

[view_source]

Get all current parameter values.

reset_parameter

def reset_parameter(param_name: str)

[view_source]

Reset a parameter to its backend default value.

reset_all_parameters

def reset_all_parameters()

[view_source]

Reset all parameters to their backend default values.

__repr__

def __repr__()

[view_source]

Return string representation of InputsProxy.

find_supplier_by_id

def find_supplier_by_id(supplier_id: Union[str, int]) -> Optional[Supplier]

[view_source]

Find supplier enum by ID.

find_function_by_id

def find_function_by_id(function_id: str) -> Optional[Function]

[view_source]

Find function enum by ID.

Attribute Objects

@dataclass_json

@dataclass
class Attribute()

[view_source]

Common attribute structure from the API response.

Parameter Objects

@dataclass_json

@dataclass
class Parameter()

[view_source]

Common parameter structure from the API response.

Version Objects

@dataclass_json

@dataclass
class Version()

[view_source]

Version structure from the API response.

Pricing Objects

@dataclass_json

@dataclass
class Pricing()

[view_source]

Pricing structure from the API response.

VendorInfo Objects

@dataclass_json

@dataclass
class VendorInfo()

[view_source]

Supplier information structure from the API response.

ModelSearchParams Objects

class ModelSearchParams(BaseSearchParams)

[view_source]

Search parameters for model queries.

q

Search query parameter as per Swagger spec

host

Filter by host (e.g., "openai", "aiXplain")

developer

Filter by developer (e.g., "OpenAI")

path

Filter by path prefix (e.g., "openai/gpt-4")

ModelRunParams Objects

class ModelRunParams(BaseRunParams)

[view_source]

Parameters for running models.

This class is intentionally empty to allow dynamic validation based on each model's specific parameters from the backend.

Model Objects

@dataclass_json

@dataclass(repr=False)
class Model(BaseResource, SearchResourceMixin[ModelSearchParams, "Model"],
GetResourceMixin[BaseGetParams, "Model"],
RunnableResourceMixin[ModelRunParams, ModelResult], ToolableMixin)

[view_source]

Resource for models.

__post_init__

def __post_init__()

[view_source]

Initialize dynamic attributes based on backend parameters.

__setattr__

def __setattr__(name: str, value)

[view_source]

Handle bulk assignment to inputs.

build_run_url

def build_run_url(**kwargs: Unpack[ModelRunParams]) -> str

[view_source]

Build the URL for running the model.

mark_as_deleted

def mark_as_deleted() -> None

[view_source]

Mark the model as deleted by setting status to DELETED and calling parent method.

get

@classmethod
def get(cls: type["Model"], id: str,
**kwargs: Unpack[BaseGetParams]) -> "Model"

[view_source]

Get a model by ID.

@classmethod
def search(cls: type["Model"],
query: Optional[str] = None,
**kwargs: Unpack[ModelSearchParams]) -> Page["Model"]

[view_source]

Search with optional query and filtering.

Arguments:

  • query - Optional search query string
  • **kwargs - Additional search parameters (functions, suppliers, etc.)

Returns:

Page of items matching the search criteria

run

def run(**kwargs: Unpack[ModelRunParams]) -> ModelResult

[view_source]

Run the model with dynamic parameter validation and default handling.

as_tool

def as_tool() -> ToolDict

[view_source]

Serialize this model as a tool for agent creation.

This method converts the model into a dictionary format that can be used as a tool when creating agents. The format matches what the agent factory expects for model tools.

Returns:

  • dict - A dictionary representing this model as a tool with the following structure:
    • id: The model's ID
    • name: The model's name
    • description: The model's description
    • supplier: The supplier code
    • parameters: Current parameter values
    • function: The model's function type
    • type: Always "model"
    • version: The model's version
    • assetId: The model's ID (same as id)

Example:

model = aix.Model.get("some-model-id") agent = aix.Agent(..., tools=[model.as_tool()])

get_parameters

def get_parameters() -> List[dict]

[view_source]

Get current parameter values for this model.

Returns:

  • List[dict] - List of parameter dictionaries with current values