Split test different agent prompts with Supabase and OpenAI
Needs changesWhat this workflow does
This AI workflow has 9 nodes and runs when a chat message arrives. Along the way it connects Supabase, OpenAI Chat Model and Postgres Chat Memory.
How it runs
Trigger: When a chat message arrives.
- Define Path Values (Edit Fields (Set)): sets 2 fields: baseline_value, alternative_value
- Check If Session Exists (Supabase): get
- If: checks a condition and branches into true / false
- Get Correct Prompt (Edit Fields (Set)): sets 1 field: prompt
- Assign Path To Session (Supabase): uses Supabase
- AI Agent: runs an AI agent, with model: OpenAI Chat Model; memory: Postgres Chat Memory
Services it uses
Before you upgrade to n8n 3.0
1 thing in this workflow is removed in n8n 3.0. Fix it before you upgrade:
- AI Agent v1 (old agent modes) in AI Agent (v1.7): replace with Latest AI Agent node (Tools Agent). For SQL Agent, use a Postgres or MySQL tool with a recent AI Agent.
Rather not rewrite it? Many of these flows can be rebuilt in Make (free plan).
| Removed in 3.0 | Replace with |
|---|---|
| AI Agent v1 (old agent modes) AI Agent (v1.7) | Latest AI Agent node (Tools Agent). For SQL Agent, use a Postgres or MySQL tool with a recent AI Agent. |
Nodes used (7)
- Chat Trigger
@n8n/n8n-nodes-langchain.chatTrigger - AI Agent
@n8n/n8n-nodes-langchain.agent - Supabase
n8n-nodes-base.supabase - If
n8n-nodes-base.if - Edit Fields (Set)
n8n-nodes-base.set - OpenAI Chat Model
@n8n/n8n-nodes-langchain.lmChatOpenAi - Postgres Chat Memory
@n8n/n8n-nodes-langchain.memoryPostgresChat
From the author
Split Test Agent Prompts with Supabase and OpenAI Use Case Oftentimes, it's useful to test different settings for a large language model in production against various metrics. Split testing is a good method for doing this. What it Does This workflow randomly…