While each Modus SDK offers similar capabilities, the APIs and usage may vary between languages.Modus Models APIs documentation is available on the following pages:
- AssemblyScript Models APIs(this page)
- Go Models APIs
For your reference, several complete examples for using the Models APIs are available in
Model Invoking.Each example demonstrates using different types of AI models for different
purposes. However, the Models interface isn’t limited to these purposes. You can
use it for any task that an AI model can perform.
Import
To begin, import themodels
namespace from the SDK:
Models APIs
The APIs in themodels
namespace are below, organized by category.
We’re constantly introducing new APIs through ongoing development with early
users. Please open an issue if
you have ideas on what would make Modus even more powerful for your next app!
Functions
getModel
Get a model instance by name and type.The type of model to return. This can be any class that extends the
Model
base class.The name of the model to retrieve. This must match the name of a model defined
in your project’s manifest file.
Types
Model
The base class for all models that Modus functions can invoke.If you are implementing a custom model, you should extend this class. You’ll
also need classes to represent the input and output types for your model. See
the implementations of the pre-defined models in the Modus GitHub repository
for examples.
The type of the input data for the model. This can be any type, including a
custom type defined in your project. It should match the shape of the data
expected by the model. Usually a class.
The type of the output data from the model. This can be any type, including a
custom type defined in your project. It should match the shape of the data
returned by the model. Usually a class.
A flag to enable debug mode for the model. When enabled, Modus automatically
logs the full request and response data to the console. Implementations can
also use this flag to enable additional debug logging. Defaults to
false
.Information about the model set by the Modus Runtime when creating the
instance. See the
ModelInfo
object for more information.Invokes the model with input data and returns the output data.
ModelInfo
Information about a model that’s used to construct aModel
instance. It is
also available as a property on the Model
class.
This class relays information from the Modus runtime to the model
implementation. Generally, you don’t need to create
ModelInfo
instances
directly.However, if you are implementing a custom model, you may wish to use a property
from this class, such as fullName
, for model providers that require the model
name in the input request body.The name of the model from the app manifest.
The full name or identifier of the model, as defined by the model provider.