168 لوستل

د Shopify لپاره د AI-Powered Automated Product Enrichment Pipeline جوړولو په اړه د لارښود

لخوا Ankit P.12m2025/04/27
Read on Terminal Reader

ډېر اوږد؛ لوستل

موږ به د GitHub Actions په کارولو سره د Shopify د پلور څخه وروستیو محصولات صادر کړي، د LLM په کارولو سره ځینې عملونه ترسره کړي، او د محصولاتو تازه کړي.
featured image - د Shopify لپاره د AI-Powered Automated Product Enrichment Pipeline جوړولو په اړه د لارښود
Ankit P. HackerNoon profile picture


د Shopify د سوداګرۍ لپاره د بشپړتياوي workflow تخنیک

د Shopify د سوداګرۍ لپاره د بشپړتياوي workflow تخنیک


د بریالیتوب د بریالیتوب د سوداګرۍ د سوداګرۍ د سوداګرۍ د سوداګرۍ د سوداګرۍ د سوداګرۍ د سوداګرۍ د سوداګرۍ د سوداګرۍ د سوداګرۍ د سوداګرۍ د سوداګرۍ د سوداګرۍ د سوداګرۍ د سوداګرۍ د سوداګرۍ د سوداګرۍ د سوداګرۍ د سوداګرۍ د سوداګرۍ د سوداګرۍ د سوداګرۍ د سوداګرۍ د سوداګرۍ د سوداګرۍ د سوداګرۍ د سوداګرۍ د سوداګرۍ د سوداګرۍ د سوداګرۍ د سوداګرۍ د سوداګرۍ د سوداګرۍ د سوداګرۍ د سوداګرۍ د سوداګرۍ د سوداګرۍ د سوداګرۍ د سوداګرۍ د سوداګرۍ د سوداګرۍ د سوداګرۍ د سوداګرۍ د سوداګرۍ د سوداګرۍ د سوداګرۍ د سوداګرۍ


دا هغه ځای دی چې اتومات کولو ته اړتیا نلري - نه یوازې د ګټورۍ په توګه، بلکه د دې لپاره چې ستاسو د سوداګرۍ په اغیزمنه توګه او په مقیاسه توګه چلند وکړي. که څه هم Shopify د اپلیکیشنونو او drag-and-drop انټرنیټونو غليظ سيستم وړاندې کوي، دا ډیری وختونه اړتیا لري چې تاسو د شفافیت او کنترول لپاره د ګټورۍ لپاره سوداګرۍ وکړئ.

د کنترول ترلاسه کول

د روبوټانو ته اجازه ورکړي چې د ناڅاپي توکي په اړه فکر وکړي!

د روبوټانو ته اجازه ورکړي چې د ناڅاپي توکي په اړه فکر وکړي!


مخکې یا وروسته، تاسو به د off-the-shelf غوښتنلیکونه او manual workflows سره محدودیتونه ته ورسیږي او د بدیلونو په لټه کې پیل کړئ. یو له دې بدیل دی چې د GUI-centric وسایلو څخه د پروګرام وړ پایپونه ته بدل کړئ چې بشپړ انعطافیت او کنترول وړاندې کوي. هغه څه چې تاسو غواړئ ده:


  • د خپل معلوماتو بشپړ مالکیت
  • د ستاسو د نښې او محصولات لپاره د پرمختګونو لپاره
  • مشترکه کاري فلو: د ډیری سټرایډونه کولی شي د ورته کاري فلو سره لږ تر لږه د بدلونونو سره کار وکړي
  • د پروسه هر مرحله کې اعتماد


اوس، موږ به څنګه څنګه د اتومات CI پایپینټ جوړ کړي چې د دې ستونزو سره مرسته وکړي. لکه څنګه چې د مفهوم د ثبوت په توګه، موږ به یو پایپینټ جوړ کړئ چې زموږ د محصول د موادو د کار د جریان په سمه توګه وده ورکړي. د پایپینټ به د LLM کارولو سره زموږ د سوداګرۍ په وروستیو محصولاتو په نظر کې ونیسئ، د نوم غوره کړئ، د SEO نوم او توضیحات اضافه کړئ، او د ټیم لپاره د جائزې لپاره یو خلاص جوړ کړئ.

د Stack

دلته هغه څه دي چې د workflow قدرت کوي:


  • Shopify - چې زموږ محصولات ژوند کوي
  • GitHub اقدامونه - لپاره orchestration او اتومات
  • ShopCTL - د Shopify د سوداګرۍ مدیریت لپاره د امر لائن کارپوه
  • OpenAI API - د محصول نومونه، د SEO موادو جوړولو، او سپارښتنه ورکولو لپاره
  • Python او ځینې Bash سکرپټونه - د غلظت منطق او تازه کولو لپاره
