মূল লেখায় যান
পার্ট ১২ ২ মিনিট পড়া

মাল্টিমোডাল ইঞ্জিনিয়ারিং (টেক্সটের বাইরে)

মডেল শুধু টেক্সট নয়, আরও অনেক কিছু নিয়ে কাজ করে। এই পার্টে আছে ছবি আর ডকুমেন্ট বোঝা, ভয়েস, ইমেজ জেনারেশন আর ভিডিও জেনারেশন।

কুইজে যান
এই পাতায়

মাল্টিমোডাল ইঞ্জিনিয়ারিং: ভিশন, ভয়েস আর ভিডিও

টেক্সট ছিল প্রথম মোডালিটি। ২০২৫ সালে প্রতিটা প্রোডাকশন AI অ্যাপ ভিশন, ভয়েস, ইমেজ জেনারেশন আর ভিডিও জেনারেশন-এর অন্তত দুটো একসাথে ব্যবহার করে। মাল্টিমোডাল ইঞ্জিনিয়ারিং হলো প্রতিটার জন্য মডেল, ল্যাটেন্সি বাজেট আর পাইপলাইন বেছে নেওয়ার কাজ।

অনুশীলন · ৪টি টাস্ক

যেকোনো ফ্রি AI চ্যাট খুলুন: ChatGPT · Claude · Gemini

অনুশীলন কীভাবে করবেন
  • নতুন চ্যাট মানে একদম নতুন কথোপকথন, আগের কোনো হিস্ট্রি নেই। ChatGPT, Claude বা Gemini-তে New chat-এ ক্লিক করুন। সাধারণত এটা উপরে বাঁ দিকে থাকে।
  • একই চ্যাট মানে: যে চ্যাট খোলা আছে, সেখানেই লিখতে থাকুন। আগে যা পাঠিয়েছেন, AI তা মনে রাখে।
  • প্রম্পট ব্যবহার করতে: কপি-তে ক্লিক করুন, চ্যাটের মেসেজ বক্সে ক্লিক করুন, পেস্ট করুন (Ctrl+V, বা ফোনে চেপে ধরে রাখুন), তারপর Enter চাপুন।
  • AI-এর উত্তর প্রতিবার একটু আলাদা হয়। আপনার উত্তর উদাহরণের সাথে হুবহু মিলতে হবে না। একই ধারণা আছে কি না, সেটা দেখুন।
  • শুধু বানানো ডেটা ব্যবহার করুন। নিজের বা অন্যের ব্যক্তিগত তথ্য চ্যাটে পেস্ট করবেন না।

টাস্ক ১

এলোমেলো ছবি থেকে JSON বানান

এটা কেন দরকার

