DJ هوش مصنوعی: ساخت پلی‌لیست Spotify از متن با GPT-4

DJ هوش مصنوعی: ساخت پلی‌لیست Spotify از متن با GPT-4

9 دقیقه مطالعه · منتشر شده ۱۴۰۵/۴/۱۸

دانلود workflow

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

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

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

DJ هوش مصنوعی: تولیدکننده پلی‌لیست Spotify از متن با Linkup و GPT-4

این گردش کار، "DJ هوش مصنوعی: تولیدکننده پلی‌لیست Spotify از متن با Linkup و GPT-4"، ایجاد پلی‌لیست‌های Spotify را بر اساس درخواست‌های متنی به زبان طبیعی خودکار می‌کند. کاربران می‌توانند حال و هوا، سبک، هنرمندان یا تم‌های مورد نظر خود را از طریق یک فرم وب توصیف کنند و گردش کار یک پلی‌لیست شخصی‌سازی شده Spotify ایجاد خواهد کرد.

این گردش کار و موارد دیگر را در کاتالوگ Axeto کاوش کنید: https://axeto.ai/n8n

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

این گردش کار به طور منطقی به چهار بخش اصلی تقسیم می‌شود:

1. دریافت ورودی: درخواست‌ها و پارامترهای کاربر را از طریق یک فرم وب سفارشی جمع‌آوری می‌کند.

2. پردازش هوش مصنوعی و ایده‌پردازی آهنگ: از GPT-4 (از طریق LangChain) و API جستجوی وب Linkup برای تولید یک توصیه پلی‌لیست ساختاریافته، شامل نام پلی‌لیست و جزئیات آهنگ خاص، استفاده می‌کند.

3. ایجاد پلی‌لیست در Spotify: یک پلی‌لیست جدید در Spotify ایجاد می‌کند، هر آهنگ را برای به دست آوردن شناسه آن جستجو می‌کند و آهنگ‌ها را به پلی‌لیست تازه ایجاد شده اضافه می‌کند.

4. نهایی‌سازی و هدایت مجدد: پلی‌لیست تکمیل شده را بازیابی کرده و کاربر را به آن در Spotify هدایت می‌کند.

---

تشریح جزئیات نودها

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

این بخش تعامل اولیه کاربر را مدیریت می‌کند و اولویت‌های پلی‌لیست را از طریق یک فرم وب جمع‌آوری می‌کند.

  • نود: On form submission

* نوع: n8n-nodes-base.formTrigger

* نقش: به عنوان نقطه ورود گردش کار عمل می‌کند. یک URL وب‌هوک را در معرض دید قرار می‌دهد و فرمی کاربرپسند برای ورودی نمایش می‌دهد.

* پیکربندی:

* فیلدهای فرم:

* Playlist request: یک textarea برای کاربران جهت توصیف پلی‌لیست مورد نظرشان (الزامی).

* Number of tracks: یک ورودی number برای تعداد آهنگ‌های مورد نظر (الزامی).

* سفارشی‌سازی: شامل CSS سفارشی برای رابط کاربری تیره با تم Spotify.

* دکمه: با برچسب "Generate the playlist".

* پاسخ: خروجی آخرین نود در گردش کار را برمی‌گرداند.

* اتصالات: خروجی به نود Ideate playlist.

* موارد خاص: وب‌هوک باید به صورت عمومی قابل دسترسی باشد. ورودی ناقص یا بدشکل منجر به شکست گردش کار یا نتایج خالی می‌شود.

۲. پردازش هوش مصنوعی و ایده‌پردازی آهنگ

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

  • نود: OpenAI Chat Model

* نوع: @n8n/n8n-nodes-langchain.lmChatOpenAi

* نقش: مدل زبان GPT-4.1-mini را برای پردازش هوش مصنوعی فراهم می‌کند.

* پیکربندی:

* مدل: gpt-4.1-mini

* اتصالات: خروجی به نود Ideate playlist.

