v1.12.0

Ironclad/rivetv1.12.0Nov 14, 2023by abrenneke

AI Summary

Rivet v1.12.0 introduces the Rivet CLI for command-line graph execution, adds a 'main graph' feature allowing projects to have a default graph, and significantly enhances AI nodes with timeout settings, token counting, and new output options. The release also improves node configurability with auto-focus, enable/disable toggles, and port descriptions.

Key Highlights

  • Rivet CLI released - run rivet graphs from the command line easily
  • Added 'main graph' support in projects with optional graphId in GraphProcessor
  • Enhanced Chat node with timeout settings, overrideMaxTokens, and 'All Messages' output
  • GptFunctionNode now supports dynamic inputs and {{interpolations}}
  • Moved createProcessor to @ironclad/rivet-core as createCoreProcessor

Breaking Changes

  • Loop Controller max iteration tracking moved into the node itself (behavioral change)

New Features

  • Rivet CLI for command-line graph execution
  • Node editors can mark fields as autoFocus
  • Nodes can be enabled/disabled
  • 'Main graph' support in projects, graphId optional in GraphProcessor
  • Node ports can have descriptions
  • chatNodeTimeout setting for initial LLM response
  • Assemble Prompt node computes token count for all messages
  • overrideMaxTokens for chat node
  • 'All Messages' output for Chat node
  • GptFunctionNode optional input ports for name, description, and schema
  • GptFunctionNode supports {{interpolations}}
  • Loop Controller can break at max iterations instead of erroring
  • Match node exclusive mode - only one matching regex passes through

Full Release Notes

## New Features

- Release Rivet CLI - run rivet graphs from the command line easily!
- Node editors can mark a field as `autoFocus`
- Add ability for nodes to be enabled/disabled
- Add support for a "main graph" in a project, and made `graphId` optional when creating a `GraphProcessor`, which will run the main graph, if it's set for a project.
- Node ports can have descriptions
- Added `chatNodeTimeout` setting to `Settings` interface to set a timeout for the _initial_ response from the LLM.
- Assemble Prompt node can now compute token count for all messages
- Added `overrideMaxTokens` to chat node, to override the max allowed tokens for a model
- Added "All Messages" output to Chat node
- Added optional input ports to `GptFunctionNode` to allow `name`, `description`, and `schema` to be passed in as inputs
- `GptFunctionNode` now supports {{interpolations}} like the Prompt node and Text nodes.
- Loop Controller node can now break at max iterations instead of always erroring
- Added Match node exclusive mode, only one matching regex will be passed through

## Changes & Fixes

- Move most of `createProcessor` into `@ironclad/rivet-core` as `createCoreProcessor`. `createProcessor` in rivet-node still functions the same way.
- Moved Loop Controller max iteration tracking into the loop controller node itself. 
- Prompt node will stringify the function call arguments if necessary
- AssemblyAI plugin now uses AssemblyAI SDK
- Added fake `local-model` model to models list