<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: grawenbh</title>
    <description>The latest articles on DEV Community by grawenbh (@grawenbh).</description>
    <link>https://dev.to/grawenbh</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3619348%2F444ecd47-8e54-47c6-9479-ac3e67fecb31.png</url>
      <title>DEV Community: grawenbh</title>
      <link>https://dev.to/grawenbh</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/grawenbh"/>
    <language>en</language>
    <item>
      <title>Split Test AI Prompts Using Supabase &amp; Langchain Agent</title>
      <dc:creator>grawenbh</dc:creator>
      <pubDate>Sat, 28 Mar 2026 15:12:04 +0000</pubDate>
      <link>https://dev.to/grawenbh/split-test-ai-prompts-using-supabase-langchain-agent-464f</link>
      <guid>https://dev.to/grawenbh/split-test-ai-prompts-using-supabase-langchain-agent-464f</guid>
      <description>&lt;p&gt;This workflow allows you to A/B test different prompts for an AI chatbot powered by Langchain and OpenAI. It uses Supabase to persist session state and randomly assigns users to either a baseline or alternative prompt, ensuring consistent prompt usage across the conversation.&lt;/p&gt;

&lt;p&gt;🧠 Use Case Prompt optimization is crucial for maximizing the performance of AI assistants. This workflow helps you run controlled experiments on different prompt versions, giving you a reliable way to compare performance over time.&lt;/p&gt;

&lt;p&gt;⚙️ How It Works &lt;br&gt;
When a message is received, the system checks whether the session already exists in the Supabase table. If not, it randomly assigns the session to either the baseline or alternative prompt. The selected prompt is passed into a Langchain Agent using the OpenAI Chat Model. Postgres is used as chat memory for multi-turn conversation support.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl1ioc54iitl41hrbpco1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl1ioc54iitl41hrbpco1.png" alt="Split Test AI Prompts by n8n" width="800" height="357"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🧪 Features&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Randomized A/B split test per session&lt;/li&gt;
&lt;li&gt;Supabase database for session persistence&lt;/li&gt;
&lt;li&gt;Langchain Agent + OpenAI GPT-4o integration&lt;/li&gt;
&lt;li&gt;PostgreSQL memory for maintaining chat context&lt;/li&gt;
&lt;li&gt;Fully documented with sticky notes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🛠️ Setup Instructions Create a Supabase table named split_test_sessions with the following columns:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;session_id (text)&lt;/li&gt;
&lt;li&gt;show_alternative (boolean)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Add credentials for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Supabase&lt;/li&gt;
&lt;li&gt;OpenAI&lt;/li&gt;
&lt;li&gt;PostgreSQL (for chat memory)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Modify the “Define Path Values” node to set your baseline and alternative prompts.&lt;/p&gt;

&lt;p&gt;Activate the workflow.&lt;/p&gt;

&lt;p&gt;Send messages to test both prompt paths in action.&lt;/p&gt;

&lt;p&gt;🔄 Next Steps&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Add tracking for conversions or feedback scores to compare outcomes by &lt;a href="https://banana-ai.art/" rel="noopener noreferrer"&gt;banana ai&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Modify the prompt content or model settings (e.g. temperature, model version).&lt;/li&gt;
&lt;li&gt;Expand to multi-variant tests beyond A/B.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>llm</category>
      <category>testing</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>what is seedance 2 's advantage?</title>
      <dc:creator>grawenbh</dc:creator>
      <pubDate>Wed, 18 Feb 2026 02:26:23 +0000</pubDate>
      <link>https://dev.to/grawenbh/what-is-seedance-2-s-advantage-2p8k</link>
      <guid>https://dev.to/grawenbh/what-is-seedance-2-s-advantage-2p8k</guid>
      <description>&lt;p&gt;In the film and TV industry, storyboarding is extremely important, so there’s a long‑standing learning method called “shot breakdown.” It’s all about studying camera blocking, composition, and how emotions are guided. Learning the shot design of great masters and great works is very important.&lt;/p&gt;

&lt;p&gt;In the past, if we wanted to imitate a certain style of work, it was very difficult. But now, because &lt;a href="https://seedance2.video" rel="noopener noreferrer"&gt;Seedance 2.0&lt;/a&gt; supports video references, this has become much easier. For example, I really like this storyboard sequence from &lt;em&gt;Weathering With You&lt;/em&gt;. Now all we need to do is feed that clip into the system as a reference and have it generate a brand‑new story for us – it’s incredibly convenient.&lt;/p&gt;

&lt;p&gt;And it’s not just for narrative films and storyboards. You can use it in commercials as well. For instance, I can directly take a car commercial’s shot sequence and camera moves, combine it with a single image from DJI, and have it reproduce that style. Now anyone can use just one image to create a “million‑dollar” blockbuster.&lt;/p&gt;

&lt;p&gt;One more note here: if you’re using the Doubao internal beta version, video reference upload is not supported yet. Presumably the Doubao user base is just too large, so you’ll have to wait a bit longer.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
