Skip to main content

VariableModality

A str enum defining the modality types for prompt variables.

Overview

VariableModality specifies what kind of content a PromptVariable represents. Each modality determines how the variable value is interpreted and rendered when injected into a prompt.

Import

from adaline_api.models.variable_modality import VariableModality

Type Definition

VariableModality is a str enum with the following values:
ValueEnum MemberDescription
"text"VariableModality.TEXTPlain text content. The most common modality for string substitution in prompts.
"image"VariableModality.IMAGEImage content, provided as a URL or base64-encoded string.
"pdf"VariableModality.PDFPDF document content for document-understanding workflows.
"api"VariableModality.APIExternal API data source. The variable value is fetched from an API at runtime.
"prompt"VariableModality.PROMPTNested prompt reference. Allows composing prompts from other prompts.

Usage

Creating variables with different modalities

from adaline_api.models.prompt_variable import PromptVariable
from adaline_api.models.variable_modality import VariableModality

variables: list[PromptVariable] = [
    PromptVariable(name="user_name", modality=VariableModality.TEXT),
    PromptVariable(name="profile_photo", modality=VariableModality.IMAGE),
    PromptVariable(name="contract", modality=VariableModality.PDF),
    PromptVariable(name="weather_data", modality=VariableModality.API),
    PromptVariable(name="system_instructions", modality=VariableModality.PROMPT),
]

String comparison

Because VariableModality is a str enum, you can compare it directly with plain strings:
from adaline_api.models.variable_modality import VariableModality

modality = VariableModality.TEXT

assert modality == "text"
assert modality.value == "text"
assert str(modality) == "text"

Branching on modality

for var in deployment.prompt.variables:
    if var.modality == VariableModality.TEXT:
        print(f"Text variable: {var.name}")
    elif var.modality == VariableModality.IMAGE:
        print(f"Image variable: {var.name}")
    elif var.modality == VariableModality.PDF:
        print(f"PDF variable: {var.name}")

JSON Representation

In JSON payloads, modality values are plain strings:
[
  { "name": "user_name", "modality": "text" },
  { "name": "profile_photo", "modality": "image" },
  { "name": "contract", "modality": "pdf" }
]