استخراج خودکار داده‌های ورود به هواپیمایی با هوش مصنوعی Olla…

استخراج خودکار داده‌های ورود به هواپیمایی با هوش مصنوعی Olla…

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

دانلود workflow

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

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

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

استخراج خودکار داده‌های ورود به هواپیمایی با هوش مصنوعی، Google Sheets و پایگاه داده برداری Postgres

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

کاتالوگ Axeto.ai n8n: https://axeto.ai/n8n

نمای کلی Workflow

این Workflow چندین عملیات را برای دستیابی به استخراج خودکار داده‌ها هماهنگ می‌کند:

1. Trigger: اجرای Workflow را از طریق یک Webhook خارجی آغاز می‌کند.

2. Fetch URLs: لیستی از URLهای ورود به هواپیمایی را از یک Google Sheet بازیابی می‌کند.

3. Process in Batches: URLهای هواپیمایی را در دسته‌های قابل مدیریت برای پردازش مقیاس‌پذیر تکرار می‌کند.

4. Scrape Webpages: محتوای خام HTML/متن را از صفحه ورود به هواپیمایی هر شرکت هواپیمایی دریافت می‌کند.

5. AI Extraction: از یک مدل زبان هوش مصنوعی Ollama برای تجزیه محتوای خام صفحه وب به یک فرمت JSON تمیز و ساختاریافته بر اساس یک طرحواره تعریف شده استفاده می‌کند.

6. Data Storage: داده‌های ساختاریافته را دوباره در Google Sheets به‌روزرسانی می‌کند و Embeddingها را برای جستجوی معنایی تولید می‌کند و آن‌ها را در یک پایگاه داده PostgreSQL PGVector ذخیره می‌کند.

7. Throttling: تاخیرهایی را بین دسته‌ها برای جلوگیری از محدودیت نرخ و اطمینان از عملکرد روان پیاده‌سازی می‌کند.

تجزیه و تحلیل دقیق Workflow

۱. Trigger Workflow

  • هدف: اجرای Workflow را از طریق یک Webhook عمومی آغاز می‌کند.
  • Nodes:

* Chat Trigger - Start (@n8n/n8n-nodes-langchain.chatTrigger)

  • پیکربندی:

* یک Webhook عمومی فعال است که یک URL منحصر به فرد برای شروع Workflow ارائه می‌دهد.

  • ورودی: ندارد (گره trigger).
  • خروجی: گره Fetch Airline URLs را فعال می‌کند.
  • مشکلات احتمالی: دسترسی به URL Webhook.

۲. Fetch Airline URLs

  • هدف: یک Google Sheet حاوی URLهای ورود به هواپیمایی و فراداده‌های مرتبط را می‌خواند.
  • Nodes:

* Fetch Airline URLs (n8n-nodes-base.googleSheets)

  • پیکربندی:

* Document ID: Google Sheet حاوی داده‌ها را مشخص می‌کند.

* Sheet Name: "Sheet1".

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

  • ورودی: Trigger را از Chat Trigger - Start دریافت می‌کند.
  • خروجی: ردیف‌های داده را به گره Loop Over Items منتقل می‌کند.
  • مشکلات احتمالی: خطاهای احراز هویت API Google، محدودیت‌های سهمیه، تغییرات در ساختار صفحه گسترده.

۳. Process URLs in Batches

  • هدف: با تقسیم ورودی به دسته‌ها، پردازش هر URL هواپیمایی را به صورت جداگانه مدیریت می‌کند.
  • Nodes:

* Loop Over Items (n8n-nodes-base.splitInBatches)

  • پیکربندی:

* به طور پیش‌فرض اندازه دسته ۱ است و یک URL در هر بار پردازش می‌شود.

  • ورودی: داده‌ها را از Fetch Airline URLs دریافت می‌کند.
  • خروجی: هر مورد را به گره Scrape Airline Webpage ارسال می‌کند.
  • ملاحظات: برای مجموعه داده‌های بسیار بزرگ، ممکن است لازم باشد اندازه دسته را برای بهینه‌سازی عملکرد و مدیریت منابع تنظیم کنید.