* موارد خاص: کلیدهای API نامعتبر یا منقضی شده، محدودیت‌های نرخ API، یا مشکلات اتصال شبکه.

  • نود: Ideate playlist

* نوع: @n8n/n8n-nodes-langchain.agent

* نقش: عامل هوش مصنوعی اصلی مسئول ایجاد طرح پلی‌لیست. اقدامات زیر را انجام می‌دهد:

* ورودی کاربر را از تریگر On form submission دریافت می‌کند.

* یک کوئری جستجو برای ابزار جستجوی وب Linkup می‌سازد.

* نود Web query to find tracks را با کوئری تولید شده فراخوانی می‌کند.

* نام پلی‌لیست را تعیین کرده و تعداد دقیق آهنگ‌های درخواستی را انتخاب می‌کند.

* یک شیء JSON ساختاریافته حاوی playlistName و لیستی از tracks (هر کدام با هنرمند و عنوان) را خروجی می‌دهد.

* پیکربندی:

* پیام سیستم: نقش عامل را به عنوان یک DJ و نحوه استفاده از ابزار Linkup را آموزش می‌دهد.

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

* اتصالات:

* از ابزار هوش مصنوعی Web query to find tracks استفاده می‌کند.

* از OpenAI Chat Model به عنوان مدل زبان خود استفاده می‌کند.

* خروجی آن توسط Structured Output Parser تجزیه می‌شود.

* خروجی اصلی به نود Create playlist جریان می‌یابد.

* موارد خاص: خطا در قالب‌بندی خروجی هوش مصنوعی، شکست در طول اجرای ابزار، یا پاسخ‌های غیرمنتظره هوش مصنوعی.

  • نود: Web query to find tracks

* نوع: n8n-nodes-base.httpRequestTool

* نقش: API Linkup را برای یافتن آهنگ‌های مرتبط بر اساس کوئری تولید شده توسط هوش مصنوعی فراخوانی می‌کند.

* پیکربندی:

* متد: POST

* URL: https://api.linkup.so/v1/search

* بدنه:

* q: رشته کوئری جستجوی تولید شده توسط هوش مصنوعی.

* depth: deep (برای نتایج جامع).

* outputType: structured با یک طرحواره JSON که آرایه‌ای از آهنگ‌ها را تعریف می‌کند، شامل عنوان، هنرمند و توضیح.

* includeImages: false.

* احراز هویت: از اعتبارنامه توکن Bearer برای Linkup استفاده می‌کند.

* اتصالات: به عنوان پاسخ ابزار هوش مصنوعی به نود Ideate playlist خروجی می‌دهد.

* موارد خاص: شکست احراز هویت API، تایم‌اوت شبکه، کوئری‌های نامعتبر، یا عدم تطابق طرحواره.

  • نود: Structured Output Parser

* نوع: @n8n/n8n-nodes-langchain.outputParserStructured

* نقش: خروجی JSON عامل هوش مصنوعی را به قالبی ساختاریافته که توسط گردش کار قابل استفاده است، تجزیه می‌کند.

* پیکربندی: از یک طرحواره JSON نمونه استفاده می‌کند که با playlistName و آرایه tracks مورد انتظار مطابقت دارد.

* اتصالات: برای پردازش بیشتر به نود Ideate playlist خروجی می‌دهد.

* موارد خاص: شکست تجزیه در صورتی که خروجی هوش مصنوعی از طرحواره تعریف شده منحرف شود.

۳. ایجاد پلی‌لیست Spotify

این بخش ایجاد واقعی پلی‌لیست Spotify و پر کردن آن با آهنگ‌ها را مدیریت می‌کند.

  • نود: Create playlist

* نوع: n8n-nodes-base.spotify

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

* پیکربندی:

* نام: به صورت پویا از خروجی playlistName نود Ideate playlist تنظیم می‌شود.

* عمومی: روی true تنظیم شده است.

* اعتبارنامه‌ها: از اعتبارنامه‌های Spotify OAuth2 استفاده می‌کند.

