නව ඉතිහාසය

Shopify සඳහා AI-powered Automated Product Enrichment Pipeline ගොඩනැගීම සඳහා මාර්ගෝපදේශය

විසින් Ankit P.12m2025/04/27
Read on Terminal Reader

දිග වැඩියි; කියවීමට

අපි GitHub ක්රියාකාරකම් භාවිතා කරමින්, Shopify වෙළඳසැලෙන් නවතම නිෂ්පාදන ප්රවාහන කිරීම, LLM භාවිතා කිරීමෙන් සමහර ක්රියාකාරකම් සිදු කිරීම සහ නිෂ්පාදන යාවත්කාලීන කිරීම සඳහා pipeline නිර්මාණය කරමු.
featured image - Shopify සඳහා AI-powered Automated Product Enrichment Pipeline ගොඩනැගීම සඳහා මාර්ගෝපදේශය
Ankit P. HackerNoon profile picture


Shopify වෙළඳසැල සඳහා සම්පූර්ණයෙන්ම ස්වයංක්රීය වැඩපිළිවෙළ ඉංජිනේරු කිරීම

Shopify වෙළඳසැල සඳහා සම්පූර්ණයෙන්ම ස්වයංක්රීය වැඩපිළිවෙළ ඉංජිනේරු කිරීම


සාර්ථක e-commerce වෙළඳසැල් තබා ගැනීම එහි අභියෝගවලට සාධාරණ කොටසක් සමග පැමිණෙනු ඇත. එය සෑම විටම වෙනස් වන විස්තර, පාරිභෝගික අත්දැකීම් සහ වේදිකාව යාවත්කාලීන කිරීම සඳහා නිශ්චිත අවධානය අවශ්ය වේ.


ඒ නිසාම ස්වයංක්රියාකාරීත්වය ක්රියා කරයි – පහසුකම් පමණක් නොව, ඔබේ වෙළඳසැල ක්රියාත්මකව හා ප්රමාණවත්ව ක්රියාත්මක කිරීම සඳහා අවශ් යතාවයක් ලෙස.Shopify යෙදුම් හා drag-and-drop පරිගණකයේ ධනවත් පරිසරයක් ලබා දෙන අතර, එය බොහෝ විට පහසුකම් සඳහා විවෘතත්වය හා පාලනය වෙළඳාම් කිරීමට අවශ්ය වේ.

පාලනය ආපසු ගන්න

කම්මැලි දේවල් ගැන රොබෝව බය කරන්න!

කම්මැලි දේවල් ගැන රොබෝව බය කරන්න!


උදාහරණයක් ලෙස, ඔබ ඉක්මනින් හෝ පරක්කු වේලාවක, ඔබ අමුත්තන් යෙදුම් සහ මැනවිලි වැඩපිළිවෙළ සමඟ සීමා හා විකල්ප සොයන්න පටන් ගනු ඇත. එවැනි විකල්පයක් වන්නේ GUI මධ්යම මෙවලම් සිට සම්පූර්ණ මෘදුකාංගය සහ පාලනය ලබා දීම සඳහා වැඩසටහන් කළ හැකි පයිප්ලයින් වෙත ගමන් කිරීමයි.


  • ඔබේ දත්ත සම්පූර්ණ අයිතිවාසිකම්
  • ඔබගේ වෙළඳ නාමය සහ නිෂ්පාදන වලට ගැලපෙන වැඩි දියුණු කිරීම්
  • Shareable Workflows: multiple stores could use the same workflow with little to no tweaks (නිර්මානුකූලව බෙදාහැරෙන රැකියාව ක්රියාත්මක කිරීම)
  • ක් රියාවලියේ සෑම පියවරකම විශ්වාසය


දැන්, අප ඉහත සඳහන් ප්රශ්න අවම කිරීමට උදව් කිරීමට ස්වයංක්රීය CI pipeline ගොඩනඟා ගත හැකි ආකාරය පරීක්ෂා කරමු. ව්යාපෘති සාක්ෂි සාක්ෂි ලෙස, අපි අපගේ නිෂ්පාදන අන්තර්ගත වැඩ ක්රියාවලිය සංකීර්ණ කිරීම සඳහා pipeline නිර්මාණය කරමු.

ස්ටැක්

මෙන්න මේ workflow වලට බලපාන දේ:


  • Shopify - අපගේ නිෂ්පාදන ජීවත් වන තැන
  • GitHub ක්රියාකාරකම් - ඇසුරුම් කිරීම සහ වාහන සඳහා
  • ShopCTL — Shopify වෙළඳසැල කළමනාකරණය සඳහා මෙහෙයුම් රේඛාව ආකෘතිය
  • OpenAI API – නිෂ්පාදන මාතෘකාව වෙනස් කිරීම, SEO අන්තර්ගතය නිර්මාණය කිරීම සහ යෝජනා ලබා ගැනීම
  • Python සහ සමහර Bash ස්ක් රිප්ටර - ධනවත් කිරීමේ ලෝහය සහ යාවත්කාලීන කිරීම සඳහා
Shopify එකGitHub ක්රියාකාරකම්කඩේවිවෘත APIPython එකBash

පළමුවැනි දේ පළමුවැනි දේ - Stack Up

GitHub Actions workflow එකෙන් පටන් ගමු.We will store pipeline configs in the GitHub Actions workflow.We will store pipeline configs in the.github/workflows/ෆයිල් එකක් නිර්මාණය කරන්නenrich-products.ymlමෙම ගොනුව අපේ නිෂ්පාදන අන්තර්ගතය රැකියාව ක්රියාත්මක කරයි.This file will define jobs for our product content workflow.


