پرسش و پاسخ ویدیوی Loom با هوش مصنوعی و اعلان‌های Slack

پرسش و پاسخ ویدیوی Loom با هوش مصنوعی و اعلان‌های Slack

10 دقیقه مطالعه · منتشر شده ۱۴۰۵/۴/۲۶

دانلود workflow

فایل JSON آماده import در n8n — credentialها باید در n8n شما تنظیم شوند.

  1. فایل JSON را دانلود کنید.
  2. در n8n: Workflows → Import from File.
  3. Credentialهای هر node را متصل کنید.
  4. workflow را فعال کنید.

شناسه workflow: 4472 · منبع: کاتالوگ Axeto

پرسش و پاسخ ویدیوی Loom با هوش مصنوعی با استفاده از Gemini-2.5 و اعلان‌های Slack

این گردش کار فرآیند پرسیدن سوال در مورد ویدیوهای Loom با استفاده از Google Gemini-2.5 و دریافت پاسخ‌ها از طریق اعلان‌های Slack را خودکار می‌کند. این برنامه برای کاربرانی طراحی شده است که نیاز دارند به سرعت اطلاعات را از محتوای ویدیویی بدون بررسی دستی استخراج کنند.

کاتالوگ Axeto.ai: مشاهده گردش کار

---

۱. نمای کلی گردش کار

این گردش کار به کاربران اجازه می‌دهد تا یک URL ویدیوی عمومی Loom و یک سوال را از طریق یک فرم وب ارسال کنند. سپس سیستم ویدیو را دانلود کرده، آن را برای پردازش به Google Gemini آپلود می‌کند و از قابلیت‌های چندوجهی Gemini برای پاسخ به سوال استفاده می‌کند. پاسخ نهایی به صورت یک پیام Slack تحویل داده می‌شود.

ویژگی‌های کلیدی:

  • تحلیل خودکار ویدیو: استخراج اطلاعات از ویدیوهای Loom با استفاده از هوش مصنوعی پیشرفته.
  • یکپارچه‌سازی هوش مصنوعی چندوجهی: بهره‌گیری از قابلیت Google Gemini-2.5 برای پردازش محتوای ویدیو.
  • اعلان‌های بی‌درنگ: تحویل پاسخ‌ها مستقیماً به فضای کاری Slack شما.
  • ورودی کاربرپسند: پذیرش URL ویدیو و سوالات از طریق یک فرم وب ساده.
  • قابل توسعه: می‌تواند برای تریگرهای ورودی دیگر (مانند ایمیل) یا کانال‌های اطلاع‌رسانی تطبیق داده شود.

مراحل گردش کار:

1. دریافت ورودی: دریافت URL ویدیوی Loom و سوال کاربر از طریق فرم و اعتبارسنجی URL.

2. دانلود ویدیوی Loom: استخراج جزئیات ویدیو و دانلود فایل ویدیو.

3. آماده‌سازی آپلود برای Gemini: محاسبه حجم فایل، تنظیم فراداده (metadata) و شروع یک جلسه آپلود با Gemini.

4. آپلود ویدیو به Gemini: آپلود داده‌های باینری ویدیو به جلسه آماده شده Gemini.

5. انتظار فعال‌سازی ویدیو: نظرسنجی از Gemini تا زمانی که ویدیوی آپلود شده پردازش و فعال شود.

6. پرس‌وجو از LLM Gemini: ارسال URI ویدیو و سوال کاربر به Gemini برای دریافت پاسخ.

7. اطلاع‌رسانی Slack: ارسال پاسخ تولید شده توسط هوش مصنوعی به یک کاربر مشخص در Slack.

8. یادداشت‌های راهنما: شامل یادداشت‌های چسبان برای درک گردش کار و دستورالعمل‌های استفاده.

---

۲. تجزیه و تحلیل گره‌های دقیق

۲.۱ دریافت ورودی

هدف: دریافت و اعتبارسنجی ورودی کاربر، به طور خاص URL ویدئوی Loom و یک سوال.

گره‌ها:

  • فرم URL Loom (گره Trigger فرم):