د ShopifyGitHub فعالیتونهد سوداګرۍد APIد Pythonد بیس

لومړی شیانو لومړی - د Stack جوړولو

موږ به د GitHub د عملونو د کار د جریان جوړولو له لارې پیل شو. موږ به د پایپین konfig په ذخیره کړئ.github/workflows/د کټګورۍ. د نام د فایل جوړ کړئenrich-products.ymlد workflows لیږد کې. دا فایل به زموږ د محصول د موادو د workflow لپاره کارونه تعریف کړي.


# .github/workflows/enrich-products.yml

name: Shopify Product Enrichment

on:
  workflow_dispatch:


دworkflow_dispatchپه GitHub اقدامونو کې، تاسو کولی شئ د GitHub انټرنیټ څخه یا د API له لارې د کار فورمه په لارښوونې کې فعال کړئ، یا تاسو کولی شئپه اتوماتيک ډول چلولو لپاره برنامه وکړئپه ځانګړي وخت کې.

په اتوماتيک ډول چلولو لپاره برنامه وکړئ

API Keys

د API کلیدونه

موږ به زموږ د تنظیم بشپړولو لپاره ځینې API کلیدونه ته اړتيا لري:OPENAI_API_KEYد AI عملیات اوSHOPIFY_ACCESS_TOKENزموږ د بازار سره اړیکه ونیسئ.


د OpenAI API کلید ترلاسه کړئستاسو د OpenAI حساب,او دالکه څنګه چې په GitHub کې. د Shopify لاس رسی ټکین ترلاسه کول ستونزه ده ځکه چې تاسو اړتیا لرئ چې د دې لپاره یو ډیم اپلیکیشن جوړ کړئ.د دې رسمي لارښودیو ترلاسه کړئ.

ستاسو د OpenAI حسابلکه څنګه چې په GitHub کېد دې رسمي لارښود

ShopCTL

د سوداګرۍ

موږ به د Aد Command-Line وسیلهزموږ د توليداتو د صادراتو او تازه کولو لپاره. اجازه ورکړئ چې موږ د ګمرک کولو عمل جوړ کړئ چې موږ کولی شو زموږ په پایپین کې د لارښوونې لپاره بیا کاروئ. د نامتو فایل جوړ کړئsetup-shopctl.ymlد عملونو د لیږد کې او د لاندې config اضافه کړئ.

د Command-Line وسیله


# .github/workflows/actions/setup-shopctl.yml

name: Setup ShopCTL
description: Installs Go and ShopCTL CLI
runs:
  using: "composite"
  steps:
    - name: Set up Go
      uses: actions/setup-go@v5
      with:
        go-version: "1.24"

    - name: Install ShopCTL
      shell: bash
      run: |
        sudo apt-get update
        sudo apt-get install -y libx11-dev
        go install github.com/ankitpokhrel/shopctl/cmd/shopctl@main
        echo "$HOME/go/bin" >> "$GITHUB_PATH"


د ګمرکونو عملونو په پرتله، موږ باید د سوداګرۍ لپاره د سیسټم اضافه کړئ چې موږ کار کوي. د نامتو پوډر جوړ کړئshopctlد repo ریټ پر او په یو فایل کې د لاندې config اضافه کړئ چې د.shopconfig.yml. د ټولو واقعاتو د بدلونstore1ستاسو د سوداګرۍ Alias.


# shopctl/.shopcofig.yml

ver: v0
contexts:
    - alias: store1
      store: store1.myshopify.com
currentContext: store1


د پایپینګ بشپړولو

د پایپینګ لپاره بشپړ سرچینې دلته شتون لري.

د پایپینګ لپاره بشپړ سرچینې دلته شتون لري.

دلتهدلته


زموږ د پایپ چار مرحلهونه لري، ویز:Export -> Enrich -> Update -> Notify

Stage 1: Export Products

مرحله 1: د صادراتو محصولات

زموږ په پایپول کې لومړی مرحله ده چې زموږ د بازار څخه وروستیو محصولات صادر کړي. د یو کار اضافه کړئ چې دexport-productsپهenrich-products.ymlد فلیټونه چې موږ مخکې جوړ کړ.


jobs:
  export-products:
    runs-on: ubuntu-latest
    env:
      SHOPIFY_ACCESS_TOKEN: ${{ secrets.SHOPIFY_ACCESS_TOKEN }} # The secret we set earlier
      SHOPIFY_CONFIG_HOME: ${{ github.workspace }} # This will tell shopctl to use current dir to look for .shopconfig
    outputs:
      has-data: ${{ steps.check.outputs.has_data }}

    steps:
      - name: Checkout repo
        uses: actions/checkout@v3

      - name: Setup ShopCTL
        uses: ./.github/workflows/actions/setup-shopctl

      - name: Export products
        run: |
          mkdir -p data

          # Export latest data (last 7 days) using the shopctl tool as latest_products.tar.gz
          shopctl export -r product="created_at:>=$(date -v -7d +%Y-%m-%d)" -o data/ -n latest_products -vvv

      - name: Check if export has data
        id: check
        run: |
          if [ -s data/latest_products.tar.gz ]; then
            echo "has_data=true" >> "$GITHUB_OUTPUT"
          else
            echo "has_data=false" >> "$GITHUB_OUTPUT"
            echo "No products found to process"
          fi

      - name: Upload exported products
        if: steps.check.outputs.has_data == 'true'
        uses: actions/upload-artifact@v4
        with:
          name: exported-products
          path: data/latest_products.tar.gz


