Substrate est un SDK puissant pour la construction avec l'IA, avec des batteries incluses : modèles de langage, génération d'images, stockage vectoriel intégré, exécution de code en bac à sable, et bien plus encore. Pour utiliser Substrate, il vous suffit de connecter des tâches, puis d'exécuter le flux de travail. Avec cette approche simple, nous pouvons créer des systèmes d'IA (du RAG aux agents, en passant par les expériences génératives multimodales) en décrivant simplement le calcul, sans abstractions supplémentaires .
Substrate est également un moteur d'exécution et d'inférence de flux de travail, optimisé pour exécuter des charges de travail d'IA composées. Le câblage de plusieurs API d'inférence est intrinsèquement lent, que vous le fassiez vous-même ou que vous utilisiez un framework comme LangChain. Le substrat vous permet d'abandonner le framework, d'écrire moins de code et d'exécuter rapidement l'IA composée.
Si vous débutez, rendez-vous sur docs.substrate.run.
Pour une référence détaillée de l'API couvrant les nœuds disponibles sur Substrate, voir substrat.run/nodes.
# install from PyPI
pip install substrate
from substrate import Substrate , ComputeText , sb
Initialisez le client Substrat.
substrate = Substrate ( api_key = SUBSTRATE_API_KEY )
Générez une histoire à l'aide du nœud ComputeText
.
story = ComputeText ( prompt = "tell me a story" )
Résumez la sortie du nœud story
à l'aide d'un autre nœud ComputeText
. Comme story
n'a pas encore été exécutée, nous utilisons sb.concat
pour travailler avec sa sortie future.
summary = ComputeText ( prompt = sb . concat ( "summarize this story in one sentence: " , story . future . text ))
Exécutez l' story
de chaînage de graphiques → summary
en passant le nœud terminal à substrate.run
.
response = substrate . run ( story , summary )
(Pour exécuter le graphique de manière asynchrone, utilisez simplement async_run
et await
.)
response = await substrate . async_run ( story , summary )
Obtenez la sortie du nœud de résumé en la transmettant à 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.
Pour exécuter l'exemple ci-dessus en tant que bloc-notes, accédez au répertoire examples/notebooks
et exécutez :
make ensure # install dependencies
poetry run marimo edit basic.py # run the notebook
De nombreux autres exemples sont inclus dans le répertoire /examples
.