Skip to content

UI Overview

This page describes the user interface of ChainForge, including all buttons in the toolbar. Below is a screenshot of the interface. The interface is loaded with an experiment (a 'flow') testing a chat LLM's tendency to change to an incorrect answer if the user tells it that it's wrong:

ui-overview

There's a toolbar on the top, and a number of blocks —what we call 'nodes' —connected by lines. Outputs of nodes are on the right; inputs are on the left. Data generally flows left-to-right.

In the experiment, two Items Nodes (a.k.a. Data Loaders) provide input to a Prompt Node and a Chat Turn Node, respectively. The output of the Prompt Node feeds into the Chat Turn Node to continue a conversation with 3 queried LLMs. The responses from the Chat Turn node are then fed into an LLM Scorer that returns boolean values true or false. The scores are finally fed into a Vis Node to plot results. Here, we see that ChatGPT (GPT3.5) is the most robust against 'changing its mind' when told that it's wrong, for the tried inputs.

Below we describe the toolbar and node UI. If you'd like to know more about specific capabilities, visit Nodes or see the pages under Features in the left side-bar.

Toolbar

Button Function Onclick event
add-node View all nodes currently available. Select a node and it will appear in the interface. For specific details on each node, visit the Nodes page. add-node
export Share your evaluation flows with others. You can export your flow as a cforge file (JSON) by clicking the Export button. All cache'd LLM responses and evaluation results are exported with your current flow. export
import Upload a ChainForge file to view and/or modify a previous flow. export
import The web version of ChainForge includes a Share button. Simply click Share to generate a unique link for your flow and copy it to your clipboard! Note: To prevent abuse, you can only share up to 10 flows at a time, and each flow must be <5MB after compression. If you share more than 10 flows, the oldest link will break, so make sure to always Export important flows to cforge files, and use Share to only pass data ephemerally. export
new-flow Generate a fresh programming environment. Once you click 'Confirm,' your previous nodes will be erased and you'll have a blank TextFields Node and sample Prompt Node. add-node
example flows View example flows to give you a sense of what's possible with ChainForge. Click 'Try me' to load an example. Click the tab OpenAI Evals to see 188 example flows generated from the OpenAI evals benchmarking suite. add-node
gear Set your API keys! If you prefer to not worry about this everytime you open ChainForge, we recommend that save your OpenAI, Anthropic, and/or Google PaLM API keys to your local environment. For more details, see installation page. add-node

Connecting and disconnecting nodes

Connect outputs to inputs by clicking the handle bead and dragging to the input bead:

connecting-edge

You can delete edges by hovering over the edge, clicking it, and hitting the Delete key:

deleting-edge

Finally, you can rename nodes by clicking on their labels; and you can delete nodes by clicking the X in the top-right corner. For info on what nodes are available, see the Nodes page.

Info

We realize it's hard to select edges. This is a difficulty with ReactFlow, the library we're using, that we hope to resolve soon.