
عامل هوش مصنوعی برای چت با پایگاه داده Supabase/PostgreSQL
10 دقیقه مطالعه · منتشر شده ۱۴۰۵/۴/۱۸
دانلود workflow
فایل JSON آماده import در n8n — credentialها باید در n8n شما تنظیم شوند.
- فایل JSON را دانلود کنید.
- در n8n: Workflows → Import from File.
- Credentialهای هر node را متصل کنید.
- workflow را فعال کنید.
شناسه workflow: 2612 · منبع: کاتالوگ Axeto
عامل هوش مصنوعی برای تعامل مکالمهای با پایگاه داده Supabase/PostgreSQL
این گردش کار به شما امکان میدهد تا با استفاده از زبان طبیعی با پایگاه داده PostgreSQL میزبانی شده در Supabase خود تعامل داشته باشید. یک عامل هوش مصنوعی که توسط OpenAI پشتیبانی میشود، پیامهای چت شما را به کوئریهای SQL ترجمه کرده، آنها را اجرا میکند و نتایج را در قالبی مکالمهای برمیگرداند. این امر نیاز به کدنویسی دستی SQL را از بین میبرد و دسترسی و تجزیه و تحلیل دادهها را برای توسعهدهندگان، تحلیلگران و کاربران تجاری در دسترستر میکند.
کاتالوگ n8n در Axeto.ai را کاوش کنید: https://axeto.ai/n8n
---
ساختار گردش کار
گردش کار به بلوکهای منطقی مجزا سازماندهی شده است که هر کدام مسئول بخش خاصی از تعامل هستند:
1. دریافت ورودی: پیامهای چت کاربر را دریافت میکند.
2. پردازش عامل هوش مصنوعی: ورودی کاربر را تفسیر کرده و تولید کوئری را هماهنگ میکند.
3. کاوش طرحواره پایگاه داده: اطلاعات ساختار پایگاه داده را در اختیار هوش مصنوعی قرار میدهد.
4. اجرای کوئری SQL: کوئریهای SQL تولید شده را در برابر پایگاه داده شما اجرا میکند.
---
تشریح جزئیات نودها
۱. دریافت ورودی
این بلوک به عنوان نقطه ورود برای تعاملات کاربر عمل میکند و پیامهای ارسال شده از طریق رابط چت را دریافت میکند.
- نود:
When chat message received
* نوع: n8n-nodes-base.chatTrigger (Langchain Chat Trigger)
* نقش: گوش دادن به پیامهای ورودی چت از طریق یک وبهوک و ارسال آنها برای پردازش.
* پیکربندی: تنظیمات پیشفرض؛ یک شناسه وبهوک منحصربهفرد هنگام راهاندازی اختصاص داده میشود.
* ورودی/خروجی: ورودی دریافت نمیکند؛ متن پیام چت و فرادادههای مرتبط را خروجی میدهد.
* مشکلات احتمالی: مشکلات اتصال وبهوک، درخواستهای با فرمت نادرست.
* نسخه: ۱.۱
۲. پردازش عامل هوش مصنوعی
این هسته اصلی گردش کار است، جایی که عامل هوش مصنوعی درخواستهای کاربر را تفسیر میکند، کوئریهای SQL تولید میکند و جریان مکالمه را مدیریت میکند.
- نود:
AI Agent
* نوع: @n8n/n8n-nodes-langchain.agent (Langchain Agent - openAiFunctionsAgent)
* نقش: دریافت ورودی کاربر، فراخوانی نودهای زبان و ابزار هوش مصنوعی، و هماهنگی تولید و اجرای کوئریهای SQL.
* پیکربندی:
* ورودی متن (Text Input): به صورت پویا از تریگر چت با استفاده از عبارت زیر منبعدهی میشود: ={{ $('When chat message received').item.json.chatInput }}
* پیام سیستمی (System Message): برای تعریف شخصیت هوش مصنوعی به عنوان "دستیار پایگاه داده" با دستورالعملهایی برای تولید و اجرای کوئریهای SQL مطابق با درخواستهای کاربر پیکربندی شده است.
* نوع عامل (Agent Type): روی openAiFunctionsAgent تنظیم شده است.
* ورودی: پیام چت را از نود When chat message received دریافت میکند.
* خروجی: ابزارهای هوش مصنوعی متصل (مانند کاوش طرحواره پایگاه داده و اجرای کوئری) و نودهای مدل زبان را فراخوانی میکند.
* موارد مرزی (Edge Cases):
* خطا در ارزیابی عبارت در صورت عدم وجود ورودی.
* محدودیتهای نرخ (Rate limits) یا خطاهای API از مدل هوش مصنوعی.
* پرسشهای غیرمنتظره یا مخرب کاربر که منجر به SQL نامعتبر میشود.
* نسخه: ۱.۶
- نود:
OpenAI Chat Model
* نوع: @n8n/n8n-nodes-langchain.lmChatOpenAi (Langchain LM Chat OpenAI)
* نقش: ارائه مدل تکمیل چت OpenAI زیربنایی که توسط عامل هوش مصنوعی استفاده میشود.
* پیکربندی: نیاز به اعتبارنامههای API OpenAI دارد (به عنوان مثال، پیکربندی شده به عنوان "OpenAi club").
* ورودی: توسط عامل هوش مصنوعی به عنوان مدل زبان آن (ai_languageModel) فراخوانی میشود.
* خروجی: پاسخها و تکمیلهای تولید شده توسط هوش مصنوعی را به عامل هوش مصنوعی برمیگرداند.
* موارد مرزی (Edge Cases): کلیدهای API نامعتبر، خرابی شبکه، محدودیتهای نرخ API.
* نسخه: ۱
۳. ابزارهای کاوش طرحواره پایگاه داده
این نودها فرادادههای ضروری در مورد ساختار پایگاه داده شما را در اختیار عامل هوش مصنوعی قرار میدهند و به آن امکان میدهند کوئریهای SQL دقیقی بسازد.
- نود:
DB Schema
* نوع: n8n-nodes-base.postgresTool (Postgres Tool)
* نقش: اجرای یک کوئری SQL برای بازیابی لیستی از تمام جداول کاربر در طرحواره public پایگاه داده شما.
* پیکربندی:
* کوئری SQL (SQL Query):
```sql
SELECT table_schema, table_name
FROM information_schema.tables
WHERE table_type = 'BASE TABLE' AND table_schema = 'public';
```
* اعتبارنامهها (Credentials): با استفاده از اعتبارنامههای Supabase PostgreSQL شما (به عنوان مثال، "Postgres 5minai") متصل میشود.
* ورودی: توسط عامل هوش مصنوعی به عنوان یک ابزار (ai_tool) فراخوانی میشود.
* خروجی: لیستی از جداول موجود را برمیگرداند.
* موارد مرزی (Edge Cases): مجوزهای ناکافی، خطاهای اتصال پایگاه داده، طرحواره خالی.
* نسخه: ۲.۵
- نود:
Get table definition
* نوع: n8n-nodes-base.postgresTool (Postgres Tool)
* نقش: دریافت اطلاعات ستون جزئی (انواع داده، قابلیت null بودن، مقادیر پیشفرض، محدودیتهای کلید خارجی) برای یک جدول مشخص، که به هوش مصنوعی در درک ساختارهای جدول کمک میکند.
* پیکربندی:
* کوئری SQL (SQL Query):
```sql
SELECT
c.column_name,
c.data_type,
c.is_nullable,
c.column_default,
tc.constraint_type,
ccu.table_name AS referenced_table,
ccu.column_name AS referenced_column
FROM
information_schema.columns c
LEFT JOIN
information_schema.key_column_usage kcu
ON c.table_name = kcu.table_name
AND c.column_name = kcu.column_name
LEFT JOIN
information_schema.table_constraints tc
ON kcu.constraint_name = tc.constraint_name
AND tc.constraint_type = 'FOREIGN KEY'
LEFT JOIN
information_schema.constraint_column_usage ccu
ON tc.constraint_name = ccu.constraint_name
WHERE
c.table_name = '{{ $fromAI("table_name") }}' -- نام جدول ارائه شده توسط هوش مصنوعی
AND c.table_schema = 'public' -- اطمینان از طرحواره صحیح
ORDER BY
c.ordinal_position;
```
* نام جدول (Table Name): به صورت پویا توسط عامل هوش مصنوعی با استفاده از عبارت {{ $fromAI("table_name") }} ارائه میشود.
* اعتبارنامهها (Credentials): از همان اعتبارنامههای Supabase PostgreSQL نود DB Schema استفاده میکند.
* ورودی: توسط عامل هوش مصنوعی به عنوان یک ابزار فراخوانی میشود.
* خروجی: فراداده ستون را برای جدول درخواستی برمیگرداند.
* موارد مرزی (Edge Cases): ورودی نام جدول نامعتبر یا گمشده، خطاهای مجوز، خطاهای اجرای SQL.
* نسخه: ۲.۵
۴. اجرای کوئری SQL
این بلوک مسئول اجرای کوئریهای SQL تولید شده توسط عامل هوش مصنوعی و بازیابی دادهها است.
- نود:
Run SQL Query
* نوع: n8n-nodes-base.postgresTool (Postgres Tool)
* نقش: اجرای کوئریهای SQL سفارشی تولید شده توسط عامل هوش مصنوعی در برابر پایگاه داده Supabase PostgreSQL شما. همچنین از عملگرهای JSON PostgreSQL (مانند ->>) برای استخراج فیلدهای JSON پشتیبانی میکند.
* پیکربندی:
* کوئری SQL (SQL Query): به صورت پویا از خروجی عامل هوش مصنوعی با استفاده از عبارت زیر منتقل میشود: {{ $fromAI("query","SQL query for PostgreSQL DB in Supabase") }}
* اعتبارنامهها (Credentials): از همان اعتبارنامههای Supabase PostgreSQL استفاده میکند.
* ورودی: توسط عامل هوش مصنوعی به عنوان یک ابزار فراخوانی میشود.
* خروجی: نتایج کوئری اجرا شده را برای پردازش بیشتر هوش مصنوعی و تولید پاسخ کاربر برمیگرداند.
* موارد مرزی (Edge Cases): کوئریهای SQL بدشکل یا ناامن، مهلت زمانی کوئری، خطاهای عدم دسترسی (permission denied)، مجموعههای نتیجه خالی.
* نسخه: ۲.۵
---
جدول خلاصه گردش کار
| نام گره (Node Name) | نوع گره (Node Type) | نقش عملکردی (Functional Role) | گره(های) ورودی (Input Node(s)) | گره(های) خروجی (Output Node(s)) | یادداشت چسبان (Sticky Note) |
|---|---|---|---|---|---|
When chat message received | chatTrigger | دریافت پیامهای چت | (Webhook trigger) | AI Agent | |
AI Agent | agent | پردازش اصلی هوش مصنوعی و تولید SQL | When chat message received | DB Schema, Get table definition, Run SQL Query, OpenAI Chat Model | تنظیم دقیق اعلان دستیار (Finetune the prompt of assistant) |
OpenAI Chat Model | lmChatOpenAi | ارائه تکمیل OpenAI برای عامل | AI Agent (ai_languageModel) | AI Agent | |
DB Schema | postgresTool | دریافت لیست تمام جداول در پایگاه داده | AI Agent (ai_tool) | AI Agent | |
Get table definition | postgresTool | بازیابی فراداده ستون برای یک جدول | AI Agent (ai_tool) | AI Agent | |
Run SQL Query | postgresTool | اجرای کوئریهای SQL تولید شده توسط هوش مصنوعی | AI Agent (ai_tool) | AI Agent | |
Sticky Note3 | stickyNote | یادآوری برای جایگزینی اعتبارنامههای پایگاه داده | جایگزینی رمز عبور و نام کاربری برای Supabase (Replace password and username for Supabase) | ||
Sticky Note5 | stickyNote | دستورالعملهای راهاندازی و آمادهسازی | مراحل راهاندازی - حسابها، اتصال و خلاصه ابزارهای گردش کار (Set up steps - accounts, connection, and workflow tools summary) | ||
Sticky Note6 | stickyNote | معرفی و توضیحات گردش کار | هدف گردش کار، نویسنده و قابلیتها (Workflow purpose, author, and capabilities) | ||
Sticky Note7 | stickyNote | پیوند به راهنمای ویدیویی راهاندازی | ... یا ویدیوی راهاندازی را تماشا کنید [20 دقیقه] https://www.youtube.com/watch?v=-GgKzhCNxjk |
---
بازسازی گردش کار
برای ساخت این گردش کار از ابتدا، مراحل زیر را دنبال کنید:
1. افزودن نود When chat message received:
* نوع: chatTrigger
* Webhook را برای دریافت ورودی چت پیکربندی کنید.
* آن را روی بوم قرار دهید.
2. افزودن نود AI Agent:
* نوع: agent
* پیکربندی:
* ورودی متن (Text Input): ={{ $('When chat message received').item.json.chatInput }}
* عامل (Agent): openAiFunctionsAgent را انتخاب کنید.
* پیام سیستمی (System Message):
```
شما دستیار پایگاه داده هستید. شما باید کوئریها را در پایگاه داده مطابق با درخواستهای کاربر اجرا کنید.
برای تجمیع دادهها و پاسخ به کاربر، کوئری SQL سفارشی را اجرا کنید.
برای تحلیل دادهها جهت پاسخگویی در صورت نیاز، همه دادهها را دریافت کنید.
```
* نوع اعلان (Prompt Type): Define
* نود When chat message received (خروجی اصلی) را به نود AI Agent (ورودی اصلی) متصل کنید.
3. افزودن نود OpenAI Chat Model:
* نوع: lmChatOpenAi
* اعتبارنامهها (Credentials): اعتبارنامه API OpenAI خود را انتخاب یا ایجاد کنید (مثلاً "OpenAi club").
* خروجی ai_languageModel از نود AI Agent را به این نود متصل کنید.
4. افزودن نود DB Schema:
* نوع: postgresTool
* اعتبارنامهها (Credentials): اعتبارنامه PostgreSQL خود برای Supabase را انتخاب یا ایجاد کنید (مثلاً "Postgres 5minai").
* کوئری SQL (SQL Query):
```sql
SELECT table_schema, table_name
FROM information_schema.tables
WHERE table_type = 'BASE TABLE' AND table_schema = 'public';
```
* عملیات (Operation): Execute Query
* این نود را به عنوان یک ابزار هوش مصنوعی از نود AI Agent (اتصال ai_tool) متصل کنید.
5. افزودن نود Get table definition:
* نوع: postgresTool
* اعتبارنامهها (Credentials): از همان اعتبارنامه PostgreSQL Supabase استفاده کنید.
* کوئری SQL (SQL Query):
```sql
SELECT
c.column_name,
c.data_type,
c.is_nullable,
c.column_default,
tc.constraint_type,
ccu.table_name AS referenced_table,
ccu.column_name AS referenced_column
FROM
information_schema.columns c
LEFT JOIN
information_schema.key_column_usage kcu
ON c.table_name = kcu.table_name
AND c.column_name = kcu.column_name
LEFT JOIN
information_schema.table_constraints tc
ON kcu.constraint_name = tc.constraint_name
AND tc.constraint_type = 'FOREIGN KEY'
LEFT JOIN
information_schema.constraint_column_usage ccu
ON tc.constraint_name = ccu.constraint_name
WHERE
c.table_name = '{{ $fromAI("table_name") }}' -- نام جدول ارائه شده توسط هوش مصنوعی
AND c.table_schema = 'public' -- اطمینان از شمای صحیح
ORDER BY
c.ordinal_position;
```
* این نود را به عنوان یک ابزار هوش مصنوعی از نود AI Agent (اتصال ai_tool) متصل کنید.
6. افزودن نود Run SQL Query:
* نوع: postgresTool
* اعتبارنامهها (Credentials): از همان اعتبارنامه PostgreSQL Supabase استفاده کنید.
* کوئری SQL (SQL Query): {{ $fromAI("query","SQL query for PostgreSQL DB in Supabase") }}
* عملیات (Operation): Execute Query
* این نود را به عنوان یک ابزار هوش مصنوعی از نود AI Agent (اتصال ai_tool) متصل کنید.
7. افزودن یادداشتهای چسبان (Sticky Notes):
* یادداشتهای چسبان برای اطلاعات حیاتی مانند راهاندازی اعتبارنامه پایگاه داده، نمای کلی گردش کار و هرگونه لینک مرتبط (مانند ویدیوی راهاندازی) اضافه کنید.
Nodeهای استفادهشده
سوالات متداول
این گردش کار n8n چگونه به من کمک میکند تا با پایگاه داده خود تعامل داشته باشم؟▾
این گردش کار به شما امکان میدهد تا با استفاده از زبان طبیعی با پایگاه داده PostgreSQL میزبانی شده در Supabase خود تعامل داشته باشید. یک عامل هوش مصنوعی پیامهای چت شما را به کوئریهای SQL ترجمه کرده، آنها را اجرا میکند و نتایج را در قالبی مکالمهای برمیگرداند.
آیا برای استفاده از این گردش کار نیاز به دانش SQL دارم؟▾
خیر، این گردش کار به گونهای طراحی شده است که نیاز به کدنویسی دستی SQL را از بین ببرد. عامل هوش مصنوعی وظیفه ترجمه درخواستهای زبان طبیعی شما به کوئریهای SQL را بر عهده دارد.
چه ابزارهایی برای اجرای این گردش کار لازم است؟▾
شما به n8n، یک حساب Supabase با دسترسی به پایگاه داده PostgreSQL و یک کلید API OpenAI نیاز دارید. نودهای خاصی مانند `When chat message received`، `AI Agent`، `OpenAI Chat Model` و `postgresTool` در گردش کار استفاده میشوند.
workflowهای مرتبط
- پاسخ خودکار به سوالات GitHub PR با GPT-4o، Notion و SlackEngineering
- خودکارسازی بهروزرسانی n8n با Coolify و API گیتهابDevOps
- اتوماسیون جستجوی لینکدین با GPT-4 و جستجوی بولی گوگلHR
- اتوماسیون خلاصهسازی جلسات با Google Drive و OpenAIAI
- تغییر نام خودکار گرههای n8n با هوش مصنوعیEngineering
- حسابرسی استفاده از اعتبارنامهها در n8n و ارسال به Google Sh…DevOps