* اتصالات: خروجی به نود Get tracks array.

* موارد خاص: توکن‌های OAuth منقضی شده یا محدودیت‌های نرخ API Spotify.

  • نود: Get tracks array

* نوع: n8n-nodes-base.set

* نقش: آرایه tracks را از خروجی هوش مصنوعی برای تکرار آسان‌تر استخراج می‌کند.

* پیکربندی:

* فیلد: Tracks

* مقدار: {{ $('Ideate playlist').item.json.output.tracks }}

* اتصالات: خروجی به نود Split out tracks.

  • نود: Split out tracks

* نوع: n8n-nodes-base.splitOut

* نقش: آرایه Tracks را تقسیم می‌کند تا هر آهنگ به صورت جداگانه پردازش شود.

* پیکربندی:

* فیلد برای تقسیم: Tracks

* اتصالات: هر آهنگ را به نود Search the track خروجی می‌دهد.

  • نود: Search the track

* نوع: n8n-nodes-base.spotify

* نقش: با استفاده از هنرمند و عنوان، آهنگ خاصی را در Spotify جستجو می‌کند تا شناسه آن را بیابد.

* پیکربندی:

* کوئری: {{ $json.artist }} - {{ $json.title }} (برای یافتن بهترین تطابق).

* محدودیت: 1 (برای دریافت تنها نتیجه برتر).

* اتصالات: خروجی به نود Get track IDs.

* موارد خاص: آهنگ در Spotify یافت نشد یا نتایج جستجو مبهم است.

  • نود: Get track IDs

* نوع: n8n-nodes-base.set

* نقش: شناسه آهنگ Spotify را از نتایج جستجو استخراج می‌کند.

* پیکربندی:

* فیلد: Track ID

* مقدار: {{ $json.id }} (از نتیجه جستجو).

* اتصالات: خروجی به نود Add track to playlist.

  • نود: Add track to playlist

* نوع: n8n-nodes-base.spotify

* نقش: آهنگ شناسایی شده را به پلی‌لیست Spotify که قبلاً ایجاد شده بود، اضافه می‌کند.

* پیکربندی:

* شناسه پلی‌لیست: به صورت پویا از نود Create playlist تنظیم می‌شود.

* شناسه آهنگ: از نود Get track IDs تنظیم می‌شود.

* اتصالات: خروجی به نود Get the final playlist.

* موارد خاص: محدودیت‌های نرخ API یا شناسه‌های آهنگ/پلی‌لیست نامعتبر.

۴. نهایی‌سازی و هدایت مجدد

این بخش نهایی، پلی‌لیست تکمیل شده را بازیابی کرده و کاربر را به آن هدایت می‌کند.

  • نود: Get the final playlist

* نوع: n8n-nodes-base.spotify

* نقش: جزئیات کامل پلی‌لیست را پس از اضافه شدن تمام آهنگ‌ها بازیابی می‌کند.

* پیکربندی:

* شناسه پلی‌لیست: از نود Create playlist.

* عملیات: get playlist

* اجرا یک بار: true

* اتصالات: خروجی به نود Opening the playlist.

* موارد خاص: شکست در بازیابی پلی‌لیست یا انقضای توکن.

  • نود: Opening the playlist

* نوع: n8n-nodes-base.form

* نقش: یک پاسخ HTTP redirect به کاربر ارسال می‌کند و پلی‌لیست Spotify تولید شده را در مرورگر او باز می‌کند.

* پیکربندی:

* URL هدایت مجدد: به صورت پویا از URL خارجی Spotify پلی‌لیست تنظیم می‌شود.

* پاسخ: برای ارسال یک redirect به کلاینت پیکربندی شده است.

* اتصالات: نود پایانی.

* موارد خاص: URL هدایت مجدد ناموجود یا بدشکل.

---

جدول خلاصه