د اوبو کار به جوړ شيد سوداګرۍد مخکښ فعالیت کارولو سره چې موږ مخکې جوړ شو. دا به د وروستیو 7 ورځو کې جوړ شوي ټول محصولات صادر کړي او دوی په توګه د آرټاکټونو په توګه اپلوډ کړئ که کوم نوي محصول شتون لري.

د سوداګرۍ

Stage 2a: Review Catalog

مرحله 2a: د کاټاکټګوریټ بیاکتنې

موږ به د OpenAI API کارولو سره د محصول د معلوماتو نمونې په څیر ونیسئ او د دې په څیر مشخص کړئ:


  • په ټایګونو، محصول ډولونه، او یا ویریټونو کې ستونزه یا غیرقانونيونه
  • د مخکښ یا غیرقانوني ذخیره معلومات
  • د محصول سیسټم او یا Variant جوړښت لګښتونه
  • Duplicate یا ډیر ورته محصولات
  • د کټګورۍ کیفیت او بشپړتیا د ښه کولو لپاره عمومي لارښوونې


review-catalog:
    needs: export-products
    runs-on: ubuntu-latest
    env:
      OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}

    steps:
      - name: Checkout repo
        uses: actions/checkout@v3

      - name: Download product export
        uses: actions/download-artifact@v4
        with:
          name: exported-products
          path: data/

      - name: Set up Python
        uses: actions/setup-python@v5
        with:
          python-version: "3.13"

      - name: Install dependencies
        run: pip install openai

      - name: Run catalog review script
        run: |
          # Assuming your script is saved in scripts/review_catalog.py
          python scripts/review_catalog.py \
            data/latest_products.tar.gz \
            data/review_summary.md

      - name: Upload catalog summary
        uses: actions/upload-artifact@v4
        with:
          name: catalog-review-summary
          path: data/review_summary.md

      - name: Final summary
        run: echo "✅ Shopify product catalog review completed!"


یادونهneedsبرخه. موږ غواړو چې د محصولاتو د صادراتو وروسته چلند وکړي او د اجزاو په توګه شتون لري. موږ هم باید پیتون جوړ کړئ، لکه څنګه چې زموږ بیاکتنې سکرپټ په پیتون کې لیکل کیږي. تاسو کولی شئ دلته ستاسو د انتخاب په هر ژوره کاروئ. د سکرپټ تولید کويreview_summary.md، چې په راتلونکي مرحله کې د آرټافټ په توګه اپلوډ کیږي (د لاندې نمونه محصول).


## Identified Issues