আপনি যখন রসিদ বা ফর্ম পড়ার অ্যাপ বানাবেন, ছবি প্রায়ই ঝাপসা হবে। তাই জানা দরকার, AI এগুলো পড়তে পারে, কিন্তু একটা অক্ষর ভুলও আন্দাজ করতে পারে।

  1. ধাপ ১
    নতুন চ্যাট

    একটা রসিদ, সাইনবোর্ড, মেনু বা হাতে লেখা নোটের ছবি তুলুন। চ্যাটে অ্যাটাচ করুন, এই প্রম্পটটা পেস্ট করুন, আর Enter চাপুন।

    প্রম্পট
    সঙ্গে দেওয়া ছবিটা দেখো।
    ধাপ ১: ছবিতে যত লেখা পড়তে পারো, ক্রমানুসারে লেখো।
    ধাপ ২: নিচের key দিয়ে JSON দাও:
    - item_type (যেমন receipt, sign, menu, note)
    - title (মূল শিরোনাম, না থাকলে null)
    - dates (list)
    - numbers (যত সংখ্যা পড়তে পারো, ছবিতে যেভাবে লেখা সেভাবে, list)
    - unclear (যে অংশ ভালো করে পড়তে পারোনি, list)
    আন্দাজ করবে না। কোনো অংশ পড়তে কঠিন হলে সেটা unclear-এ রাখো, অন্য key-তে রেখো না।

    আপনি দেখবেন: AI আগে যা পড়তে পারে সেই লেখা দেয়। তারপর একটা JSON দেয়, যেখানে কী গুলো item_type, title, dates, numbers আর unclear।

  2. ধাপ ২
    নতুন চ্যাট

    আপনার চ্যাটে ছবি আপলোড করা যায় না? ধাপ ১-এর বদলে এটা করুন। এই প্রম্পটটা কপি করে পেস্ট করুন, Enter চাপুন। এই প্রম্পটটা ইংরেজিতে রাখা হয়েছে, কারণ এখানে হুবহু ইংরেজি অক্ষর পড়া হবে।

    প্রম্পট
    Below is the text that came from a blurry photo of a shop receipt. Some characters are wrong.
    
    ---
    RAHIM GR0CERY STOR3
    12 Moy 2O25
    Rice 5kg ....... 4SO
    Oil 1L ......... 18O
    Eggs (12) ...... ??5
    Total .......... 8l5
    ---
    
    Return JSON with these keys:
    - item_type
    - title
    - dates (list)
    - numbers (list of every number, as written)
    - unclear (list of parts you could not read well)
    Do not guess. If a part is hard to read, put it in unclear and do not put it in the other keys.

    আপনি দেখবেন: একটা JSON। item_type হবে receipt। unclear তালিকায় ভাঙা অংশগুলোর নাম থাকবে, যেমন ??৫।

    উদাহরণ উত্তর
    {
      "item_type": "receipt",
      "title": "RAHIM GR0CERY STOR3",
      "dates": ["12 Moy 2O25"],
      "numbers": ["5kg", "4SO", "1L", "18O", "12", "8l5"],
      "unclear": [
        "Shop name: 0 and 3 may be O and E",
        "Date: Moy may be May, 2O25 may be 2025",
        "Rice price 4SO may be 450",
        "Oil price 18O may be 180",
        "Eggs price ??5 has missing digits",
        "Total 8l5 may be 815"
      ]
    }

    আপনার উত্তরের ভাষা একটু আলাদা হবে।

  3. ধাপ ৩
    একই চ্যাট

    প্রতিটা JSON ভ্যালু আপনার ছবির সঙ্গে, বা রসিদের লেখার সঙ্গে মিলিয়ে দেখুন। যেগুলো ভুল, লিখে রাখুন।

    আপনি দেখবেন: বেশিরভাগ ভ্যালু ঠিক থাকবে। একটা-দুটো ভুল হতে পারে, বা AI কোনো ভাঙা অক্ষর না বলেই ঠিক করে দিতে পারে।

  4. ধাপ ৪
    একই চ্যাট

    unclear তালিকাটা পড়ুন। যে অংশ পড়তে কঠিন ছিল, সেটা কি তালিকায় আছে? লিখে রাখুন।

    আপনি দেখবেন: ভালো উত্তরে কঠিন অংশগুলো unclear-এ থাকে, অন্য কী-তে থাকে না। টাইপ করা রসিদের ক্ষেত্রে ডিমের দাম ??৫ তার মধ্যে থাকবে।

এইমাত্র কী হলো

AI আলাদা কোনো টুল ছাড়াই ছবির লেখা পড়তে পারে। এটাকে বলে OCR (ছবির লেখা থেকে টেক্সট বানানো)। আপনি JSON চাইলে একটা প্রোগ্রাম সরাসরি উত্তরটা ব্যবহার করতে পারে। কিন্তু AI একটা খারাপ অক্ষর আন্দাজ করে ভুলও করতে পারে। unclear তালিকা তাকে বলতে বাধ্য করে কোথায় সে নিশ্চিত না, তাই আপনি শুধু সেই অংশগুলো দেখে নিলেই হয়।

কাজ শেষ, যখন আপনার কাছে একটা JSON উত্তর আছে, আর আপনি প্রতিটা ভ্যালু এবং unclear তালিকা মিলিয়ে দেখেছেন।

নিজেকে যাচাই করুনপ্রম্পটে unclear তালিকা আর আন্দাজ করবে না নিয়মটা কেন দিতে হয়?উত্তর দেখুন

AI ঝাপসা অক্ষর ভুল পড়েও নিশ্চিতভাবে বলতে পারে। unclear তালিকা তাকে সন্দেহের কথা জানাতে বাধ্য করে, তাই আপনি বা আপনার প্রোগ্রাম সেই অংশগুলো হাতে মিলিয়ে নিতে পারেন।

আরেকটু কঠিন করে দেখুন

রসিদে মোট ৮১৫, চাল ৪৫০, আর তেল ১৮০। AI-কে ডিমের দাম জিজ্ঞেস করুন। অঙ্কটা মিলিয়ে দেখুন: ৮১৫ − ৪৫০ − ১৮০ = ১৮৫। এই আন্দাজ কি বিশ্বাস করা ঠিক?

টাস্ক ২

অস্পষ্ট আর নির্দিষ্ট প্রশ্নের তফাত দেখুন

এটা কেন দরকার

