Example SAM Manifest

The point of using YAML manifest files is to facilitate a human readable way to define complex AI resources and their configurations, taking into consideration that something systematic on the backend will ulimately need to be able to read, validate and correctly execute the commands necessary to bring those resources to life. By ‘resource’ we mean to say anything from an AI Model, to a Data Pipeline, to an entire Application. Persisting such resources may involve any number of kinds of technologies, 3rd party services, and infrastructure.

The authors saw first hand how effectively the Kubernetes project was able to solve similar problems in the DevOps space by defining a systematic way to describe infrastructure resources using YAML manifest files, and then building a robust ecosystem of tools around those manifests to validate, deploy, and manage those resources. Inspired by this success, the authors designed the Smarter API Manifest (SAM) specification to bring similar benefits to the AI development space.

Example Smarter Manifest
apiVersion: smarter.sh/v1
kind: Chatbot
metadata:
  name: stackademy_sql
  description: Stackademy University course catalogue inquiries using the Stackademy SQL plugin.
  version: 1.0.0
  tags:
    - stackademy
    - sql
    - chatbot
  annotations:
    - smarter.sh/chatbot/stackademy-sql/creator: QA Team
    - smarter.sh/chatbot/stackademy-sql/purpose: chatbot for Stackademy course catalogue inquiries
    - smarter.sh/chatbot/stackademy-sql/release-date: 2024-06-15
    - smarter.sh/chatbot/stackademy-sql/backward-compatibility: true
    - smarter.sh/chatbot/stackademy-sql/note: |
        Uses SQL plugin to answer course catalogue questions.
        Very fast and accurate when the database is well-structured.
        Leverages cache for improved performance.
spec:
  config:
    deployed: false
    provider: openai
    defaultModel: gpt-4o-mini
    defaultSystemRole: >
      You are a helpful assistant. When given the opportunity to utilize
      function calling, you should always do so. This will allow you to
      provide the best possible responses to the user. DO NOT GUESS. IF
        YOU DON'T KNOW THE ANSWER, RESPOND THAT YOU DON'T KNOW.
    defaultTemperature: 0.5
    defaultMaxTokens: 1024
    appName: Stackademy SQL Chatbot
    appAssistant: Stanley
    appWelcomeMessage: Welcome to Stackademy SQL Chatbot! How can I help you today?
    appExamplePrompts:
      - "Do you offer any courses on AI?"
      - "My budget is $1,000. What courses can I take?"
      - "I want to study programming. What do you suggest?"
    appPlaceholder: "Ask me anything about Stackademy courses..."
    appInfoUrl: https://stackademy.edu/online-courses
  plugins:
    - stackademy_sql
  functions: []