### 1. Missing or Inconsistent Information:
- Some products have missing or inconsistent `productType` (e.g. `"gid://shopify/Product/8790718087392"`, `"gid://shopify/Product/879071795632


د نمونوي سکرین او پروپټ کولای شيfound here.

دلته

Stage 2b: Enrich Products

مرحله 2b: د توليداتو غلظت

لکه څنګه چېreview-catalogد کار، add anenrich-products د کارچې به د سکرپٹ چلولو ته د محصول نوم وګورئ او د محصول لپاره د OpenAI په کارولو سره د SEO نوم او توضیحات جوړ کړي. دا کار د جائزې کاتالوژۍ کار سره مطابقت کوي او د تازه کولو لپاره د میتا ډاټا په اړه تفصيلات سره د CSV تولید کوي.

د کار


Generated enriched_products.csv file



د نمونوي سکرین او پروپټ کولای شيدلته.

دلته

Stage 3: Update Products

مرحله 3: د توليداتو روزنې

کله چې د میتا ډاټا په مرحله 2b جوړ شوی دی، موږ کولی شو د محصولاتو په کارولو سرهد سوداګرۍموږ به په دې مرحله کې د Python په ځای کې د bash سکرپټ کاروي.

د سوداګرۍ


د یو کار په نومupdate-productsلکه څنګه چې لاندې ښيي.


update-products:
    needs: enrich-products
    runs-on: ubuntu-latest
    env:
      SHOPIFY_ACCESS_TOKEN: ${{ secrets.SHOPIFY_ACCESS_TOKEN }}
      SHOPIFY_CONFIG_HOME: ${{ github.workspace }}

    steps:
      - name: Checkout repo
        uses: actions/checkout@v3

      - name: Setup ShopCTL
        uses: ./.github/workflows/actions/setup-shopctl

      - name: Download enriched products
        uses: actions/download-artifact@v4
        with:
          name: enriched-products
          path: data/

      - name: Apply updates using shopctl
        run: |
          mkdir -p logs
          touch logs/audit.txt

          while IFS=, read -r pid new_title seo_title seo_desc; do
            # Strip leading/trailing quotes
            seo_desc="${seo_desc%\"}"
            seo_desc="${seo_desc#\"}"

            # Use shopctl to update product details
            if output=$(shopctl product update "$pid" \
                --title "$new_title" \
                --seo-title "$seo_title" \
                --seo-desc "$seo_desc" 2>&1); then
                echo "$pid,success" >> logs/audit.txt
            else
              sanitized_error=$(echo "$output" | tr '\n' ' ' | sed 's/,/ /g')
              echo "$pid,failure,$sanitized_error" >> logs/audit.txt
            fi
          done < <(tail -n +2 data/enriched_products.csv)

        - name: Upload audit log
          uses: actions/upload-artifact@v4
          with:
            name: product-audit-log
            path: logs/audit.txt
  
        - name: Final summary
          run: echo "✅ Shopify product enrichment and updates completed!"


د کار نسبتا ساده دی؛ دا د بیش سکرپټ کاروي چې د مخکښ مرحله کې جوړ شوي CSV فایل څخه وګورئ، د محصول د ShopCTL په کارولو سره تازه کړئ، او د ژور فایل جوړ کړئ.

Stage 4: Notify

مرحله 4: خبرتیا

اوس، یوازې هغه څه چې لګښت لري دا ده چې اړوندانو ته خبر ورکوي چې د کار بشپړ شوی دی (یا ناکام شوی) او هغه څه چې بدل شوی. تاسو کولی شئ یو Slack نوښت یا د معلوماتو ایمیل ورکړئ. موږ به په ساده توګه د لارښوونې لپاره د لیګونو راټول او چاپ کړئ.


notify:
    needs: [review-catalog, update-products]
    runs-on: ubuntu-latest

    steps:
      - name: Download audit log
        uses: actions/download-artifact@v4
        with:
          name: product-audit-log
          path: logs/

      - name: Download catalog review
        uses: actions/download-artifact@v4
        with:
          name: catalog-review-summary
          path: data/

      - name: Print audit summary
        run: |
          ls -lah logs/
          ls -lah data/
          echo "🧾 Shopify Product Update Audit"
          echo "-------------------------------"

          total=$(wc -l < logs/audit.txt)
          updated=$(grep -c ',success' logs/audit.txt || true)
          failed=$(grep -c ',failure' logs/audit.txt || true)

          echo "✅ Success: $updated"
          echo "❌ Failed: $failed"
          echo "📦 Total Processed: $total"
          echo ""
          echo "📋 Detailed Audit:"
          cat logs/audit.txt

      - name: Print catalog review summary
        run: |
          echo ""
          echo "🧠 Catalog Review Summary"
          echo "-------------------------"
          cat data/review_summary.md


د ټولو په ګډه

په دې مثال کې ښيي چې تاسو کولی شئ د موجودو وسایلو څخه ګټه واخلئ ترڅو یو ځانګړي او قوي څه جوړ کړئ، ستاسو د کار په صورت کې ګټه واخلئ، د حساس ذخیره ډاټا ته بهرني اپلیکیشنونو ته ورکړئ.


په داسې حال کې چې زموږ د ډیزاین ډوډۍ د تولید ټولیزو اړخیزو اړخونو څخه ګټه ورکوي - لکه د لارښوونې او د غلطیونو د کارولو لپاره د سټیشن پلټنې کارولو لپاره - دا تاسو ته د پیل کولو په اړه د عمومي نظریاتو ورکوي.

د نندارتون

دا کچه انعطافیت او کنترول د لګښت وړ وړ وړتیاوې چمتو کوي - د محصول کاپیونو پر اتومات A / B ازموینې، د ډیرو ژبو د غلظت کولو د کارولو په جریانونو، د ډینمیک قیمت تجربو، او اتومات ذخیره پاکولو ته د شخصي سپارښتنې او نور.


ستاسو د کنترول په هر مرحله کې، تاسو کولی شئ د نوي خیالات په تجربو کې، په چټکۍ سره د بازار بدلونونو سره تطبیق کړئ، او ستاسو د سوداګرۍ په اوږدو کې د فعالیتونو په آسانه توګه کچه کولی شئ.

Trending Topics

blockchaincryptocurrencyhackernoon-top-storyprogrammingsoftware-developmenttechnologystartuphackernoon-booksBitcoinbooks