আপনি যদি স্ক্রিনশট পরীক্ষা করার ফিচার বানান, যেমন QA টিমের জন্য, তাহলে অস্পষ্ট প্রশ্নে ভদ্র কিন্তু কাজে না লাগা উত্তর আসবে। আসল সমস্যা পেতে কীভাবে প্রশ্ন করতে হয়, সেটা জানা দরকার।

  1. ধাপ ১
    নতুন চ্যাট

    যেকোনো অ্যাপ বা ওয়েব পাতার একটা স্ক্রিনশট নিন। অ্যাটাচ করুন, এই প্রশ্নটা পেস্ট করুন, আর Enter চাপুন। উত্তরটা রেখে দিন।

    প্রম্পট
    এই ছবিটা সম্পর্কে তোমার কী মনে হয়?

    আপনি দেখবেন: স্ক্রিনের চেহারা নিয়ে একটা সাধারণ, ভদ্র উত্তর। কোনো পরিষ্কার সমস্যা দেখানো হয় না।

    উদাহরণ উত্তর
    দেখে মনে হচ্ছে এটা একটা সাধারণ checkout পেজ। layout পরিষ্কার, আর সবুজ button সহজে চোখে পড়ে। কিছু লেখা আরেকটু স্পষ্ট হলে ভালো হতো, আর form আরও পরিষ্কার feedback দিতে পারত। মোটের ওপর শুরুটা ভালো, তবে কয়েকটা ছোট উন্নতি দরকার।

    আপনার উত্তরের ভাষা একটু আলাদা হবে।

  2. ধাপ ২
    নতুন চ্যাট

    একই স্ক্রিনশট অ্যাটাচ করুন। এই প্রম্পটটা পেস্ট করে Enter চাপুন।

    প্রম্পট
    এটা একটা app স্ক্রিনের screenshot।
    ১. এক বাক্যে বলো স্ক্রিনটা কীসের জন্য।
    ২. সর্বোচ্চ ৩টা জিনিস লেখো যেগুলো ভুল বা বিভ্রান্তিকর মনে হয়, যেমন কেটে যাওয়া লেখা, কম contrast, বা অস্পষ্ট button। প্রতিটার জন্য বলো স্ক্রিনের কোথায় আছে।
    ৩. এই ছবি দেখে যা বিচার করা যায় না, তার list দাও।
    নির্দিষ্ট করে বলো। design-এর প্রশংসা করবে না।

    আপনি দেখবেন: এক বাক্যে স্ক্রিনের কাজ, স্ক্রিনের কোথায় আছে সেটাসহ সর্বোচ্চ ৩টা সমস্যা, আর AI যা বিচার করতে পারে না তার তালিকা।

  3. ধাপ ৩
    নতুন চ্যাট

    চ্যাটে ছবি আপলোড করা যায় না? ধাপ ১ আর ২-এর বদলে এটা করুন। এই লেখাটা পেস্ট করে Enter চাপুন। উত্তরটা রেখে দিন।

    প্রম্পট
    নিচে একটা screenshot-এর বর্ণনা দিলাম, কারণ আমি ছবিটা upload করতে পারছি না।
    স্ক্রিনটা একটা ফোনের দোকানের checkout পেজ। উপরে "Pay" লেখা title সাদা background-এ হালকা ধূসর রঙে। মাঝখানে "Phone numbr" নামের একটা field-এর border লাল, কিন্তু কোনো message নেই। নিচে পাশাপাশি দুটো button: একটা বড় সবুজ button, লেখা "OK", আর একটা ছোট ধূসর button, লেখা "Cancel"। দাম "BDT 12,4" ডান দিকের কিনারায় কেটে গেছে।
    
    এই স্ক্রিন সম্পর্কে তোমার কী মনে হয়?

    আপনি দেখবেন: উদাহরণের মতো একটা সাধারণ, ভদ্র উত্তর। কাটা পড়া দাম বা না-থাকা মেসেজের কথা বলা হয় না।

    উদাহরণ উত্তর
    দেখে মনে হচ্ছে এটা একটা সাধারণ checkout পেজ। layout পরিষ্কার, আর সবুজ button সহজে চোখে পড়ে। কিছু লেখা আরেকটু স্পষ্ট হলে ভালো হতো, আর form আরও পরিষ্কার feedback দিতে পারত। মোটের ওপর শুরুটা ভালো, তবে কয়েকটা ছোট উন্নতি দরকার।

    আপনার উত্তরের ভাষা একটু আলাদা হবে।

  4. ধাপ ৪
    নতুন চ্যাট

    তবুও ছবি আপলোড করা যায় না? নতুন চ্যাট খুলে এই প্রম্পটটা পেস্ট করুন, আর Enter চাপুন।

    প্রম্পট
    নিচে একটা screenshot-এর বর্ণনা দিলাম, কারণ আমি ছবিটা upload করতে পারছি না।
    স্ক্রিনটা একটা ফোনের দোকানের checkout পেজ। উপরে "Pay" লেখা title সাদা background-এ হালকা ধূসর রঙে। মাঝখানে "Phone numbr" নামের একটা field-এর border লাল, কিন্তু কোনো message নেই। নিচে পাশাপাশি দুটো button: একটা বড় সবুজ button, লেখা "OK", আর একটা ছোট ধূসর button, লেখা "Cancel"। দাম "BDT 12,4" ডান দিকের কিনারায় কেটে গেছে।
    
    ১. এক বাক্যে বলো স্ক্রিনটা কীসের জন্য।
    ২. সর্বোচ্চ ৩টা জিনিস লেখো যেগুলো ভুল বা বিভ্রান্তিকর মনে হয়। প্রতিটার জন্য বলো স্ক্রিনের কোথায় আছে।
    ৩. এই বর্ণনা থেকে যা বিচার করা যায় না, তার list দাও।
    নির্দিষ্ট করে বলো। design-এর প্রশংসা করবে না।

    আপনি দেখবেন: এক বাক্যে স্ক্রিনের কাজ, স্ক্রিনের কোথায় আছে সেটাসহ সর্বোচ্চ ৩টা সমস্যা, আর AI যা বিচার করতে পারে না। যেমন ডান কিনারায় কাটা পড়া দাম।

    উদাহরণ উত্তর
    ১. এটা একটা checkout পেজ, যেখানে ব্যবহারকারী একটা ফোনের দাম দেয়।
    ২. সমস্যা:
    - উপরে: "Pay" title সাদা background-এ হালকা ধূসর, তাই পড়া কঠিন।
    - মাঝখানে: "Phone numbr" field-এর border লাল, কিন্তু কোনো message নেই, আর label-এ বানান ভুল আছে।
    - ডান কিনারায়: দাম "BDT 12,4" কেটে গেছে, তাই পুরো দাম দেখা যায় না।
    ৩. যা বিচার করতে পারছি না: button চাপলে কী হয়, অন্য স্ক্রিনে পেজটা কেমন দেখায়, আর আসল রং।

    আপনার উত্তরের ভাষা একটু আলাদা হবে।

  5. ধাপ ৫
    একই চ্যাট

    দুটো উত্তর পাশাপাশি রাখুন। কোনটা দিয়ে আপনি স্ক্রিন ঠিক করতে পারবেন, আর কেন, লিখে রাখুন।

    আপনি দেখবেন: দ্বিতীয় উত্তরটা। তাতে এমন সমস্যা আছে যেগুলো স্ক্রিনে খুঁজে একটা একটা করে ঠিক করা যায়।