# .github/workflows/enrich-products.yml

name: Shopify Product Enrichment

on:
  workflow_dispatch:


workflow_dispatchGitHub මෙහෙයුම් වල සිදුවීම් ඔබට GitHub පරිශීලකයෙන් හෝ API හරහා රැකියාව ක්රියාත්මක කිරීමට ඉඩ සලසයි.එය ස්වයංක්රීයව ක්රියාත්මක කිරීමට සැලසුම් කරන්නනිශ්චිත වේලාවට

එය ස්වයංක්රීයව ක්රියාත්මක කිරීමට සැලසුම් කරන්න

API Keys

ගිනි යතුරු

අපගේ සැකසුම් සම්පූර්ණ කිරීම සඳහා අපගේ API යතුරු කිහිපයක් අවශ්ය වනු ඇත:OPENAI_API_KEYAI මෙහෙයුම් සහSHOPIFY_ACCESS_TOKENඅපගේ වෙළඳසැල සමඟ සන්නිවේදනය කිරීම.


OpenAI API Key ලබා ගන්නඔබේ OpenAI ගිණුම,එය ස්ථාපනයas a secret in GitHubShopify ප්රවේශ ටෝකන් ලබා ගැනීම අපහසු වන අතර, ඔබට එය කිරීමට Dummy යෙදුම නිර්මාණය කළ යුතුය.මේ Official Guide එකඑකක් ගන්න

ඔබේ OpenAI ගිණුමGitHub හි රහස් ලෙසමේ Official Guide එක

ShopCTL

කඩේ

අපි පාවිච්චි කරන්නෙ ACommand Line උපකරණඅපගේ නිෂ්පාදන ප්රවාහන හා යාවත්කාලීන කිරීම සඳහා. අපි අපගේ pipeline හි ප්රවේශ සඳහා නැවත භාවිතා කළ හැකි පෞද්ගලික ක්රියාවලිය නිර්මාණය කරමු.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"


Custom actions වලට අමතරව, we need to add a configuration for the store we are operating.අපි ක්රියා කරන වෙළඳසැල සඳහා සැකසුම් එකතු කරන්න.shopctlrepo හි root එක මත සහ ඊළඟ config එක අමතන්න.shopconfig.ymlසෑම සිදුවීමකටම මාරු කිරීමstore1ඔබේ වෙළඳසැල Alias


# shopctl/.shopcofig.yml

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


pipeline අවසන් කිරීම

Pipeline සඳහා සම්පූර්ණ මූලාශ්රය මෙතැනින් සොයා ගත හැකිය.

Pipeline සඳහා සම්පූර්ණ මූලාශ්රය මෙතැනින් සොයා ගත හැකිය.

මෙතනමෙතන


අපගේ තෙල් පද්ධතිය 4 පියවර ඇත, viz:Export -> Enrich -> Update -> Notify

Stage 1: Export Products

පියවර 1: ආනයන නිෂ්පාදන

අපගේ pipeline හි පළමු පියවර වන්නේ අපගේ වෙළඳසැලෙන් නවතම නිෂ්පාදන ප්රවාහන කිරීමයි.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: සමාලෝචන ලැයිස්තුව

ඊළඟ දේ අපි කිරීමට අවශ්ය වන්නේ අපගේ ලියාපදිංචිය පරීක්ෂා කිරීමයි.We will use the OpenAI API to review product data samples and identify the following:


  • ටැග, නිෂ්පාදන වර්ග, හෝ විකල්පවල ගැටළු හෝ අසාර්ථකතා
  • අතුරුදහන් හෝ අසාමාන්ය inventory information
  • නිෂ්පාදන සැකසීම හෝ විකල්ප ව්යුහය තුළ දෝෂ
  • සමාන හෝ අතිශයින් සමාන නිෂ්පාදන
  • ලැයිස්තුවේ ගුණාත්මකභාවය සහ සම්පූර්ණත්වය වැඩි දියුණු කිරීම සඳහා පොදු නිර්දේශ


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!"


සටහන් කරන්න Theneedssection.We want to run it after products are exported and made available as artifacts.We also need to set up Python, as our review script is written in Python.You can use any language of your choice here.The script generatesreview_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


උදාහරණයක් script සහ prompt විය හැකමෙතැනදී සොයා.

මෙතැනදී සොයා

Stage 2b: Enrich Products

පියවර 2b: Enrich Products

සමාන වන්නේreview-catalogරැකියාවක් - Add anenrich-products රැකියාවඑය නිෂ්පාදන මාතෘකාව සමාලෝචනය කිරීම සඳහා ස්ක්රිප්ට් ක්රියාත්මක කරනු ඇත සහ OpenAI භාවිතා කරන නිෂ්පාදන සඳහා SEO මාතෘකාව සහ විස්තරයක් නිර්මාණය කරනු ඇත.

රැකියාව


Generated enriched_products.csv file



උදාහරණයක් script සහ prompt විය හැකමෙතැනදී සොයා.

මෙතැනදී සොයා

Stage 3: Update Products

පියවර 3: නිෂ්පාදන යාවත්කාලීන කිරීම

පියවර 2b දී මෙටා දත්ත නිෂ්පාදනය කරන විට, අපි භාවිතා කරන නිෂ්පාදන යාවත්කාලීන කළ හැකිය.කඩේමේ මොහොතේ අපි Python වෙනුවට Bash script එකක් භාවිතා කරන්නෙමු.

කඩේ


නමැති රැකියාවක් Add a job calledupdate-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 ගොනුවෙන් කියවීම සඳහා bash script භාවිතා කරයි, 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