خلاصه مقالات Arxiv با ChatGPT در n8n

خلاصه مقالات Arxiv با ChatGPT در n8n

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

دانلود workflow

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

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

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

خلاصه مقالات Arxiv با ChatGPT

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

این گردش کار و موارد بیشتر را در کاتالوگ n8n شرکت Axeto.ai کاوش کنید.

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

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

1. دریافت ورودی: شناسه مقاله Arxiv را از طریق یک Webhook دریافت می‌کند.

2. بازیابی مقاله: محتوای HTML مقاله را از Arxiv واکشی می‌کند.

3. استخراج محتوا: چکیده و بخش‌های اصلی متنی را از HTML استخراج می‌کند.

4. آماده‌سازی محتوا: بخش‌ها را به پاراگراف‌های مجزا تقسیم کرده و متن را با حذف مراجع غیرضروری پاکسازی می‌کند.

5. خلاصه‌سازی پاراگراف: هر پاراگراف را به صورت جداگانه با استفاده از یک مدل زبانی خلاصه می‌کند.

6. خلاصه‌سازی تجمیعی: تمام خلاصه‌های پاراگراف را در یک متن واحد و منسجم ترکیب می‌کند.

7. تولید خلاصه ساختاریافته: خلاصه تجمیعی را با استفاده از OpenAI در بخش‌های تعریف شده (نمای کلی چکیده، مقدمه، نتایج، نتیجه‌گیری) سازماندهی می‌کند.

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

تشریح گره‌های جزئیات

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

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

  • گره‌ها:

* Webhook: هنگام دریافت درخواست HTTP، گردش کار را راه‌اندازی می‌کند.

* Respond to Webhook: خلاصه نهایی را به درخواست‌کننده ارسال می‌کند.

  • جزئیات گره:

* Webhook

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

* نقش: به درخواست‌های HTTP ورودی در مسیر /paper-summarization گوش می‌دهد.

* پیکربندی: برای استفاده از حالت responseNode پیکربندی شده است، که پاسخ را تا تکمیل گردش کار به تعویق می‌اندازد.

* ورودی: انتظار یک بار داده JSON با query.id حاوی شناسه مقاله Arxiv را دارد.

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

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

* Respond to Webhook

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

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

* پیکربندی: با خروجی JSON از فیلد $json.output که حاوی خلاصه ساختاریافته نهایی است، پاسخ می‌دهد.

* ورودی: خلاصه ساختاریافته را از گره استخراج نهایی دریافت می‌کند.

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

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

۲. بازیابی مقاله

این بلوک محتوای کامل HTML مقاله مشخص شده Arxiv را واکشی می‌کند.

  • گره‌ها:

* Request to Paper Page

  • جزئیات گره:

* Request to Paper Page

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

* نقش: محتوای HTML را از وب‌سایت Arxiv بازیابی می‌کند.

* پیکربندی: URL با استفاده از شناسه مقاله به صورت پویا ساخته می‌شود: https://arxiv.org/html/{{ $json.query.id }}. هیچ هدر یا احراز هویت خاصی لازم نیست.

* ورودی: شناسه مقاله را از گره Webhook دریافت می‌کند.

* خروجی: محتوای خام HTML را به گره Extract Contents منتقل می‌کند.

* موارد لبه‌ای: خطاهای شبکه، شناسه‌های مقاله نامعتبر (که منجر به 404 می‌شود)، پاسخ‌های خالی و محدودیت‌های احتمالی نرخ توسط Arxiv را مدیریت می‌کند.

۳. استخراج محتوا

این بلوک HTML واکشی شده را تجزیه و تحلیل می‌کند تا چکیده مقاله و بخش‌های متنی اصلی را استخراج کند.

  • گره‌ها:

* Extract Contents

  • جزئیات گره:

* Extract Contents

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

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

* پیکربندی:

* محتوای <div class="ltx_abstract"> را در فیلدی به نام abstract استخراج می‌کند.

* تمام عناصر <div class="ltx_para"> را در یک فیلد آرایه‌ای به نام sections استخراج می‌کند.

* ورودی: محتوای HTML را از گره Request to Paper Page دریافت می‌کند.

* خروجی: یک شی JSON حاوی abstract (رشته) و sections (آرایه‌ای از رشته‌ها).