এইমাত্র কী হলো

ছবি নিয়ে প্রশ্নও একটা প্রম্পট। অস্পষ্ট প্রশ্নে AI ছবিটার সাধারণ বর্ণনা দেয়। নির্দিষ্ট প্রশ্নে তার একটা কাজ থাকে: সমস্যা খুঁজুন, কোথায় আছে বলুন, আর কী বিচার করতে পারেন না তাও বলুন। প্রতিটা সমস্যার জায়গা দেওয়া থাকলে আপনি স্ক্রিনশটে উত্তরটা মিলিয়ে দেখতে পারেন।

কাজ শেষ, যখন একই স্ক্রিনের জন্য আপনার কাছে দুটো উত্তর আছে, একটা অস্পষ্ট আর একটা নির্দিষ্ট, আর আপনি জানেন কোনটা বেশি কাজের।

নিজেকে যাচাই করুনছবি একই। তাহলে নির্দিষ্ট প্রম্পট কেন বেশি কাজের উত্তর দেয়?উত্তর দেখুন

AI-এর একটা কাজ, একটা ফরম্যাট, আর কী রিপোর্ট করবে তার একটা সীমা দরকার। অস্পষ্ট প্রশ্নে সে ছবির বর্ণনা দিতে পারে। নির্দিষ্ট প্রশ্নে সে সমস্যা খোঁজে আর বলে কোথায় আছে।

আরেকটু কঠিন করে দেখুন

নির্দিষ্ট প্রম্পটের শেষে যোগ করুন: সমস্যাগুলো JSON-এ দিন, key হবে problem, location আর severity। এখন কি আপনার প্রোগ্রাম এমন উত্তর পায় যা সে পড়তে পারে?

টাস্ক ৩

ভয়েস এজেন্টের ডিলে যোগ করে দেখুন

এটা কেন দরকার

