v1.13.0
Ironclad/rivetv1.13.0Nov 14, 2023by abrenneke
AI Summary
This release adds major OpenAI support including GPT-4 Turbo, GPT-4 Vision, and the new Assistants API, along with several new nodes for vision processing and data manipulation. It includes a breaking change where the OpenAI function calling API has been migrated to the new Tools API, requiring a `tool_id` for function call responses.
Key Highlights
- Added support for OpenAI GPT-4 Turbo and GPT-4 Vision models
- Full support for new OpenAI Assistants API with new OpenAI plugin
- New nodes: Assemble Message, URL Reference, Destructure, and Replace Dataset
- Breaking change: Migrated from deprecated function calling API to new Tools API requiring tool_id
- Loop controller now properly handles control-flow-excluded and fixes infinite looping
Breaking Changes
- Switched from deprecated OpenAI function calling API to new Tools API - existing graphs may break because the new API requires a tool_id to be passed for function call responses
- Code node now defaults to input1 and output instead of input and output
- If/Else and If nodes now output control-flow-excluded for unconnected ports by default (existing nodes retain old behavior)
New Features
- Support for OpenAI GPT-4 Turbo model
- Support for OpenAI GPT-4 Vision model
- Full support for OpenAI Assistants API with new OpenAI plugin
- Support for new OpenAI seed parameter
- Support for forcing a Chat node to run a specific tool (OpenAI)
- Support for OpenAI JSON output mode
- New Assemble Message node for GPT-4 Vision (combines text and image parts)
- New URL Reference node for referencing URL images with GPT-4 Vision
- New Destructure node for extracting multiple paths from an object at once
- New Replace Dataset node for replacing or clearing dataset contents
- Read File node can now read files as binary
- Remote debugger can pass context values in dynamicGraphRun
- ChatMessage is now a union of SystemChatMessage, UserChatMessage, AssistantChatMessage, and FunctionResponseChatMessage
- Message of a chat message now supports ChatMessagePart | ChatMessagePart[] for image support
- Added file path browser editor definition
- nodeExcluded event now includes inputs, outputs, and reason
Full Release Notes
## 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`