To update the outputs of nodes in your runchat you will need to run it. Runchat doesn’t automatically calculate the outputs of a node when you change it’s inputs. This is to avoid unnecessary requests to language models where (especially in the case of working with large, fancy, slow models) each request may come with a cost.
Runchat keeps track of which nodes have old or “expired” solutions and need to be updated on the next run. Nodes that are expired will have a grey border, a deep shadow and outgoing edges will be dashed.
Changing an input to a node will expire all nodes downstream from it. This includes changing what is connected to input parameters, or directly editing the value of an input parameter from the node ui.
Pressing Ctrl+Enter
or the blue run button in the bottom right corner of the editor will run any nodes that are expired. After successfully running, a nodes state switches from Expired
to Success
.
If no nodes are expired and you run the chat, all nodes will re-run.
Nodes with a blue play button can be re-run individually without affecting the rest of your runchat. Nodes will use their current inputs to re-calculate their output, and you can run your entire runchat one node at a time by working from left to right. This is useful for re-generating outputs from language models where you expect some natural variation with each request.
You can choose between two different behaviours when running individual nodes. The single blue play button will update only the node itself. The forward button (two arrows) will update this node as well as all connected downstream nodes, as if this was the first node in your runchat. This is useful for triggering updates to sections of your runchat without re-running everything.
<aside> 💡
Running individual nodes is only possible in the Runchat editor. If you want users to be able to run parts of your Runchat from a published app, use the Button
input and connect this to whatever you want to update.
</aside>