نام نود (Node Name)نوع نود (Node Type)نقش عملکردی (Functional Role)نود(های) ورودی (Input Node(s))نود(های) خروجی (Output Node(s))یادداشت (Sticky Note)
On form submissionn8n-nodes-base.formTriggerدریافت ورودی درخواست پلی‌لیست از کاربرIdeate playlist
OpenAI Chat Model@n8n/n8n-nodes-langchain.lmChatOpenAiارائه مدل زبان GPT-4Ideate playlist
Ideate playlist@n8n/n8n-nodes-langchain.agentعامل هوش مصنوعی که پلی‌لیست و آهنگ‌ها را برنامه‌ریزی می‌کندOn form submission, OpenAI Chat Model, Web query to find tracks, Structured Output ParserCreate playlist## عامل هوش مصنوعی برای برنامه‌ریزی پلی‌لیست: از Linkup API برای آهنگ‌ها استفاده می‌کند
Web query to find tracksn8n-nodes-base.httpRequestToolفراخوانی Linkup API برای یافتن آهنگ‌های مرتبطIdeate playlist (as AI tool)Ideate playlist## جستجوی وب با هوش مصنوعی با Linkup: اعتبارنامه‌های Linkup.so خود را وصل کنید
Structured Output Parser@n8n/n8n-nodes-langchain.outputParserStructuredتجزیه خروجی هوش مصنوعی به JSON ساختاریافتهIdeate playlistIdeate playlist
Create playlistn8n-nodes-base.spotifyایجاد پلی‌لیست جدید SpotifyIdeate playlistGet tracks arrayپلی‌لیست خالی با نام انتخاب شده ایجاد کنید.
Get tracks arrayn8n-nodes-base.setاستخراج آرایه آهنگ‌ها برای تکرارCreate playlistSplit out tracks
Split out tracksn8n-nodes-base.splitOutتقسیم آرایه آهنگ‌ها به موارد جداگانهGet tracks arraySearch the track## برای هر آهنگ: Spotify را برای دریافت شناسه‌های آهنگ جستجو کنید
Search the trackn8n-nodes-base.spotifyیافتن شناسه آهنگ در SpotifySplit out tracksGet track IDs
Get track IDsn8n-nodes-base.setاستخراج شناسه آهنگ از نتیجه جستجوSearch the trackAdd track to playlist
Add track to playlistn8n-nodes-base.spotifyافزودن آهنگ به پلی‌لیست SpotifyGet track IDsGet the final playlist
Get the final playlistn8n-nodes-base.spotifyبازیابی جزئیات نهایی پلی‌لیستAdd track to playlistOpening the playlist
Opening the playlistn8n-nodes-base.formهدایت کاربر به URL پلی‌لیست SpotifyGet the final playlist

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

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

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

این گردش کار ابتدا درخواست شما را از طریق یک فرم وب دریافت می‌کند، سپس با استفاده از GPT-4 و Linkup، آهنگ‌های مناسب را بر اساس توصیفات شما پیدا کرده و در نهایت یک پلی‌لیست جدید در Spotify برایتان ایجاد می‌کند.

چه اطلاعاتی را باید در فرم وارد کنم؟

شما باید درخواست خود را برای پلی‌لیست در یک کادر متنی توصیف کنید (مثلاً حال و هوا، سبک موسیقی، هنرمندان مورد علاقه) و همچنین تعداد آهنگ‌های مورد نظرتان را مشخص نمایید.

آیا می‌توانم سبک یا هنرمندان خاصی را درخواست کنم؟

بله، شما می‌توانید در قسمت درخواست متنی، سبک‌های موسیقی، هنرمندان خاص، یا حتی تم‌های کلی مورد نظرتان را برای ساخت پلی‌لیست ذکر کنید تا هوش مصنوعی بهترین گزینه‌ها را انتخاب کند.

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

این گردش کار از ابزارهایی مانند GPT-4 (از طریق LangChain)، Linkup API برای جستجوی وب و Spotify API برای ایجاد و مدیریت پلی‌لیست‌ها استفاده می‌کند.

workflowهای مرتبط

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