Rivet

The open-source visual AI programming environment and TypeScript library

Last verified:

Visit Rivet

What is Rivet?

Rivet is an open-source visual programming environment and Integrated Development Environment (IDE) designed for building AI agents with large language models (LLMs). It uses a visual, node-based graph editor that allows users to create complex prompt chains and AI agents visually rather than programmatically. Teams can design, debug, and collaborate on complex LLM prompt graphs, then deploy them directly in their own environment.

Key features include a node-based editor for visualizing and building complex AI chains, live debugging that shows node execution in real-time, remote debugging for monitoring AI agents running on production servers, and the ability to version graphs as YAML files in team repositories. Rivet includes a comprehensive library of node types including Text, Chat, Match, Loop Controller, Extract YAML, Extract JSON, Chunk, Trim Chat Messages, and External Call nodes. It supports major LLM providers like OpenAI GPT-3.5/GPT-4, Anthropic Claude Instant/Claude 2/Claude 3 family, and AssemblyAI LeMUR framework for voice data.

Rivet is designed for developers, AI engineers, CTOs, and technical teams building AI-powered applications in production. It is particularly valuable for teams who struggled to build AI agents programmatically and need better visualization, debugging, and collaboration capabilities. The tool includes both a desktop application (Rivet Application) for creating graphs and TypeScript libraries (Rivet Core and Rivet Node) for executing graphs within applications.

The platform supports embedding/vector database integration with OpenAI Embeddings and Pinecone, speech-to-text from AssemblyAI, and can be integrated into Node.js or TypeScript applications using the @ironclad/rivet-node package. Rivet graphs execute like function calls within applications, making it easy to integrate AI capabilities into existing projects.

Rivet pricing

Pricing model: Freemium

Rivet is completely free and open-source. There is no paid tier or subscription model. The desktop application can be downloaded for free on MacOS, Linux (AppImage), and Windows. The TypeScript libraries (@ironclad/rivet-core, @ironclad/rivet-node, @ironclad/rivet-cli) are available on NPM at no cost. Users only pay for the external services they use with Rivet, such as OpenAI API calls, Anthropic Claude API, AssemblyAI, or Pinecone vector database.

Rivet pros

  • Open-source and free to use
  • Visual node-based graph editor for intuitive AI agent building
  • Live debugging shows real-time node execution and outputs
  • Remote debugging for production environment monitoring
  • Graphs are YAML files for easy version control in Git
  • Supports multiple LLM providers (OpenAI, Anthropic Claude)
  • Comprehensive node library with 20+ built-in node types
  • Subgraph nodes enable modular, reusable graph components
  • Easy integration with Node.js applications via @ironclad/rivet-node
  • Loop controller nodes for iterative AI workflows
  • A/B testing variations on nodes for experimentation
  • Integrated testing to validate graphs work correctly
  • No coding required for initial prompt graph design
  • Supports Pinecone for vector database integration
  • AssemblyAI integration for speech-to-text and voice data
  • Collaborative workflow with team code review tools
  • Works on MacOS, Linux (AppImage), and Windows
  • Execute graphs like function calls in applications
  • See input/output of every node in real-time
  • Zoom into nodes to examine partial/streaming outputs

Rivet cons

  • No undo function when deleting nodes
  • Node-based editor has learning curve for non-technical users
  • Only supports Node.js 16 or later for integration
  • Currently only supports integration via Node.js, not Python directly
  • Graph executions are merged together, cannot view specific execution values
  • No built-in hosting - must self-host in your own environment
  • Limited to JavaScript/TypeScript ecosystems for integration
  • External Call node requires additional configuration
  • Subgraphs must be manually saved after creation
  • Web interface not available - desktop application only
  • No visual A/B testing results dashboard built-in
  • Cannot pick between executions of whole graphs
  • Plugin nodes require separate documentation review
  • No cloud-based collaboration platform included
  • Limited to modern ESM JavaScript environments for rivet-core

Frequently asked questions about Rivet

What is Rivet and what does it do?

Rivet is a visual programming environment for building AI agents with LLMs. It provides a node-based graph editor where you can visually create complex prompt chains and AI agents, then run them directly in your application. Teams use Rivet to design, debug, and collaborate on complex LLM prompt graphs before deploying them in their own environment.

Is Rivet free to use?

Yes, Rivet is completely open-source and free to use. The desktop application and all TypeScript libraries (@ironclad/rivet-core, @ironclad/rivet-node, @ironclad/rivet-cli) are available at no cost. You only pay for external services like OpenAI API, Anthropic Claude API, or Pinecone that you integrate with Rivet.

Which operating systems does Rivet support?

Rivet supports MacOS, Linux (via AppImage), and Windows. Prebuilt binaries are available for download for all three platforms from the Rivet website.

How do I integrate Rivet into my application?

Rivet integration is currently supported via Node.js using the @ironclad/rivet-node package. Install it with your package manager (npm, yarn, or pnpm), import it into your application, and use functions like runGraphInFile to execute Rivet project files. Rivet requires Node.js 16 or later.

What LLM providers does Rivet support?

Rivet supports OpenAI GPT-3.5 and GPT-4, Anthropic Claude Instant, Claude 2, and the Claude 3 family (Haiku, Sonnet, and Opus). It also supports the AssemblyAI LeMUR framework for voice data processing.

How does debugging work in Rivet?

Rivet offers live debugging that shows nodes executing in real-time (highlighted in orange), displays input/output data for each node after execution, and allows you to zoom into nodes to examine partial outputs like streaming LLM data. Remote debugging is also supported for AI chains running on production servers.

Can I version control my Rivet graphs?

Yes, Rivet graphs are stored as YAML files, which means you can version them in your team's Git repository and review changes using standard code review tools. This makes collaboration straightforward for teams.

What node types are available in Rivet?

Rivet includes a comprehensive library of nodes: Text, Chat, Match, Loop Controller, Extract YAML, Extract JSON, Chunk, Trim Chat Messages, External Call, Subgraph, and many more. Each node has specific inputs and outputs with defined data types documented in the Node Reference.

How do I create subgraphs in Rivet?

To create a subgraph, select multiple nodes by holding shift and clicking their title bars, right-click one selected node, and choose 'Create Subgraph'. This creates a new graph with input/output nodes. You must manually save the subgraph (Cmd+S or Ctrl+S) and give it a name in the graph info section.

What vector databases does Rivet support?

Rivet supports OpenAI Embeddings and Pinecone for embedding/vector database functionality. This enables building AI agents with retrieval-augmented generation (RAG) capabilities and semantic search features.

Categories

Use cases

Browse all AI tools on NeedAnAI