Skip to content

Rivet IDE v1.7.0

Compare
Choose a tag to compare
@github-actions github-actions released this 14 Nov 23:05

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