Skip to content

Releases: Ironclad/rivet

Rivet IDE v1.7.2

16 Nov 00:07
Compare
Choose a tag to compare

New Features

Changes & Bug Fixes

  • Fix request token count being 0 when number of choices is unset (1)
  • Account for GPT functions in token counting by approximating what OpenAI does to calculate their token counts.
  • Fix being unable to edit key value pairs

Rivet Libraries v1.13.0

14 Nov 23:23
Compare
Choose a tag to compare

New Features

  • Support for new OpenAI GPT-4 Turbo model!
  • Support for new OpenAI GPT-4 Vision model!
  • Full support for new OpenAI Assistants API! Use the new OpenAI plugin.
  • Switched from deprecated OpenAI function calling API to new OpenAI Tools API. Existing graphs may break because the new API requires a tool_id to be passed for function call responses.
  • New Nodes:
    • Assemble Message - Used with GPT-4 Vision, this allows you to assemble a single chat message that contains both textual parts and image parts!
    • URL Reference - Used with GPT-4 Vision and the Assemble Message node, this allows you to reference a URL image instead of uploading an image.
    • Destructure - A simplified version of the Extract Object Path node, this allows you to extract multiple paths from an object at once, avoiding the need for multiple Extract Object Path nodes.
    • Replace Dataset - Replace the contents of a dataset with new values, or clear a dataset when no values are passed in.
  • Support for new OpenAI seed parameter
  • Support for forcing a Chat node to run a specific tool (OpenAI)
  • Support for OpenAI JSON output mode
  • If/Else and If node now outputs control-flow-excluded for unconnected ports by default, instead of undefined. Existing If/Else and If nodes still will have the old behavior.
  • Read File node can now read files as binary, instead of only text.
  • Remote debugger can pass context values in dynamicGraphRun

Changes & Fixes

  • Fix loop controller infinite looping
  • Loop controller node now allows non-default input ports to be "Not Ran". This will pass through to the output ports. If any "Default" input port is excluded, then the whole loop controller will not run.
  • Fix ghost opened projects
  • Code node now defaults to input1 and output instead of input and output
  • Fixed node port types being incorrect
  • Code now will error if it doesn't return the values it expects
  • Fixed Extract Object Path erroring when the input value is undefined or null
  • Arrays are now inferred correctly, such as with Trivet test inputs
  • (internal) getTokenCountForMessages is now async
  • ChatMessage is now a union of SystemChatMessage, UserChatMessage, AssistantChatMessage, and FunctionResponseChatMessage
  • The message of a chat message is now a ChatMessagePart | ChatMessagePart[] to support images in chat messages.
  • Text editors can now have placeholders and max length
  • Added file path browser editor definition
  • nodeExcluded event now includes inputs, outputs, and reason
  • Loop controller node now consumes control-flow-excluded

Rivet IDE v1.7.1

15 Nov 01:55
Compare
Choose a tag to compare

Quick update, see 1.7.0 for big release notes!

  • Increased width of update modal
  • Update modal renders markdown
  • Instead of auto-restarting, the update will show a restart button, hopefully to avoid the corruption happening during auto update

Rivet IDE v1.7.0

14 Nov 23:05
Compare
Choose a tag to compare

