/breadboard

A library for prototyping generative AI applications.

Primary LanguageTypeScriptApache License 2.0Apache-2.0

Breadboard

Milestone Stability Discord

A library for prototyping generative AI applications.

This library was inspired by the hardware maker community and their boundless creativity. They make amazing things with off-the-shelf parts and a breadboard, just wiring things together and trying this and that until it works.

Breadboard is an attempt to bring the same spirit of creativity and simplicity to making generative AI applications.

This library's design emphasizes two key properties:

1️⃣ Ease and flexibility of wiring. Make wiring prototypes easy and fun.

2️⃣ Modularity and composability. Easily share, remix, reuse, and compose prototypes.

Documentation

The documentation is a bit of a work in progress. The best place to start is the this guide, although it is still incomplete. Please bear with us as we bring our words up to speed with our thoughts/actions.

Monorepo

This is the monorepo for Breadboard. See DEVELOPING.md for instructions on how to work within it.

Requirements

Breadboard requires Node version >=v20.14.0.

Packages

Package Name NPM Description
Core
@google-labs/breadboard Published on npm The core breadboard library
@breadboard-ai/build Published on npm Library for defining boards and node types
Kits
@google-labs/core-kit Published on npm Breadboard kit for foundational board operations like map and invoke
@google-labs/json-kit Published on npm Breadboard kit for working with JSON in boards
@google-labs/template-kit Published on npm Breadboard kit to help with templating
@google-labs/palm-kit Published on npm Breadboard kit for working with the PaLM API in boards
@exadev/breadboard-kits Published on npm A variety of utilities, general purpose nodes, and kits specific scenarios
Tools & Support Libraries
@google-labs/breadboard-cli Published on npm Command-line tool for generating, running, and debugging boards
@google-labs/breadboard-extension Unpublished VSCode extension to assist in building Breadboard applications
@google-labs/breadboard-server Published on npm Library for running boards as Google Cloud Functions
@google-labs/breadboard-ui Published on npm Web Components for building applications with Breadboard
@google-labs/create-breadboard-kit Published on npm NPM init/create script for creating a kit
@google-labs/create-breadboard Published on npm NPM init/create script for creating a board
Examples
@google-labs/cloud-function Unpublished Example of using Cloud Functions with Breadboard
@google-labs/coffee-bot-board Unpublished Example board that can order coffee
@google-labs/graph-playground Unpublished Examples project that runs some sample boards
@google-labs/breadboard-hello-world Unpublished Example board based on the Breadboard tutorial
Internal/Experiments
@google-labs/breadboard-web Unpublished Library for running boards in a web browser
@google-labs/breadboard-website Unpublished The documentation website for Breadboard
@google-labs/breadbuddy Unpublished Library for generating web applications from boards
@google-labs/discovery-types Unpublished Library which generates TypeScript declarations from the PaLM API Discovery Document
@google-labs/graph-integrity Unpublished Library that validates boards
@google-labs/node-nursery-web Unpublished A place for experimenting with board nodes that aren't yet ready for their own package (web specific)
@google-labs/node-nursery Unpublished A place for experimenting with board nodes that aren't yet ready for their own package (general)
@google-labs/node-proxy-server Unpublished Library that allows running nodes remotely
@google-labs/pinecone-kit Unpublished Library for working with the Pinecone vector database in boards
Deprecated
@google-labs/graph-runner Published on npm Legacy library for executing boards