Skip to content

Board Interfaces

Dimitri Glazkov edited this page Dec 14, 2024 · 9 revisions

This is a proposal to implement interface-like functionality in Breadboard.

The motivating use case:

  • A component exposes a behaviors: ["board"] port, intended for plugging in a "model board".
  • The "model board" must conform to a particular type of interface, which includes both input/output schema and potentially an exchange protocol
    • Examples of exchange protocol:
      • a "model board" accepts two kinds of requests. One to get information about available models and their capabilities (can it output images? or just text? does it support system instructions or function calls?) and another to generate content. This can't be easily/succinctly expressed just by JSON schema.
      • a "worker board" recognizes both an "introduction" and "do work" requests.
  • At design time, when dragging a board reference into workspace, we want to make sure that only ports that accept "model boards" light up.
  • How do we know whether or not any given board is a "model board"?
Clone this wiki locally