* عملکرد: به عنوان نقطه ورود عمل می‌کند و یک فرم وب به کاربران ارائه می‌دهد.

* پیکربندی: نیاز به دو فیلد دارد: "URL ویدئوی Loom" (فرمت URL) و "یک سوال درباره ویدئو وارد کنید" (textarea).

* ورودی: ارسال توسط کاربر از طریق فرم HTTP.

* خروجی: شیء JSON حاوی URL و سوال ارسال شده.

* ملاحظات: فیلدهای گمشده یا URLهای با فرمت نادرست را مدیریت می‌کند.

  • آیا URL Loom معتبر است؟ (گره If):

* عملکرد: بررسی می‌کند که آیا URL Loom ارائه شده با فرمت مورد انتظار (https://www.loom.com/share/) شروع می‌شود یا خیر.

* پیکربندی: از مقایسه رشته‌ای "startsWith" بر روی "URL ویدئوی Loom" استفاده می‌کند.

* ورودی: خروجی از "فرم URL Loom".

* خروجی: در صورت معتبر بودن URL، به مرحله بعدی می‌رود؛ در غیر این صورت، اجرای گردش کار برای آن ورودی متوقف می‌شود.

* بهبودها: می‌تواند با یک شاخه "else" برای ارائه بازخورد به کاربر در مورد URLهای نامعتبر گسترش یابد.

۲.۲ دانلود ویدیوی Loom

هدف: دانلود محتوای ویدیوی Loom.

گره‌ها:

  • استخراج شناسه ویدئو (گره Set):

* عملکرد: URL Loom را تجزیه می‌کند تا شناسه منحصر به فرد ویدئو را استخراج کند.

* پیکربندی: از دستکاری رشته (تقسیم بر / و ?) برای جداسازی شناسه ویدئو استفاده می‌کند.

* ورودی: URL Loom معتبر از مرحله قبل.

* خروجی: JSON حاوی videoId استخراج شده.

* ملاحظات: فرض می‌کند فرمت استاندارد URL اشتراک‌گذاری Loom را دارد.

  • دریافت URL دانلود (گره HTTP Request):

* عملکرد: یک درخواست API به Loom برای دریافت URL دانلود مستقیم ویدئو ارسال می‌کند.

* پیکربندی: یک درخواست POST به نقطه پایانی API Loom، با استفاده از videoId استخراج شده.

* ورودی: خروجی از "استخراج شناسه ویدئو".

* خروجی: JSON حاوی URL دانلود مستقیم ویدئو (url).

* نسخه: HTTP Request v3 برای این منظور توصیه می‌شود.

* ملاحظات: نیاز به دسترسی عمومی ویدئو دارد؛ خطاهای API یا شناسه‌های نامعتبر می‌توانند باعث شکست شوند.

  • دانلود محتوای ویدئو (گره HTTP Request):

* عملکرد: فایل ویدئویی واقعی را با استفاده از URL به دست آمده در مرحله قبل دانلود می‌کند.

* پیکربندی: یک درخواست GET به url ارائه شده توسط "دریافت URL دانلود". پیکربندی شده برای انتظار داده‌های باینری.

* ورودی: خروجی از "دریافت URL دانلود".

* خروجی: داده‌های باینری ویدئو، معمولاً در زیر ویژگی data یافت می‌شود.

* ملاحظات: تایم‌اوت‌های شبکه یا اندازه‌های بزرگ فایل را مدیریت می‌کند.

۲.۳ آماده‌سازی آپلود ویدئو برای Gemini

هدف: آماده‌سازی فایل ویدئو برای آپلود در Google Gemini با محاسبه اندازه آن، تنظیم متادیتا و راه‌اندازی جلسه آپلود.

گره‌ها:

  • محاسبه اندازه فایل (گره Code):

* عملکرد: اندازه ویدئوی دانلود شده را بر حسب بایت تعیین می‌کند.

* پیکربندی: کد جاوا اسکریپت که طول بافر داده‌های باینری را می‌خواند.

* ورودی: داده‌های باینری ویدئو از "دانلود محتوای ویدئو".

* خروجی: شیء JSON حاوی fileSizeInBytes.

* مدیریت خطا: در صورت گمشده بودن داده‌های باینری، به صراحت خطا ایجاد می‌کند.

  • تنظیم ویژگی‌های ویدئو (گره Set):

* عملکرد: متادیتای ضروری برای آپلود ویدئو را تعریف می‌کند، از جمله نوع MIME و نام نمایشی.

* پیکربندی: mimeType را بر اساس ویژگی‌های داده‌های باینری تنظیم می‌کند و یک displayName ایجاد می‌کند (به عنوان مثال، loom_VIDEOID).

* ورودی: خروجی از "دانلود محتوای ویدئو".

* خروجی: JSON حاوی mimeType و displayName.

  • ادغام۱ (گره Merge):

* عملکرد: داده‌های اندازه فایل و ویژگی‌های ویدئو را در یک شیء واحد که برای مرحله بعدی لازم است، ترکیب می‌کند.

* پیکربندی: از "Combine by position" برای ادغام ورودی‌ها از "محاسبه اندازه فایل" و "تنظیم ویژگی‌های ویدئو" استفاده می‌کند.

* ورودی: خروجی‌های دو گره قبلی.

* خروجی: یک شیء JSON یکپارچه برای راه‌اندازی جلسه آپلود.

  • شروع جلسه آپلود برای Gemini (گره HTTP Request):

* عملکرد: یک جلسه آپلود قابل از سرگیری را با API Gemini راه‌اندازی می‌کند.

* پیکربندی: یک درخواست POST به نقطه پایانی آپلود Gemini. شامل displayName در بدنه JSON. احراز هویت از طریق احراز هویت کوئری HTTP (کلید API به عنوان پارامتر کوئری) انجام می‌شود. هدرهای خاص برای آپلودهای قابل از سرگیری مورد نیاز است.

* ورودی: JSON ادغام شده از "ادغام۱".

* خروجی: پاسخ کامل HTTP، که به طور حیاتی هدر x-goog-upload-url را شامل می‌شود.

* اعتبارنامه‌ها: نیاز به اعتبارنامه احراز هویت کوئری API Gemini دارد.

* نسخه: HTTP Request v4.1+ برای دریافت کامل پاسخ توصیه می‌شود.

۲.۴ آپلود ویدئوی باینری به Gemini

هدف: آپلود داده‌های فایل ویدئویی واقعی به جلسه آپلود Gemini.

گره‌ها:

  • استخراج URL برای آپلود (گره Set):

* عملکرد: URL آپلود خاص را از هدرهای پاسخ HTTP قبلی استخراج می‌کند.

* پیکربندی: یک رشته uploadUrl از هدر x-goog-upload-url ایجاد می‌کند.

* ورودی: خروجی از "شروع جلسه آپلود برای Gemini".

* خروجی: JSON حاوی uploadUrl.

  • آپلود داده‌های ویدئو (گره HTTP Request):

* عملکرد: درخواست PUT را برای آپلود داده‌های باینری ویدئو به Gemini انجام می‌دهد.

* پیکربندی: از uploadUrl که به صورت پویا تنظیم شده استفاده می‌کند. شامل هدرهای لازم مانند Content-Length، X-Goog-Upload-Offset (در ابتدا ۰) و X-Goog-Upload-Command (upload, finalize) است. داده‌های باینری data از ویدئوی دانلود شده به عنوان بدنه درخواست ارسال می‌شود.

* ورودی: نیاز به هر دو uploadUrl (از "استخراج URL برای آپلود") و داده‌های باینری ویدئو data (از "دانلود محتوای ویدئو") دارد. اینها از طریق گره "ادغام" ترکیب می‌شوند.

* خروجی: پاسخ از API آپلود Gemini.

* ملاحظات: وقفه‌ها یا خطاهای احتمالی آپلود را مدیریت می‌کند.

  • ادغام (گره Merge):

* عملکرد: URL آپلود و داده‌های باینری ویدئو را در یک ساختار ورودی واحد برای گره "آپلود داده‌های ویدئو" ترکیب می‌کند.

* پیکربندی: از "Combine by position" استفاده می‌کند.

* ورودی: خروجی از "استخراج URL برای آپلود" و زنجیره داده‌های باینری ویدئو که از "دانلود محتوای ویدئو" شروع می‌شود.

* خروجی: داده‌های آماده برای درخواست آپلود.

۲.۵ انتظار برای فعال‌سازی ویدئو

هدف: نظارت بر وضعیت ویدئوی آپلود شده در Gemini و انتظار تا زمانی که به طور کامل پردازش و برای تجزیه و تحلیل آماده شود.

گره‌ها:

  • استخراج جزئیات فایل (گره Set):

* عملکرد: پاسخ آپلود Gemini را تجزیه می‌کند تا شناسه‌های کلیدی فایل مورد نیاز برای بررسی وضعیت را بازیابی کند.

* پیکربندی: geminiFileUri، geminiFileName و geminiFileMimeType را از JSON پاسخ استخراج می‌کند.

* ورودی: خروجی از "آپلود داده‌های ویدئو".

* خروجی: JSON حاوی متادیتای فایل استخراج شده.

  • حلقه تا زمانی که ویدئو فعال شود (گره Split In Batches):

* عملکرد: به عنوان یک مکانیزم کنترل برای حلقه نظرسنجی عمل می‌کند.

* پیکربندی: Reset غیرفعال است تا وضعیت حلقه را در طول تکرارها حفظ کند.

* ورودی: خروجی از "استخراج جزئیات فایل".

* خروجی: داده‌ها را در هر چرخه حلقه عبور می‌دهد.

* ملاحظات: احتمال یک حلقه بی‌نهایت در صورت عدم رسیدن ویدئو به وضعیت "ACTIVE".

  • انتظار ۵ ثانیه (گره Wait):

* عملکرد: تاخیری بین تلاش‌های بررسی وضعیت برای جلوگیری از بارگذاری بیش از حد API ایجاد می‌کند.

* پیکربندی: تاخیر ثابت ۵ ثانیه.

* ورودی: زمانی که ویدئو هنوز فعال نیست، فعال می‌شود.

* خروجی: به بررسی وضعیت بعدی می‌رود.

* سفارشی‌سازی: مدت زمان انتظار قابل تنظیم است.

  • دریافت وضعیت ویدئو (گره HTTP Request):

* عملکرد: API Gemini را برای بازیابی وضعیت پردازش فعلی فایل ویدئو پرس و جو می‌کند.

* پیکربندی: یک درخواست GET با استفاده از geminiFileUri. از طریق احراز هویت کوئری HTTP احراز هویت شده است.

* ورودی: توسط گره "انتظار ۵ ثانیه" یا حلقه فعال می‌شود.

* خروجی: پاسخ JSON حاوی state فعلی ویدئو (به عنوان مثال، PROCESSING، ACTIVE).

  • آیا ویدئو فعال است؟ (گره If):

* عملکرد: ارزیابی می‌کند که آیا state ویدئو ACTIVE است یا خیر.

* پیکربندی: فیلد state را با رشته "ACTIVE" مقایسه می‌کند.

* ورودی: خروجی از "دریافت وضعیت ویدئو".

* خروجی: اگر true باشد، گردش کار برای پرس و جو از LLM ادامه می‌یابد. اگر false باشد، به گره "انتظار ۵ ثانیه" برمی‌گردد.

* ملاحظات: اطمینان حاصل کنید که تمام وضعیت‌های ممکن مدیریت می‌شوند یا یک مکانیزم تایم‌اوت وجود دارد.

۲.۶ پرس و جو از Gemini LLM

هدف: ارسال ویدئوی پردازش شده و سوال کاربر به Gemini LLM برای تجزیه و تحلیل و تولید پاسخ.

گره‌ها:

  • از Gemini بخواهید ویدئو را خلاصه کند (گره HTTP Request):

* عملکرد: درخواستی به API زبان مولد Gemini ارسال می‌کند.

* پیکربندی: یک درخواست POST با بدنه JSON حاوی بخش‌های content. یک بخش شامل URI ویدئو و نوع MIME آن است، و بخش دیگر شامل سوال کاربر است. از طریق احراز هویت کوئری HTTP احراز هویت شده است.

* ورودی: تأیید وضعیت فعال ویدئو، شامل geminiFileUri، و سوال اصلی کاربر از ورودی فرم.

* خروجی: پاسخ LLM، که معمولاً شامل candidates با متن تولید شده است.

* ملاحظات: محدودیت‌های نرخ API، پیچیدگی اعلان و شکست‌های احراز هویت مسائل احتمالی هستند.

۲.۷ اعلان Slack

هدف: تحویل پاسخ تولید شده توسط هوش مصنوعی به کاربر از طریق Slack.

گره‌ها:

  • Slack (گره Slack):

* عملکرد: یک پیام قالب‌بندی شده را به یک کاربر مشخص Slack ارسال می‌کند.

* پیکربندی: متن پیام با استخراج محتوا از اولین کاندید در پاسخ LLM Gemini ساخته می‌شود. پیام به یک کاربر خاص (به عنوان مثال، @giosegar) با استفاده از حالت نام کاربری خطاب قرار می‌گیرد.

* ورودی: خروجی از "از Gemini بخواهید ویدئو را خلاصه کند".

* خروجی: نتیجه عملیات ارسال پیام Slack.

* اعتبارنامه‌ها: نیاز به توکن دسترسی ربات Slack دارد.

* ملاحظات: محدودیت‌های نرخ API Slack، توکن‌های نامعتبر یا شناسه‌های کاربری نادرست می‌توانند باعث شکست شوند.

۲.۸ راهنمایی و یادداشت‌های کاربر

هدف: ارائه مستندات و دستورالعمل‌های درون گردش کار برای کاربران.

گره‌ها:

  • یادداشت چسبان (دانلود ویدئوی Loom): فرآیند دانلود ویدئو را توضیح می‌دهد.
  • یادداشت چسبان۱ (آپلود ویدئو به Gemini): جزئیات مراحل آپلود ویدئو به Gemini را شرح می‌دهد.
  • یادداشت چسبان۲ (اطمینان از فعال بودن ویدئو): نظارت بر فعال‌سازی ویدئو را توصیف می‌کند.
  • یادداشت چسبان۳ (ارسال درخواست به Gemini LLM): فرآیند پرس و جو از LLM را توضیح می‌دهد.
  • یادداشت چسبان۴ (نحوه استفاده از گردش کار): دستورالعمل‌های کلی استفاده را ارائه می‌دهد.

Nodeهای استفاده‌شده

سوالات متداول

این گردش کار چگونه کار می‌کند؟

این گردش کار یک URL ویدیوی Loom و یک سوال را از طریق فرم وب دریافت می‌کند. سپس ویدیو را دانلود کرده، به Google Gemini آپلود می‌کند و پاسخ سوال را از طریق اعلان Slack ارسال می‌نماید.

چه نیازمندی‌هایی برای استفاده از این گردش کار وجود دارد؟

شما به یک حساب n8n، دسترسی به Google Gemini API و یک فضای کاری Slack نیاز دارید. همچنین ویدیوهای Loom باید عمومی باشند تا قابل دسترسی باشند.

آیا می‌توان این گردش کار را برای سرویس‌های ویدیویی دیگر نیز استفاده کرد؟

بله، با تغییرات مناسب در گره‌های دانلود و آپلود، می‌توان این گردش کار را برای سایر پلتفرم‌های ویدیویی نیز تطبیق داد.

چه نوع سوالاتی را می‌توان از ویدیوها پرسید؟

شما می‌توانید سوالات مختلفی در مورد محتوای ویدیوی Loom بپرسید، از جمله خلاصه‌سازی، استخراج اطلاعات خاص، یا پاسخ به سوالات مربوط به موضوعات مطرح شده در ویدیو.

workflowهای مرتبط

این workflow در کاتالوگ Axeto.ai بایگانی شده است. لایسنس اصلی متعلق به سازنده workflow است.