app spicepod.md

App Spicepod

Every Spice app is powered by a managed instance of the Spice OSS Runtime deployed to the platform.

A Spicepod is a package that encapsulates application-centric datasets and machine learning (ML) models.

Spicepods are analogous to code packaging systems, like NPM, however differ by expanding the concepts to data and ML models.

Structure

A Spicepod is described by a YAML manifest file, typically named spicepod.yaml, which includes the following key sections:

Example Manifest

version: v1beta1
kind: Spicepod
name: my_spicepod

datasets:
  - from: spice.ai/spiceai/quickstart
    name: qs
    acceleration:
      enabled: true
      refresh_mode: append

models:
  - from: openai/gpt-4o
    name: gpt-4o

Key Components

Datasets

Datasets in a Spicepod can be sourced from various locations, including local files or remote databases. They can be materialized and accelerated using different engines such as DuckDB, SQLite, or PostgreSQL to optimize performance (learn more).

Catalogs

Catalogs in a Spicepod can contain multiple schemas. Each schema, in turn, contains multiple tables where the actual data is stored.

Models

ML models are integrated into the Spicepod similarly to datasets. The models can be specified using paths to local files or remote locations. ML inference can be performed using the models and datasets defined within the Spicepod.

To learn more, please refer to the full Spicepod specification.