New Features

  • Support for new OpenAI GPT-4 Turbo model!
  • Support for new OpenAI GPT-4 Vision model!
  • Full support for new OpenAI Assistants API! Use the new OpenAI plugin (see below) to access all of the new nodes!
  • Switched from deprecated OpenAI function calling API to new OpenAI Tools API. ⚠️ This may break existing graphs, as the OpenAI API now requires a tool_id to be passed into the API calls. The tool call ID can be attached via the Name/ID input of the Prompt node. ⚠️
  • New Nodes:
    • Assemble Message - Used with GPT-4 Vision, this allows you to assemble a single chat message that contains both textual parts and image parts!
    • URL Reference - Used with GPT-4 Vision and the Assemble Message node, this allows you to reference a URL image instead of uploading an image.
    • Destructure - A simplified version of the Extract Object Path node, this allows you to extract multiple paths from an object at once, avoiding the need for multiple Extract Object Path nodes.
    • Replace Dataset - Replace the contents of a dataset with new values, or clear a dataset when no values are passed in.
  • Support for new OpenAI seed parameter
  • Support for forcing a Chat node to run a specific tool (OpenAI)
  • Support for OpenAI JSON output mode
  • When nodes are not ran, the wire to them now shows as dotted, plus more visual indications!
  • Added Project Context to the project settings panel. This allows you to pass in context values (accessible via the Context node) when running in Rivet. This lets you add secret values that won't be shared when you share a project file. Context values are stored in the Rivet application but not the project file.
  • Added new Help menu with useful links, and a Discord button to the top bar.
  • Added graph execution selector bar - switch between executions of each graph across all nodes easily
  • Added useful tooltips to buttons
  • Port info overlay now show the data that went through that port as well!
  • Can now edit the ID of datasets in the Data Studio
  • Certain values can be edited in the editor for a Subgraph node, instead of only connecting values via wires!
  • If/Else and If node now outputs control-flow-excluded for unconnected ports by default, instead of undefined. Existing If/Else and If nodes still will have the old behavior.
  • Read File node can now read files as binary, instead of only text.

OpenAI Plugin

  • Added OpenAI plugin, which contains all of the new nodes for the OpenAI Assistants API
  • New Nodes:
    • Attach Assistant File - Attaches an existing OpenAI File to an Assistant
    • Create Assistant - Creates a new OpenAI Assistant
    • Create Thread Message - Appends a message to an OpenAI Thread
    • Delete Assistant - Deletes an OpenAI Assistant
    • Delete Thread - Deletes an OpenAI Thread
    • Get Assistant - Gets an OpenAI Assistant by its ID
    • Get OpenAI File - Retrieves and OpenAI File by its ID
    • Get Thread - Gets an OpenAI Thread by its ID
    • List Assistants - Lists all OpenAI Assistants in the account
    • List OpenAI Files - Lists all OpenAI Files in the account
    • List Thread Messages - Lists all messages in an OpenAI Thread
    • Run Thread
      • This is the main node for running an OpenAI Assistant. It can either run an existing thread that was created, or it can create and run a thread in one step. If you are creating a new thread, you pass in a list of chat messages to start the thread with. If you are running an existing thread, you pass in the thread ID.
      • This will run a thread until it has reached a cancelled, cancelling, expired, failed, or completed state.
      • When the thread requires action (state requires_action), then a Rivet subgraph will be called. The mapping from function names to Rivet subgraphs is configured in the editor for the Run Thread node. The subgraph receives the following inputs:
        • arguments - The (parsed) arguments that the LLM is calling for the function
        • input - Alias for arguments
        • name - The name of the function that the LLM is calling
        • tool_call_id - The ID of the tool call that the LLM is calling.
        • run_id - The ID of the run that the LLM is calling.
        • run - The whole Run object for the thread run.
      • The subgraph should return a single Graph Output with an ID of output (the default) as the output of the tool call. You do not need to worry about the tool call ID, as it will be mapped correctly.
      • If you configure a subgraph to respond to the function call unknown, then this graph will be used for all unmapped function calls.
    • Thread Message - Defines a single message for use with OpenAI Threads. Use an Array node for multiple thread messages.
    • Upload File - Uploads a file to the OpenAI account. The files can be attached to Assistants or attached to any message with the file ID.