* موارد لبه‌ای: در معرض تغییرات در ساختار HTML Arxiv است؛ ممکن است با بخش‌های خالی یا گمشده مشکل داشته باشد.

۴. آماده‌سازی محتوا

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

  • گره‌ها:

* Split out All Sections

* Remove useless links

  • جزئیات گره:

* Split out All Sections

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

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

* پیکربندی: داده‌ها را بر اساس فیلد sections تقسیم می‌کند.

* ورودی: شی JSON حاوی آرایه sections را از گره Extract Contents دریافت می‌کند.

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

* موارد لبه‌ای: اگر آرایه sections خالی باشد، هیچ موردی منتشر نخواهد شد.

* Remove useless links

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

* نقش: هر پاراگراف را با حذف ارجاعات داخل براکت یا پیوندها (مانند [1], [ref]) پاکسازی می‌کند.

پیکربندی: از یک عبارت جاوا اسکریپت برای جایگزینی تمام وقوعات عبارت منظم \[.?\] با یک رشته خالی در فیلد sections استفاده می‌کند.

* ورودی: پاراگراف‌های بخش جداگانه را از گره Split out All Sections دریافت می‌کند.

* خروجی: متن پاکسازی شده را به گره Summarization Chain منتقل می‌کند.

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

۵. خلاصه‌سازی پاراگراف

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

  • گره‌ها:

* OpenAI Chat Model (به عنوان مدل زبان هوش مصنوعی)

* Summarization Chain

* Aggregate summarzied content

  • جزئیات گره:

* OpenAI Chat Model

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

* نقش: بک‌اند مدل زبان (مانند GPT-3.5 Turbo) را برای خلاصه‌سازی فراهم می‌کند.

* پیکربندی: از gpt-3.5-turbo با تنظیمات پیش‌فرض استفاده می‌کند. نیاز به کلید API OpenAI پیکربندی شده در اعتبارنامه‌ها دارد.

* ورودی: به عنوان مدل زبان هوش مصنوعی برای گره Summarization Chain متصل است.

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

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

* Summarization Chain

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

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

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

* ورودی: پاراگراف‌های بخش پاکسازی شده را از گره Remove useless links دریافت می‌کند.

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

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

* Aggregate summarzied content

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

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

* پیکربندی: داده‌ها را بر اساس فیلد response.text جمع‌آوری می‌کند.

* ورودی: خروجی‌های پاراگراف خلاصه شده را از گره Summarization Chain دریافت می‌کند.

* خروجی: یک مورد داده واحد حاوی آرایه‌ای از تمام پاراگراف‌های خلاصه شده.

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

۶. تولید خلاصه ساختاریافته

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

  • گره‌ها:

* Reorganize Paper Summary

* Content Extractor

* OpenAI Chat Model1 (به عنوان مدل زبان هوش مصنوعی)

  • جزئیات گره:

* Reorganize Paper Summary

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

* نقش: یک خلاصه ساختاریافته تولید می‌کند و محتوا را به "چکیده کلی"، "مقدمه"، "نتایج" و "نتیجه‌گیری" تقسیم می‌کند.

* پیکربندی:

* از gpt-3.5-turbo به عنوان مدل استفاده می‌کند.

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

* خلاصه‌های جمع‌آوری شده با جداکننده | به هم متصل شده و به عنوان پیام کاربر ارسال می‌شوند.

* اعتبارنامه‌ها: از همان کلید API OpenAI که قبلاً پیکربندی شده است استفاده می‌کند.

* ورودی: آرایه خلاصه جمع‌آوری شده را از گره Aggregate summarzied content دریافت می‌کند.

* خروجی: متن کامل خلاصه ساختاریافته.

* موارد لبه‌ای: احتمال توهم مدل یا تولید خلاصه ناسازگار.

* Content Extractor

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

* نقش: متن خلاصه ساختاریافته را استخراج و دسته‌بندی می‌کند و به چهار ویژگی خاص تقسیم می‌کند: Abstract Overview, Introduction, Results, و Conclusion.

* پیکربندی:

* متن ورودی را از اولین انتخاب پیام گره Reorganize Paper Summary می‌گیرد.

* ویژگی‌های مورد نیاز را با توضیحات برای هدایت فرآیند استخراج تعریف می‌کند.