আপনি যখন ফোনে কথা বলা ভয়েস এজেন্ট বানাবেন, কলার চুপচাপ অপেক্ষা করলে ভাববে কল নষ্ট। কোন স্টেজ সবচেয়ে বেশি ডিলে যোগ করছে, সেটা খুঁজে বের করা দরকার।

  1. ধাপ ১
    নতুন চ্যাট

    এই প্রম্পটের ছয়টা ডিলে পড়ুন। মোট কত হবে, আপনার আন্দাজ লিখে রাখুন। তারপর প্রম্পটটা পেস্ট করে Enter চাপুন।

    প্রম্পট
    আমি একটা bank help line-এর জন্য voice agent বানাচ্ছি। design হলো speech-to-text (STT), তারপর একটা LLM, তারপর text-to-speech (TTS)। caller কথা বলা থামানোর পর delay গুলো এরকম:
    - caller যে সত্যিই কথা শেষ করেছে, এটা নিশ্চিত হতে অপেক্ষা: 600 ms
    - STT চূড়ান্ত text বানায়: 400 ms
    - LLM তার প্রথম token পাঠায়: 700 ms
    - LLM পুরো একটা বাক্য শেষ না করা পর্যন্ত system অপেক্ষা করে, তারপর TTS-এ text পাঠায়: 300 ms
    - TTS প্রথম audio বানায়: 350 ms
    - caller পর্যন্ত network: 150 ms
    
    ১. caller প্রথম শব্দ শোনার আগে মোট delay যোগ করে বলো।
    ২. কোন stage সবচেয়ে বড়, আর কোনটা কমানো সবচেয়ে সহজ, নাম বলো।
    ৩. দুটো পরিবর্তনের পরামর্শ দাও। প্রতিটার জন্য বলো কত ms বাঁচতে পারে আর কী ভুল হতে পারে।
    একটা ছোট table ব্যবহার করো।

    আপনি দেখবেন: একটা ছোট টেবিল আর মোট ২,৫০০ ms। সবচেয়ে বড় স্টেজ হলো LLM-এর প্রথম টোকেন (৭০০ ms)। আপনার আন্দাজ কাছাকাছি ছিল কি না দেখুন।

    উদাহরণ উত্তর
    ১. মোট: 600 + 400 + 700 + 300 + 350 + 150 = 2,500 ms (২.৫ সেকেন্ড)।
    ২. সবচেয়ে বড়: LLM-এর প্রথম token (700 ms)। কমানো সবচেয়ে সহজ: পুরো বাক্যের জন্য অপেক্ষা (300 ms)।
    ৩.
    | পরিবর্তন | বাঁচে | কী ভুল হতে পারে |
    | LLM-এর text ছোট ছোট টুকরোয় TTS-এ পাঠাও | প্রায় 300 ms | voice কেটে কেটে শোনাতে পারে |
    | কথা-শেষের অপেক্ষা 400 ms করো | প্রায় 200 ms | caller থামলে agent মাঝখানে কথা বলে ফেলতে পারে |

    আপনার উত্তরের ভাষা একটু আলাদা হবে।

  2. ধাপ ২
    একই চ্যাট

    এই প্রম্পটটা কপি করে পেস্ট করুন, Enter চাপুন। কয়টা স্টেজ চলে যায়, লিখে রাখুন।

    প্রম্পট
    এখন আমার team একটা realtime audio API নিয়ে ভাবছে। audio দুই দিকেই stream হয়, আর model মোট প্রায় 450 ms পরে কথা বলা শুরু করে।
    ১. আমার পুরনো design-এর কোন কোন stage চলে যায়?
    ২. আমি কী কী হারাতে পারি, এমন দুটো জিনিস বলো, যেমন control, logging, বা voice বেছে নেওয়া।
    ৩. bank help line-এর জন্য দুই design-এর মধ্যে বেছে নেওয়ার একটা নিয়ম দাও।
    সর্বোচ্চ ৮ লাইনে উত্তর দাও।

    আপনি দেখবেন: প্রায় ৩টা স্টেজ চলে যায়: আলাদা STT, পুরো বাক্যের জন্য অপেক্ষা, আর আলাদা TTS। AI আরও ২টা জিনিস বলবে যা আপনি হারাতে পারেন, যেমন কন্ট্রোল বা লগিং।

    উদাহরণ উত্তর
    ১. আলাদা STT stage, পুরো বাক্যের জন্য অপেক্ষা, আর আলাদা TTS stage চলে যায়। একটাই model শোনে আর বলে।
    ২. তুমি control হারাও (stage-এর মাঝে text পরীক্ষা করা যায় না)। logging কঠিন হয়, আর voice বেছে নেওয়ার সুযোগ কমে।
    ৩. প্রতিটা call-এর transcript যদি পরীক্ষা করে সংরক্ষণ করতে হয়, pipeline ব্যবহার করো। স্বাভাবিক, দ্রুত কথাবার্তা সবচেয়ে জরুরি হলে realtime ব্যবহার করো।

    আপনার উত্তরের ভাষা একটু আলাদা হবে।

  3. ধাপ ৩
    একই চ্যাট

    ধাপ ১-এর উত্তর থেকে সবচেয়ে কম কাজের পরিবর্তনটা বেছে নিন। সেটা আর একটা কারণসহ লিখে রাখুন।

    আপনি দেখবেন: যেমন: LLM-এর টেক্সট TTS-এ স্ট্রিম করা, কারণ শুধু স্টেজ গুলোর জোড়া লাগানোর উপায় বদলাতে হয়।