Changes & Fixes

  • Improved performance across the board
  • Fix loop controller infinite looping
  • Loop controller node now allows non-default input ports to be "Not Ran". This will pass through to the output ports. If any "Default" input port is excluded, then the whole loop controller will not run./
  • Nodes that output arrays now say how many elements are in them
  • Array node outputs have lines in between the elements
  • Chat message type names are color-coded
  • Expanded/collapsed folders in graph list are persisted across application launches
  • Fixed context menu for graph list going off the screen
  • Fixed context menu for graph list not closing
  • Fix chat viewer and plugin overlay z-index
  • Fix autocomplete and spellcheck appearing on many input fields
  • The same project cannot be opened twice, and two projects with the same ID cannot be opened at the same time, to prevent weird issues
  • Fix ghost opened projects
  • Current Rivet version is now shown in the title and the updates page
  • Fixed editing key/value pairs not saving
  • Fixed nodes not showing that they were "not ran"
  • Fixed port info overlay sticking when dragging wires onto a port
  • Importing a graph will center the view on it
  • Array node body now shows whether it flattens
  • Code node now defaults to input1 and output instead of input and output
  • Fixed node port types being incorrect
  • Code now will error if it doesn't return the values it expects
  • Fixed Extract Object Path erroring when the input value is undefined or null
  • Arrays are now inferred correctly, such as with Trivet test inputs
  • OpenAI models are now alphabetical

Rivet IDE v1.7.0-beta4

14 Nov 07:56
Compare
Choose a tag to compare
Pre-release

See the assets to download this version and install.

Rivet IDE v1.7.0-beta3

11 Nov 00:18
Compare
Choose a tag to compare
Pre-release

See the assets to download this version and install.

Rivet IDE v1.7.0-beta2

09 Nov 21:55
Compare
Choose a tag to compare
Pre-release

See the assets to download this version and install.

Rivet IDE v1.7.0-beta1

09 Nov 21:55
Compare
Choose a tag to compare
Pre-release

See the assets to download this version and install.

Rivet Libraries v1.12.0

14 Nov 22:08
Compare
Choose a tag to compare

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

Rivet IDE v1.6.0

01 Nov 00:11
Compare
Choose a tag to compare

New Features

  • Rivet-powered Code Node code generator! Input what you'd like the Code Node to do, and get it instantly updated with correctly formatted code!
  • Open multiple projects at once! Navigate between them using the tabs at the top of the screen.
  • Enable and disable nodes using a toggle in the node editor. Disabled nodes will be excluded in the same way that nodes after a failed If Node are excluded.
  • Specify a "main graph" for a project. The main graph can be ran from any graph, with an additional Run button.
  • When dragging a wire, see what inputs are compatible with colored ports, and whether your value will be coerced into the correct type. Helper text available in port info window.
  • New "New Project" modal!
  • Add "Run" option in the graph list context menu for a graph
  • Assemble Prompt node can now compute token counts for the entire set of messages.
  • Search your datasets using embeddings and KNN! Use this to optimize your datasets and see how they're behaving when using KNN.
  • When hovering over a single port, only the wire connected to it will be highlighted.
  • When hovering over a port, information about that port will be displayed in a small window
  • Added zoom sensitivity slider
  • Chat node timeout can be configured in the settings modal now
  • GPT Function calls are now rendered in all node outputs
  • Improve editor for the Match node
  • Match node now supports exclusive mode, where only one matching output will be ran
  • Interpolation and input toggles are now supported for the GPT Function Node
  • Added "override max tokens" for use with local models with chat node
  • Added local-model fake GPT model for use with local models.
  • Drag box icon is now shown when holding shift
  • Chat Node now has more outputs! Messages Sent, All Messages, and Response Tokens
  • The loop controller can now break instead of only error when reaching max iterations.
  • Graph input default value is now shown in the node body
  • Import Graph added to context menu of graph list
  • Press "e" when hovering over a node to edit it
  • The first editable field will be auto-selected when editing a node
  • Add quick auto-configure button in settings for LM Studio

Changes & Bug Fixes

  • Fix "Run To Here" when using the node executor
  • Function call port is now optional when enabled
  • Function call port on Prompt Node is now more tolerant of its input
  • Fix right clicking on entire graph list area
  • Fix pressing escape key with certain node editors
  • Fix Chat Viewer empty space when a graph is not currently running
  • Updated AssemblyAI SDK
  • Fix function call in Prompt Node not being formatted correctly for GPT
  • "Question N" hidden when there is only one question
  • Fix data studio error when editing cell before code editor has loaded
  • Fix overwriting existing dataset row not persisting
  • Imported graphs are now duplicates (new IDs for all nodes)