۴. Scrape Airline Webpage

  • هدف: محتوای خام HTML یا متنی را از URL ورود به هواپیمایی هر شرکت هواپیمایی دانلود می‌کند.
  • Nodes:

* Scrape Airline Webpage (n8n-nodes-base.httpRequest)

  • پیکربندی:

* URL: به صورت پویا با استفاده از https://r.jina.ai/{{ $json['WEB CHECK IN URL'] }} ساخته می‌شود.

* Method: POST.

* Headers: شامل کوکی‌های از پیش تعیین شده با فرمت JSON است.

* Authentication: احراز هویت هدر HTTP پیکربندی شده است.

  • ورودی: URLهای هواپیمایی فردی را از Loop Over Items دریافت می‌کند.
  • خروجی: محتوای صفحه وب خراشیده شده را به گره Extract Info with LLM منتقل می‌کند.
  • مشکلات احتمالی:

* خطاهای HTTP (مانند 404، 500).

* شکست احراز هویت.

* تایم اوت‌های شبکه.

* URLهای نامعتبر در داده‌های ورودی.

۵. AI-Powered Data Extraction

  • هدف: محتوای خام صفحه وب را با استفاده از یک مدل هوش مصنوعی Ollama تجزیه می‌کند تا داده‌های ساختاریافته را به فرمت JSON استخراج کند.
  • Nodes:

* Extract Info with LLM (@n8n/n8n-nodes-langchain.chainLlm)

* Chat Model (@n8n/n8n-nodes-langchain.lmChatOllama)

  • پیکربندی:

* Extract Info with LLM:

* Input Text: از محتوای صفحه وب خراشیده شده ({{ $json.data }}) استفاده می‌کند.

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

* Chat Model:

* برای اتصال به API Ollama شما پیکربندی شده است.

  • ورودی:

* Extract Info with LLM محتوای خراشیده شده را از Scrape Airline Webpage دریافت می‌کند.

* Chat Model دستورالعمل‌ها را از Extract Info with LLM دریافت می‌کند.

  • خروجی: داده‌های JSON تولید شده توسط هوش مصنوعی به گره Wait for Response منتقل می‌شود.
  • موارد لبه‌ای: متن ورودی با کیفیت پایین، هوش مصنوعی که JSON نامعتبر تولید می‌کند، فیلدهای گمشده یا پاسخ‌های بیش از حد پرحرف.
  • جزئیات Prompt LLM: یک گره یادداشت چسبنده مستندات جامعی را در مورد Prompt مورد استفاده برای استخراج داده‌های ساختاریافته ارائه می‌دهد.

۶. Data Storage and Embedding

  • هدف: داده‌های ساختاریافته استخراج شده را در Google Sheets ذخیره می‌کند و با تولید Embeddingهای برداری، آن را برای جستجوی معنایی آماده می‌کند.
  • Nodes:

* Wait for Response (n8n-nodes-base.wait)

* Store Extracted Info (n8n-nodes-base.googleSheets)

* Generate Embeddings (@n8n/n8n-nodes-langchain.embeddingsOllama)

* Split Long Text (@n8n/n8n-nodes-langchain.textSplitterTokenSplitter)

* Prepare Text for Vector DB (@n8n/n8n-nodes-langchain.documentDefaultDataLoader)

* Save to Vector DB (@n8n/n8n-nodes-langchain.vectorStorePGVector)

  • پیکربندی:

* Wait for Response: اجرای را به طور خلاصه متوقف می‌کند تا اطمینان حاصل شود که پاسخ هوش مصنوعی آماده است.

* Store Extracted Info:

* ردیف مربوطه را در Google Sheet با داده‌های JSON تمیز به‌روزرسانی می‌کند.

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

* Generate Embeddings: داده‌های متنی ساختاریافته را با استفاده از API Ollama به Embeddingهای برداری تبدیل می‌کند.

* Split Long Text: داده‌های متنی طولانی را به بخش‌های کوچکتر (حداکثر ۱۰,۰۰۰ توکن) مناسب برای Embedding تقسیم می‌کند.