এইমাত্র কী হলো

ভয়েস এজেন্টে তিনটা স্টেজ থাকে। STT কথা থেকে টেক্সট বানায়, LLM উত্তর লেখে, আর TTS উত্তরটাকে কথায় বদলায়। প্রতিটা স্টেজ আগের স্টেজের জন্য অপেক্ষা করে, তাই ডিলে গুলো যোগ হয়: এখানে ২,৫০০ ms। রিয়েলটাইম API অডিও দুই দিকেই স্ট্রিম করে, তাই বেশিরভাগ অপেক্ষা চলে যায় (প্রায় ৪৫০ ms, মানে ২,০৫০ ms কম)। বিনিময়ে প্রতিটা স্টেজের ওপর কন্ট্রোল কমে।

কাজ শেষ, যখন আপনার কাছে মোট ডিলে (২,৫০০ ms), সবচেয়ে বড় স্টেজ, আর প্রথমে যে পরিবর্তনটা করবেন সেটা আছে।

নিজেকে যাচাই করুনSTT, LLM আর TTS-এর পাইপলাইন কেন রিয়েলটাইম অডিও API-র চেয়ে ধীর?উত্তর দেখুন

পাইপলাইনে প্রতিটা স্টেজ আগেরটা শেষ হওয়ার জন্য অপেক্ষা করে, তাই ডিলে গুলো যোগ হয়। রিয়েলটাইম API দুই দিকেই অডিও স্ট্রিম করে, তাই বেশিরভাগ অপেক্ষা চলে যায়।

আরেকটু কঠিন করে দেখুন

প্রথম প্রম্পটের একটা সংখ্যা বদলান, যেমন LLM-এর প্রথম টোকেন ১,৫০০ ms করুন। নতুন চ্যাটে পাঠিয়ে জিজ্ঞেস করুন এখন কোন পরিবর্তনে সবচেয়ে বেশি সময় বাঁচে।

টাস্ক ৪

চারটা কাজের জন্য ঠিক ইমেজ টুল বাছুন

এটা কেন দরকার

