Skip to main content

VariableValue

Discriminated union representing the value supplied for a PromptVariable. The modality field on the inner instance determines the concrete type.

Import

from adaline_api.models.variable_value import VariableValue

Variants

modalityTypeDescription
"text"TextContentPlain text value
"image"ImageContentImage (URL or base64)
"pdf"PdfContentPDF document
"api"ApiContentExternal API data source
"prompt"PromptContentNested prompt reference

Example

from adaline_api.models.variable_value import VariableValue
from adaline_api.models.text_content import TextContent
from adaline_api.models.image_content import ImageContent
from adaline_api.models.url_image_content_value import UrlImageContentValue

text_var = VariableValue(
    actual_instance=TextContent(modality="text", value="John Doe")
)

image_var = VariableValue(
    actual_instance=ImageContent(
        modality="image",
        detail="auto",
        value=UrlImageContentValue(type="url", url="https://example.com/logo.png")
    )
)

Type narrowing

from adaline_api.models.text_content import TextContent
from adaline_api.models.image_content import ImageContent
from adaline_api.models.pdf_content import PdfContent

def process_variable(v: VariableValue) -> None:
    inst = v.actual_instance
    if isinstance(inst, TextContent):
        print(f"Text: {inst.value}")
    elif isinstance(inst, ImageContent):
        print(f"Image: {inst.value.type}")
    elif isinstance(inst, PdfContent):
        print(f"PDF: {inst.file.name}")