github ianarawjo/ChainForge v0.3.4
v0.3.4: Better Table View, Saved Flows sidebar, optimized string storage

latest releases: v0.3.6, v0.3.5
13 months ago

This update brings three major quality-of-life changes:

  • Strings throughout the application are now frequently interned in a global StringLookup table, to improve performance and reduce duplicate memory usage. This noticeably improves performance when the number of LLM responses start to exceed 1000, and also results in smaller memory footprint for exported .cforge files.
  • A Saved Flows sidebar to keep track of your flows when running ChainForge locally, and a Save button. This interacts with the Python backend and stores the data in the folder suggested by platformdirs. The specific location appears in the footer of the sidebar (in case you want to manage it yourself).
  • Table View in Response Inspectors now uses Mantine React Table. This brings:
    • Sort columns by value
    • Selectively show/hide columns
    • Filter within columns
    • Sticky header when scrolling down the table
    • Pagination to improve performance when rendering large tables
Screen Shot 2025-03-02 at 4 44 46 PM Screen Shot 2025-02-28 at 2 58 04 PM

In addition, Response Inspectors now try to lazy-load and show a LoadingSpinner when first calculating the selected inspector view.

This change is a first-step towards moving the StorageCache into the Python back-end when the memory footprint exceeds a MB threshold. This will enable a lighter and streamlined front-end when running large-scale experiments.

Minor changes:

  • Removed unnecessary dependencies on anthropic and google packages. The latter blocked forever when attempting to install grcpio on my machine.

Warning

This change touched many source code files in ChainForge and altered the way cforge files are imported and exported. Although changes should be backwards-compatible and bug-free, this cannot be guaranteed. If performance breaks, revert to the previous version.

Don't miss a new ChainForge release

NewReleases is sending notifications on new releases.