Skip to main content

Substrate Python SDK

Project description

Substrate Python SDK

PyPI version

Substrate is a powerful SDK for building with AI, with batteries included: language models, image generation, built-in vector storage, sandboxed code execution, and more. To use Substrate, you simply connect tasks, and then run the workflow. With this simple approach, we can create AI systems (from RAG, to agents, to multi-modal generative experiences) by simply describing the computation, with zero additional abstractions.

Substrate is also a workflow execution and inference engine, optimized for running compound AI workloads. Wiring together multiple inference APIs is inherently slow – whether you do it yourself, or use a framework like LangChain. Substrate lets you ditch the framework, write less code, and run compound AI fast.

Documentation

If you're just getting started, head to docs.substrate.run.

For a detailed API reference covering the nodes available on Substrate, see substrate.run/nodes.

Installation

# install from PyPI
pip install substrate

Usage

from substrate import Substrate, ComputeText, sb

Initialize the Substrate client.

substrate = Substrate(api_key=SUBSTRATE_API_KEY)

Generate a story using the ComputeText node.

story = ComputeText(prompt="tell me a story")

Summarize the output of the story node using another ComputeText node. Because story has not yet been run, we use sb.concat to work with its future output.

summary = ComputeText(prompt=sb.concat("summarize this story in one sentence: ", story.future.text))

Run the graph chaining storysummary by passing the terminal node to substrate.run.

response = substrate.run(story, summary)

(To run the graph asynchronously, simply use async_run and await.)

response = await substrate.async_run(story, summary)

Get the output of the summary node by passing it to response.get.

summary_out = response.get(summary)
print(summary_out.text)
# Princess Lily, a kind-hearted young princess, discovers a book of spells and uses it to grant her family and kingdom happiness.

Examples

To run the above example as a notebook, navigate to the examples/notebooks directory and run:

make ensure                         # install dependencies
poetry run marimo edit basic.py     # run the notebook

Many more examples are included in the /examples directory.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

substrate-220240617.1.8.tar.gz (38.6 kB view details)

Uploaded Source

Built Distribution

substrate-220240617.1.8-py3-none-any.whl (43.9 kB view details)

Uploaded Python 3

File details

Details for the file substrate-220240617.1.8.tar.gz.

File metadata

  • Download URL: substrate-220240617.1.8.tar.gz
  • Upload date:
  • Size: 38.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.13

File hashes

Hashes for substrate-220240617.1.8.tar.gz
Algorithm Hash digest
SHA256 9a79ef9c4514287451dd9c0897d8ad4196ab84057e05abb6685d778b16cea356
MD5 fd0ea84e19b0ee627c70d0e5b0f66d59
BLAKE2b-256 316ea42203ef79f98d79e69def5ebfc02bf4dd294c9a41ff685eae9fc09af642

See more details on using hashes here.

File details

Details for the file substrate-220240617.1.8-py3-none-any.whl.

File metadata

File hashes

Hashes for substrate-220240617.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 a569cddecea801c844656d2bfc195b4295b805968a425b0b7037ed8f180dda9e
MD5 a9bf14b5de6bf4c0063dafc34ef0edbe
BLAKE2b-256 4a17c3e2c77c0421309d6b12a93bf7c88f1badc335f22ad1457d800b8176301a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page