* ورودی: متن خلاصه ساختاریافته را از Reorganize Paper Summary دریافت می‌کند.

* خروجی: یک شی JSON حاوی محتوای استخراج شده برای هر یک از چهار بخش.

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

* OpenAI Chat Model1

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

* نقش: پشتیبانی مدل زبان را برای گره Content Extractor فراهم می‌کند.

* پیکربندی: از همان پیکربندی گره OpenAI Chat Model دیگر استفاده می‌کند.

* ورودی: به عنوان مدل زبان هوش مصنوعی برای Content Extractor متصل است.

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

* موارد لبه‌ای: مشمول همان مسائل احتمالی گره‌های OpenAI دیگر است (محدودیت‌های نرخ، احراز هویت و غیره).

۷. استخراج اطلاعات و پاسخ

این بلوک نهایی خلاصه ساختاریافته را به درخواست‌کننده اصلی بازمی‌گرداند.

  • گره‌ها:

* Respond to Webhook (در بخش ۱ شرح داده شده است)

  • جزئیات:

* گره Respond to Webhook خروجی ساختاریافته را از گره Content Extractor دریافت می‌کند.

* پاسخ را به صورت JSON قالب‌بندی می‌کند، شامل کلیدهای: Abstract Overview, Introduction, Results, و Conclusion.

جدول خلاصه

نام نود (Node Name)نوع نود (Node Type)نقش عملکردی (Functional Role)نود(های) ورودی (Input Node(s))نود(های) خروجی (Output Node(s))یادداشت چسبان (Sticky Note)
Webhookn8n-nodes-base.webhookدریافت درخواست شناسه مقاله Arxiv-Request to Paper Page
Request to Paper Pagen8n-nodes-base.httpRequestواکشی محتوای HTML مقالهWebhookExtract Contents
Extract Contentsn8n-nodes-base.htmlاستخراج چکیده و بخش‌هاRequest to Paper PageSplit out All Sections
Split out All Sectionsn8n-nodes-base.splitOutتقسیم آرایه بخش‌ها به پاراگراف‌هاExtract ContentsRemove useless links
Remove useless linksn8n-nodes-base.setپاکسازی متن با حذف لینک‌های داخل کروشهSplit out All SectionsSummarization Chain
OpenAI Chat Model@n8n/n8n-nodes-langchain.openAiفراهم کردن مدل زبانی برای خلاصه‌سازیSummarization Chain (AI LM)Summarization Chain (AI LM)
Summarization Chain@n8n/n8n-nodes-langchain.chainSummarizationخلاصه‌سازی هر پاراگرافRemove useless linksAggregate summarzied content
Aggregate summarzied contentn8n-nodes-base.aggregateتجمیع تمام خلاصه‌های پاراگراف‌هاSummarization ChainReorganize Paper Summary
Reorganize Paper Summary@n8n/n8n-nodes-langchain.lmChatOpenAiتولید بخش‌های خلاصه ساختاریافتهAggregate summarzied contentContent Extractor
Content Extractor@n8n/n8n-nodes-langchain.informationExtractorاستخراج خلاصه ساختاریافته به فیلدهای نام‌گذاری شدهReorganize Paper SummaryRespond to Webhook
OpenAI Chat Model1@n8n/n8n-nodes-langchain.openAiفراهم کردن مدل زبانی برای استخراجContent Extractor (AI LM)Content Extractor (AI LM)
Respond to Webhookn8n-nodes-base.respondToWebhookارسال خلاصه نهایی ساختاریافته به درخواست‌کنندهContent Extractor-

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

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

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

این گردش کار با دریافت شناسه مقاله Arxiv، محتوای آن را واکشی کرده، بخش‌های کلیدی را استخراج می‌کند، سپس با استفاده از ChatGPT متن را خلاصه و در قالب چکیده، مقدمه، نتایج و نتیجه‌گیری سازماندهی می‌کند.

چه بخش‌هایی از مقاله خلاصه می‌شوند؟

این گردش کار به طور خاص چکیده، مقدمه، نتایج و نتیجه‌گیری مقاله را استخراج و خلاصه می‌کند تا درک سریع و جامعی از محتوای علمی ارائه دهد.

آیا این گردش کار برای دانشجویان و محققان مفید است؟

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

workflowهای مرتبط

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