আপনি যখন ইমেজ ফিচার বানাবেন, যেমন একটা দোকানের পোস্টার, ভুল টুল বেছে নিলে কয়েক দিন নষ্ট হয়। একটা টুল পোজ ধরে রাখে, আরেকটা স্টাইল ধরে রাখে। কোন কাজে কোনটা, সেটা জানা দরকার।

  1. ধাপ ১
    নতুন চ্যাট

    এই প্রম্পটের চারটা কাজ পড়ুন। কাগজে প্রতিটার জন্য আপনার নিজের টুল লিখুন। তারপর প্রম্পটটা পেস্ট করে Enter চাপুন।

    প্রম্পট
    আমি একটা diffusion image pipeline ব্যবহার করি। এই tool গুলো আছে: ControlNet (গঠন, যেমন pose, depth বা edge), LoRA (কোনো style বা character শেখানো একটা ছোট trained add-on), inpainting (mask করা একটা জায়গা edit করা), আর IP-Adapter (একটা reference ছবিকে guide হিসেবে ব্যবহার করা)।
    
    প্রতিটা কাজের জন্য সেরা tool বেছে নাও, একটা কারণ দাও, আর বলো আমার কী input লাগবে।
    কাজ ১: একই কার্টুন মেয়েকে একই আঁকার style-এ রেখে ২০টা poster বানাও।
    কাজ ২: আমার ছবির মানুষটার ঠিক একই pose রেখে ছবিটাকে একটা painting বানাও।
    কাজ ৩: একটা product ছবির শুধু আকাশ বদলাও, product যেমন আছে তেমন রাখো।
    কাজ ৪: একটা reference ছবির রং আর mood নিয়ে একটা নতুন ছবি বানাও, কোনো training ছাড়া।
    দুটো tool কাজ করতে পারলে সেটাও বলো।

    আপনি দেখবেন: প্রতিটা কাজের জন্য একটা করে টুল। বেশিরভাগ চ্যাট কাজ ২-এ ControlNet, কাজ ৩-এ ইনপেইন্টিং, আর কাজ ৪-এ IP-Adapter বাছে। কাজ ১-এ LoRA, হয়তো IP-Adapter-ও।

    উদাহরণ উত্তর
    কাজ ১: LoRA। এটা model-কে মেয়েটা আর style শেখায়, তাই সব poster মিলে যায়। Input: training-এর জন্য মেয়েটার কিছু ছবি। IP-Adapter-ও কাজ করতে পারে।
    কাজ ২: ControlNet। এটা pose ধরে রাখে। Input: তোমার ছবি (তা থেকে বানানো pose map) আর "oil painting"-এর মতো একটা লেখা।
    কাজ ৩: Inpainting। এটা শুধু mask করা জায়গা edit করে। Input: ছবি, আকাশের ওপর একটা mask, আর নতুন আকাশের লেখা।
    কাজ ৪: IP-Adapter। এটা reference-কে guide হিসেবে নেয়। Input: reference ছবি আর একটা লেখা।

    আপনার উত্তরের ভাষা একটু আলাদা হবে।

  2. ধাপ ২
    একই চ্যাট

    উত্তরটা আপনার কাগজের সঙ্গে মেলান। যে কাজে আপনি আর AI আলাদা টুল বেছেছেন, সেগুলো লিখে রাখুন।

    আপনি দেখবেন: আপনার বেশিরভাগ বাছাই AI-এর সঙ্গে মিলবে। যেটা মেলেনি, সেখানে AI-এর কারণ পড়ুন আর ঠিক করুন কে ঠিক।

  3. ধাপ ৩
    একই চ্যাট

    এই প্রম্পটটা কপি করে পেস্ট করুন, Enter চাপুন। দেখুন প্রতিটা নোড আগের নোডের আউটপুট ব্যবহার করছে কি না।

    প্রম্পট
    কাজ ২ নাও, আর pipeline টা ComfyUI-এর মতো node-এর একটা ক্রমিক list হিসেবে লেখো। প্রতিটা node-এর নাম, input আর output লেখো। তারপর দুটো কারণ দাও, কেন একটা team-এর pipeline টা saved graph file হিসেবে version control-এ রাখা উচিত।

    আপনি দেখবেন: ৫ থেকে ৭টা নোডের একটা ক্রমিক তালিকা, ছবি লোড করা থেকে নতুন ছবি সেভ করা পর্যন্ত। প্রতিটা নোডের নাম, ইনপুট আর আউটপুট আছে।

    উদাহরণ উত্তর
    ১. Load Image: in = ছবির file, out = image।
    ২. Pose Detector: in = image, out = pose map।
    ৩. Text Prompt: in = "an oil painting of a person", out = লেখার guide।
    ৪. ControlNet Apply: in = লেখার guide + pose map, out = guided input।
    ৫. Sampler: in = guided input, out = নতুন ছবি।
    ৬. Save Image: in = নতুন ছবি, out = file।
    গ্রাফ file রাখার কারণ: team কোডের মতো পরিবর্তন review করতে পারে, আর পুরনো version-এ ফিরে যেতে পারে।

    আপনার উত্তরের ভাষা একটু আলাদা হবে।

এইমাত্র কী হলো

প্রতিটা টুল আলাদা সমস্যা মেটায়। ControlNet একটা ছবির গঠন ধরে রাখে, যেমন পোজ। LoRA একটা ছোট অ্যাড-অন, যাকে ট্রেন করা হয় মডেলকে কোনো স্টাইল বা ক্যারেক্টার শেখানোর জন্য। ইনপেইন্টিং শুধু মাস্ক করা জায়গা এডিট করে, আর IP-Adapter কোনো ট্রেনিং ছাড়াই একটা রেফারেন্স ছবিকে গাইড হিসেবে নেয়। ComfyUI-তে আপনি এগুলোকে নোড হিসেবে জোড়া দেন, আর পুরো গ্রাফ একটা ফাইল, যেটা টিম কোডের মতো রাখতে পারে।

কাজ শেষ, যখন আপনার কাছে ৪টা কাজের প্রতিটার জন্য একটা টুল আছে, আর কাজ ২-এর একটা নোড তালিকা আছে।

নিজেকে যাচাই করুনControlNet আর LoRA-র মধ্যে তফাত কী?উত্তর দেখুন

ControlNet আপনি প্রতিবার যে ইনপুট দেন, তা থেকে একটা ছবির গঠন ঠিক রাখে, যেমন পোজ বা এজ। LoRA একটা ছোট ট্রেন করা অ্যাড-অন, যা মডেলকে একটা স্টাইল বা ক্যারেক্টার শেখায়, তাই সে অনেক ছবিতে সেটা বারবার আঁকতে পারে।

