You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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