* Prepare Text for Vector DB: داده‌های متنی را برای درج در پایگاه داده برداری ساختار می‌دهد.

* Save to Vector DB:

* Mode: Insert.

* Collection: از یک مجموعه موجود در پایگاه داده PostgreSQL PGVector استفاده می‌کند.

* Credentials: جزئیات اتصال PostgreSQL پیکربندی شده است.

  • ورودی: داده‌ها را از Extract Info with LLM و Scrape Airline Webpage دریافت می‌کند.
  • خروجی: داده‌های پردازش شده را به گره Wait Before Next Batch منتقل می‌کند.
  • مشکلات احتمالی: خطاهای API Google، مشکلات اتصال پایگاه داده، خطاهای درج، عدم تطابق اندازه بردار.

۷. Throttle Between Batches

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

* Wait Before Next Batch (n8n-nodes-base.wait)

  • پیکربندی:

* Wait Amount: روی ۱۵ ثانیه تنظیم شده است.

  • ورودی: داده‌ها را از Save to Vector DB دریافت می‌کند.
  • خروجی: کنترل را به گره Loop Over Items برای پردازش دسته بعدی باز می‌گرداند.

جدول خلاصه

نام Nodeنوع Nodeنقش عملکردیگره(های) ورودیگره(های) خروجی
Chat Trigger - Start@n8n/n8n-nodes-langchain.chatTriggerTrigger Workflow (webhook)NoneFetch Airline URLs
Fetch Airline URLsn8n-nodes-base.googleSheetsبازیابی URLهای هواپیماییChat Trigger - StartLoop Over Items
Loop Over Itemsn8n-nodes-base.splitInBatchesپردازش دسته‌ای URLهای هواپیماییFetch Airline URLsScrape Airline Webpage
Scrape Airline Webpagen8n-nodes-base.httpRequestدانلود محتوای خام صفحه وبLoop Over ItemsExtract Info with LLM
Extract Info with LLM@n8n/n8n-nodes-langchain.chainLlmتجزیه هوش مصنوعی صفحه وب خام به JSONScrape Airline WebpageWait for Response
Chat Model@n8n/n8n-nodes-langchain.lmChatOllamaاجرای مدل هوش مصنوعی برای استخراجExtract Info with LLMWait for Response
Wait for Responsen8n-nodes-base.waitهمگام‌سازی بر روی پاسخ هوش مصنوعیExtract Info with LLMStore Extracted Info
Store Extracted Infon8n-nodes-base.googleSheetsبه‌روزرسانی Google Sheet با داده‌های استخراج شدهWait for ResponseGenerate Embeddings
Generate Embeddings@n8n/n8n-nodes-langchain.embeddingsOllamaتبدیل متن به Embeddingهای برداریStore Extracted InfoSplit Long Text
Split Long Text@n8n/n8n-nodes-langchain.textSplitterTokenSplitterتقسیم متن‌های طولانی برای EmbeddingGenerate EmbeddingsPrepare Text for Vector DB
Prepare Text for Vector DB@n8n/n8n-nodes-langchain.documentDefaultDataLoaderساختاردهی متن برای درج پایگاه داده برداریSplit Long TextSave to Vector DB
Save to Vector DB@n8n/n8n-nodes-langchain.vectorStorePGVectorدرج Embeddingها در PostgresGenerate Embeddings, Prepare Text for Vector DBWait Before Next Batch
Wait Before Next Batchn8n-nodes-base.waitمحدود کردن بین دسته‌هاSave to Vector DBLoop Over Items

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

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

این Workflow چگونه داده‌های ورود به هواپیمایی را استخراج می‌کند؟

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

چه ابزارهایی در این Workflow استفاده شده‌اند؟

این Workflow از ابزارهایی مانند n8n، هوش مصنوعی Ollama، Google Sheets و پایگاه داده برداری PGVector برای استخراج، پردازش و ذخیره‌سازی داده‌ها استفاده می‌کند.

مزیت استفاده از پایگاه داده برداری در این Workflow چیست؟

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

workflowهای مرتبط

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