আরেকটু কঠিন করে দেখুন

কাজ ৫ যোগ করুন: একটা ছবির মানুষকে নতুন ব্যাকগ্রাউন্ডে বসান, কিন্তু মুখ যেন একই থাকে। জিজ্ঞেস করুন কোন কোন টুল লাগবে, আর কোন ক্রমে।

ভিডিও দেখুন · ৬টি

কুইজ

কী শিখলেন যাচাই করুন। ৫টি প্রশ্ন।

১. ছবির লেখা পড়ার ক্ষেত্রে LLM আর Tesseract নিয়ে টপিকটা কী বলে?

২. এই পার্টে ভয়েস পাইপলাইন কোনটা হিসেবে বলা হয়েছে?

৩. রিয়েলটাইম API দুই দিকে অডিও স্ট্রিম করে বলে STT → LLM → TTS লুপ এড়িয়ে যায়।

৪. কোন টুল যেকোনো ওপেন-সোর্স মডেলের জন্য পে-পার-সেকেন্ড API?

৫. ইমেজ ওয়ার্কফ্লোতে ControlNet হলো সেই টুল, যা স্টাইল বা ক্যারেক্টার কনসিসটেন্সি দেয়।

মেলাতে সব প্রশ্নের উত্তর দিন।

তথ্যসূত্র

সোর্স

সব সাইটেশন মূল পেপার (arXiv), ভেন্ডরের ডক্স (OpenAI, Anthropic, Google) বা অফিশিয়াল টিম ব্লগে যায়। প্রতিটি পাতা খুলে সাইটেশনের তথ্য যাচাই করা হয়েছে।

  1. [1]Yao et al., "ReAct: Synergizing Reasoning and Acting in Language Models" (ICLR 2023)
  2. [2]Wei et al., "Plan-and-Execute Agents" / "Chain-of-Thought Prompting Elicits Reasoning in Large Language Models" — NeurIPS 2022
  3. [3]Shinn et al., "Reflexion: Language Agents with Verbal Reinforcement Learning" — NeurIPS 2023
  4. [4]Xu et al., "ReWOO: Decoupling Reasoning from Observations for Efficient Augmented Language Models"
  5. [5]Anthropic Engineering blog — "How we built our multi-agent research system" (2025)
  6. [6]LangGraph — official documentation (LangChain)
  7. [7]Temporal — "Durable Execution for LLM Agents"
  8. [8]Park et al., "Generative Agents: Interactive Simulacra of Human Behavior" — 2023
  9. [9]Anthropic — "Introducing computer use, a new Claude 3.5 Sonnet capability" (Oct 2024)
  10. [10]Anthropic — Tool use / function calling documentation
  11. [11]OpenAI — Function calling guide
  12. [12]Anthropic — Model Context Protocol (MCP) specification
  13. [13]Kwon et al., "Efficient Memory Management for Large Language Model Serving with PagedAttention" — vLLM paper, SOSP 2023
  14. [14]Zheng et al., "SGLang: Efficient Execution of Structured Language Model Programs" — 2023
  15. [15]llama.cpp — open-source GGUF-native inference (ggerganov)
  16. [16]Lin et al., "AWQ: Activation-aware Weight Quantization for LLM Compression and Acceleration" — MLSys 2024
  17. [17]Anthropic — Prompt caching documentation
  18. [18]Zheng et al., "Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena" — NeurIPS 2023
  19. [19]Es et al., "Ragas: Automated Evaluation of Information Retrieval Augmented Language Models" — 2023
  20. [20]Yue et al., "Large Language Model Cascades with Mixture of Thought Representations" — 2024
  21. [21]GPTCache — open-source semantic cache
  22. [22]Guo et al., "DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via RL" — 2025
  23. [23]Jiang et al., "LLMLingua: Compressing Prompts for Accelerated Inference of Large Language Models" — EMNLP 2023
  24. [24]LiteLLM — unified interface for 100+ LLMs
  25. [25]OWASP — "Top 10 for LLM Applications" (LLM01 Prompt Injection, 2025)
  26. [26]Bai et al., "Constitutional AI: Harmlessness from AI Feedback" — Anthropic, 2022
  27. [27]NVIDIA NeMo Guardrails — open-source toolkit
  28. [28]Qwen2-VL Team, "Qwen2-VL: Enhancing Vision-Language Model's Perception of the World at Any Resolution" — 2024
  29. [29]OpenAI — Realtime API documentation
  30. [30]OpenAI — Production best practices guide