Part ১২
Multimodal Engineering (text-এর বাইরে)
Vision (LLM দিয়ে OCR, document AI), voice (STT/TTS, OpenAI / LiveKit / Vapi-র realtime API), image generation (Flux, SDXL, Imagen, DALL-E; ControlNet, LoRA, ComfyUI), আর video generation (Sora, Veo, Runway, Kling)। প্রতিটি section দুই ভাবে লেখা: engineer-এর জন্য technical version (code আর diagram সহ), আর সাধারণ পাঠকের জন্য সহজ ভাষায় ব্যাখ্যা (উপমা সহ)। প্রতিটি topic-এর শেষে বাংলা ব্যাখ্যাও আছে।
১টি section · ৩০টি source · তিনভাবে ব্যাখ্যা
01
Multimodal engineering: vision, voice আর video
Text ছিল প্রথম modality। 2025 সালে প্রতিটা production AI app vision, voice, image generation আর video generation-এর অন্তত দুটো একসাথে ব্যবহার করে। Multimodal engineering হলো প্রতিটার জন্য model, latency budget আর pipeline বেছে নেওয়ার কাজ।
অনুশীলন · ৪টি task
যেকোনো free AI chat খোলো: ChatGPT · Claude · Gemini
অনুশীলন কীভাবে করবে
- নতুন chat মানে একদম নতুন কথোপকথন, আগের কোনো history নেই। ChatGPT, Claude বা Gemini-তে New chat-এ click করো। সাধারণত এটা উপরে বাঁ দিকে থাকে।
- একই chat মানে: যে chat খোলা আছে, সেখানেই লিখতে থাকো। আগে যা পাঠিয়েছ, AI তা মনে রাখে।
- Prompt ব্যবহার করতে: Copy-তে click করো, chat-এর message box-এ click করো, paste করো (Ctrl+V, বা phone-এ চেপে ধরে রাখো), তারপর Enter চাপো।
- AI-এর উত্তর প্রতিবার একটু আলাদা হয়। তোমার উত্তর example-এর সাথে হুবহু মিলতে হবে না। একই ধারণা আছে কি না, সেটা দেখো।
- শুধু বানানো data ব্যবহার করো। নিজের বা অন্যের ব্যক্তিগত তথ্য chat-এ paste করবে না।
Task ১
এলোমেলো ছবি থেকে JSON বানাও
এটা কেন দরকার
তুমি যখন receipt বা form পড়ার app বানাবে, ছবি প্রায়ই ঝাপসা হবে। তাই জানা দরকার, AI এগুলো পড়তে পারে, কিন্তু একটা অক্ষর ভুলও আন্দাজ করতে পারে।
ধাপ ১
নতুন chatএকটা receipt, sign, menu বা হাতে লেখা নোটের ছবি তোলো। chat-এ attach করো, এই prompt টা paste করো, আর Enter চাপো।
Prompt সঙ্গে দেওয়া ছবিটা দেখো। ধাপ ১: ছবিতে যত লেখা পড়তে পারো, ক্রমানুসারে লেখো। ধাপ ২: নিচের key দিয়ে JSON দাও: - item_type (যেমন receipt, sign, menu, note) - title (মূল শিরোনাম, না থাকলে null) - dates (list) - numbers (যত সংখ্যা পড়তে পারো, ছবিতে যেভাবে লেখা সেভাবে, list) - unclear (যে অংশ ভালো করে পড়তে পারোনি, list) আন্দাজ করবে না। কোনো অংশ পড়তে কঠিন হলে সেটা unclear-এ রাখো, অন্য key-তে রেখো না।
তুমি দেখবে: AI আগে যা পড়তে পারে সেই লেখা দেয়। তারপর একটা JSON দেয়, যেখানে key গুলো
item_type,title,dates,numbersআরunclear।ধাপ ২
নতুন chatতোমার chat-এ ছবি upload করা যায় না? ধাপ ১-এর বদলে এটা করো। এই prompt টা copy করে paste করো, Enter চাপো। এই prompt টা English-এ রাখা হয়েছে, কারণ এখানে exact English অক্ষর পড়া হবে।
Prompt 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।unclearlist-এ ভাঙা অংশগুলোর নাম থাকবে, যেমন ??5।Example উত্তর
{ "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" ] }তোমার উত্তরের ভাষা একটু আলাদা হবে।
ধাপ ৩
একই chatপ্রতিটা JSON value তোমার ছবির সঙ্গে, বা receipt-এর লেখার সঙ্গে মিলিয়ে দেখো। যেগুলো ভুল, লিখে রাখো।
তুমি দেখবে: বেশিরভাগ value ঠিক থাকবে। একটা-দুটো ভুল হতে পারে, বা AI কোনো ভাঙা অক্ষর না বলেই ঠিক করে দিতে পারে।
ধাপ ৪
একই chatunclearlist টা পড়ো। যে অংশ পড়তে কঠিন ছিল, সেটা কি list-এ আছে? লিখে রাখো।তুমি দেখবে: ভালো উত্তরে কঠিন অংশগুলো
unclear-এ থাকে, অন্য key-তে থাকে না। typed receipt-এর ক্ষেত্রে ডিমের দাম ??5 তার মধ্যে থাকবে।
এইমাত্র কী হলো
AI আলাদা কোনো tool ছাড়াই ছবির লেখা পড়তে পারে। এটাকে বলে OCR (ছবির লেখা থেকে text বানানো)। তুমি JSON চাইলে একটা program সরাসরি উত্তরটা ব্যবহার করতে পারে। কিন্তু AI একটা খারাপ অক্ষর আন্দাজ করে ভুলও করতে পারে। unclear list তাকে বলতে বাধ্য করে কোথায় সে নিশ্চিত না, তাই তুমি শুধু সেই অংশগুলো দেখে নিলেই হয়।
কাজ শেষ, যখন তোমার কাছে একটা JSON উত্তর আছে, আর তুমি প্রতিটা value এবং unclear list মিলিয়ে দেখেছ।
নিজেকে যাচাই করোprompt-এ unclear list আর আন্দাজ করবে না নিয়মটা কেন দিতে হয়?উত্তর দেখো
AI ঝাপসা অক্ষর ভুল পড়েও নিশ্চিতভাবে বলতে পারে। unclear list তাকে সন্দেহের কথা জানাতে বাধ্য করে, তাই তুমি বা তোমার program সেই অংশগুলো হাতে মিলিয়ে নিতে পারো।
Task ২
অস্পষ্ট আর নির্দিষ্ট প্রশ্নের তফাত দেখো
এটা কেন দরকার
তুমি যদি screenshot পরীক্ষা করার feature বানাও, যেমন QA team-এর জন্য, তাহলে অস্পষ্ট প্রশ্নে ভদ্র কিন্তু কাজে না লাগা উত্তর আসবে। আসল সমস্যা পেতে কীভাবে প্রশ্ন করতে হয়, সেটা জানা দরকার।
ধাপ ১
নতুন chatযেকোনো app বা web পেজের একটা screenshot নাও। attach করো, এই প্রশ্নটা paste করো, আর Enter চাপো। উত্তরটা রেখে দাও।
Prompt এই ছবিটা সম্পর্কে তোমার কী মনে হয়?
তুমি দেখবে: স্ক্রিনের চেহারা নিয়ে একটা সাধারণ, ভদ্র উত্তর। কোনো পরিষ্কার সমস্যা দেখানো হয় না।
Example উত্তর
দেখে মনে হচ্ছে এটা একটা সাধারণ checkout পেজ। layout পরিষ্কার, আর সবুজ button সহজে চোখে পড়ে। কিছু লেখা আরেকটু স্পষ্ট হলে ভালো হতো, আর form আরও পরিষ্কার feedback দিতে পারত। মোটের ওপর শুরুটা ভালো, তবে কয়েকটা ছোট উন্নতি দরকার।
তোমার উত্তরের ভাষা একটু আলাদা হবে।
ধাপ ২
নতুন chatএকই screenshot attach করো। এই prompt টা paste করে Enter চাপো।
Prompt এটা একটা app স্ক্রিনের screenshot। ১. এক বাক্যে বলো স্ক্রিনটা কীসের জন্য। ২. সর্বোচ্চ ৩টা জিনিস লেখো যেগুলো ভুল বা বিভ্রান্তিকর মনে হয়, যেমন কেটে যাওয়া লেখা, কম contrast, বা অস্পষ্ট button। প্রতিটার জন্য বলো স্ক্রিনের কোথায় আছে। ৩. এই ছবি দেখে যা বিচার করা যায় না, তার list দাও। নির্দিষ্ট করে বলো। design-এর প্রশংসা করবে না।
তুমি দেখবে: এক বাক্যে স্ক্রিনের কাজ, স্ক্রিনের কোথায় আছে সেটাসহ সর্বোচ্চ ৩টা সমস্যা, আর AI যা বিচার করতে পারে না তার list।
ধাপ ৩
নতুন chatchat-এ ছবি upload করা যায় না? ধাপ ১ আর ২-এর বদলে এটা করো। এই লেখাটা paste করে Enter চাপো। উত্তরটা রেখে দাও।
Prompt নিচে একটা screenshot-এর বর্ণনা দিলাম, কারণ আমি ছবিটা upload করতে পারছি না। স্ক্রিনটা একটা ফোনের দোকানের checkout পেজ। উপরে "Pay" লেখা title সাদা background-এ হালকা ধূসর রঙে। মাঝখানে "Phone numbr" নামের একটা field-এর border লাল, কিন্তু কোনো message নেই। নিচে পাশাপাশি দুটো button: একটা বড় সবুজ button, লেখা "OK", আর একটা ছোট ধূসর button, লেখা "Cancel"। দাম "BDT 12,4" ডান দিকের কিনারায় কেটে গেছে। এই স্ক্রিন সম্পর্কে তোমার কী মনে হয়?
তুমি দেখবে: উদাহরণের মতো একটা সাধারণ, ভদ্র উত্তর। কেটে যাওয়া দাম বা না-থাকা message-এর কথা বলা হয় না।
Example উত্তর
দেখে মনে হচ্ছে এটা একটা সাধারণ checkout পেজ। layout পরিষ্কার, আর সবুজ button সহজে চোখে পড়ে। কিছু লেখা আরেকটু স্পষ্ট হলে ভালো হতো, আর form আরও পরিষ্কার feedback দিতে পারত। মোটের ওপর শুরুটা ভালো, তবে কয়েকটা ছোট উন্নতি দরকার।
তোমার উত্তরের ভাষা একটু আলাদা হবে।
ধাপ ৪
নতুন chatতবুও ছবি upload করা যায় না? নতুন chat খুলে এই prompt টা paste করো, আর Enter চাপো।
Prompt নিচে একটা screenshot-এর বর্ণনা দিলাম, কারণ আমি ছবিটা upload করতে পারছি না। স্ক্রিনটা একটা ফোনের দোকানের checkout পেজ। উপরে "Pay" লেখা title সাদা background-এ হালকা ধূসর রঙে। মাঝখানে "Phone numbr" নামের একটা field-এর border লাল, কিন্তু কোনো message নেই। নিচে পাশাপাশি দুটো button: একটা বড় সবুজ button, লেখা "OK", আর একটা ছোট ধূসর button, লেখা "Cancel"। দাম "BDT 12,4" ডান দিকের কিনারায় কেটে গেছে। ১. এক বাক্যে বলো স্ক্রিনটা কীসের জন্য। ২. সর্বোচ্চ ৩টা জিনিস লেখো যেগুলো ভুল বা বিভ্রান্তিকর মনে হয়। প্রতিটার জন্য বলো স্ক্রিনের কোথায় আছে। ৩. এই বর্ণনা থেকে যা বিচার করা যায় না, তার list দাও। নির্দিষ্ট করে বলো। design-এর প্রশংসা করবে না।
তুমি দেখবে: এক বাক্যে স্ক্রিনের কাজ, স্ক্রিনের কোথায় আছে সেটাসহ সর্বোচ্চ ৩টা সমস্যা, আর AI যা বিচার করতে পারে না। যেমন ডান কিনারায় কেটে যাওয়া দাম।
Example উত্তর
১. এটা একটা checkout পেজ, যেখানে ব্যবহারকারী একটা ফোনের দাম দেয়। ২. সমস্যা: - উপরে: "Pay" title সাদা background-এ হালকা ধূসর, তাই পড়া কঠিন। - মাঝখানে: "Phone numbr" field-এর border লাল, কিন্তু কোনো message নেই, আর label-এ বানান ভুল আছে। - ডান কিনারায়: দাম "BDT 12,4" কেটে গেছে, তাই পুরো দাম দেখা যায় না। ৩. যা বিচার করতে পারছি না: button চাপলে কী হয়, অন্য স্ক্রিনে পেজটা কেমন দেখায়, আর আসল রং।
তোমার উত্তরের ভাষা একটু আলাদা হবে।
ধাপ ৫
একই chatদুটো উত্তর পাশাপাশি রাখো। কোনটা দিয়ে তুমি স্ক্রিন ঠিক করতে পারবে, আর কেন, লিখে রাখো।
তুমি দেখবে: দ্বিতীয় উত্তরটা। তাতে এমন সমস্যা আছে যেগুলো স্ক্রিনে খুঁজে একটা একটা করে ঠিক করা যায়।
এইমাত্র কী হলো
ছবি নিয়ে প্রশ্নও একটা prompt। অস্পষ্ট প্রশ্নে AI ছবিটার সাধারণ বর্ণনা দেয়। নির্দিষ্ট প্রশ্নে তার একটা কাজ থাকে: সমস্যা খোঁজো, কোথায় আছে বলো, আর কী বিচার করতে পারো না তাও বলো। প্রতিটা সমস্যার জায়গা দেওয়া থাকলে তুমি screenshot-এ উত্তরটা মিলিয়ে দেখতে পারো।
কাজ শেষ, যখন একই স্ক্রিনের জন্য তোমার কাছে দুটো উত্তর আছে, একটা অস্পষ্ট আর একটা নির্দিষ্ট, আর তুমি জানো কোনটা বেশি কাজের।
নিজেকে যাচাই করোছবি একই। তাহলে নির্দিষ্ট prompt কেন বেশি কাজের উত্তর দেয়?উত্তর দেখো
AI-এর একটা কাজ, একটা format, আর কী report করবে তার একটা সীমা দরকার। অস্পষ্ট প্রশ্নে সে ছবির বর্ণনা দিতে পারে। নির্দিষ্ট প্রশ্নে সে সমস্যা খোঁজে আর বলে কোথায় আছে।
Task ৩
voice agent-এর delay যোগ করে দেখো
এটা কেন দরকার
তুমি যখন ফোনে কথা বলা voice agent বানাবে, caller চুপচাপ অপেক্ষা করলে ভাববে call নষ্ট। কোন stage সবচেয়ে বেশি delay যোগ করছে, সেটা খুঁজে বের করা দরকার।
ধাপ ১
নতুন chatএই prompt-এর ছয়টা delay পড়ো। মোট কত হবে, তোমার আন্দাজ লিখে রাখো। তারপর prompt টা paste করে Enter চাপো।
Prompt আমি একটা 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 ব্যবহার করো।
তুমি দেখবে: একটা ছোট table আর মোট 2,500 ms। সবচেয়ে বড় stage হলো LLM-এর প্রথম token (700 ms)। তোমার আন্দাজ কাছাকাছি ছিল কি না দেখো।
Example উত্তর
১. মোট: 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 মাঝখানে কথা বলে ফেলতে পারে |
তোমার উত্তরের ভাষা একটু আলাদা হবে।
ধাপ ২
একই chatএই prompt টা copy করে paste করো, Enter চাপো। কয়টা stage চলে যায়, লিখে রাখো।
Prompt এখন আমার team একটা realtime audio API নিয়ে ভাবছে। audio দুই দিকেই stream হয়, আর model মোট প্রায় 450 ms পরে কথা বলা শুরু করে। ১. আমার পুরনো design-এর কোন কোন stage চলে যায়? ২. আমি কী কী হারাতে পারি, এমন দুটো জিনিস বলো, যেমন control, logging, বা voice বেছে নেওয়া। ৩. bank help line-এর জন্য দুই design-এর মধ্যে বেছে নেওয়ার একটা নিয়ম দাও। সর্বোচ্চ ৮ লাইনে উত্তর দাও।
তুমি দেখবে: প্রায় ৩টা stage চলে যায়: আলাদা STT, পুরো বাক্যের জন্য অপেক্ষা, আর আলাদা TTS। AI আরও ২টা জিনিস বলবে যা তুমি হারাতে পারো, যেমন control বা logging।
Example উত্তর
১. আলাদা STT stage, পুরো বাক্যের জন্য অপেক্ষা, আর আলাদা TTS stage চলে যায়। একটাই model শোনে আর বলে। ২. তুমি control হারাও (stage-এর মাঝে text পরীক্ষা করা যায় না)। logging কঠিন হয়, আর voice বেছে নেওয়ার সুযোগ কমে। ৩. প্রতিটা call-এর transcript যদি পরীক্ষা করে সংরক্ষণ করতে হয়, pipeline ব্যবহার করো। স্বাভাবিক, দ্রুত কথাবার্তা সবচেয়ে জরুরি হলে realtime ব্যবহার করো।
তোমার উত্তরের ভাষা একটু আলাদা হবে।
ধাপ ৩
একই chatধাপ ১-এর উত্তর থেকে সবচেয়ে কম কাজের পরিবর্তনটা বেছে নাও। সেটা আর একটা কারণসহ লিখে রাখো।
তুমি দেখবে: যেমন: LLM-এর text TTS-এ stream করা, কারণ শুধু stage গুলোর জোড়া লাগানোর উপায় বদলাতে হয়।
এইমাত্র কী হলো
voice agent-এ তিনটা stage থাকে। STT কথা থেকে text বানায়, LLM উত্তর লেখে, আর TTS উত্তরটাকে কথায় বদলায়। প্রতিটা stage আগের stage-এর জন্য অপেক্ষা করে, তাই delay গুলো যোগ হয়: এখানে 2,500 ms। realtime API audio দুই দিকেই stream করে, তাই বেশিরভাগ অপেক্ষা চলে যায় (প্রায় 450 ms, মানে 2,050 ms কম)। বিনিময়ে প্রতিটা stage-এর ওপর control কমে।
কাজ শেষ, যখন তোমার কাছে মোট delay (2,500 ms), সবচেয়ে বড় stage, আর প্রথমে যে পরিবর্তনটা করবে সেটা আছে।
নিজেকে যাচাই করোSTT, LLM আর TTS-এর pipeline কেন realtime audio API-র চেয়ে ধীর?উত্তর দেখো
pipeline-এ প্রতিটা stage আগেরটা শেষ হওয়ার জন্য অপেক্ষা করে, তাই delay গুলো যোগ হয়। realtime API দুই দিকেই audio stream করে, তাই বেশিরভাগ অপেক্ষা চলে যায়।
Task ৪
চারটা কাজের জন্য ঠিক image tool বাছো
এটা কেন দরকার
তুমি যখন image feature বানাবে, যেমন একটা দোকানের poster, ভুল tool বেছে নিলে কয়েক দিন নষ্ট হয়। একটা tool pose ধরে রাখে, আরেকটা style ধরে রাখে। কোন কাজে কোনটা, সেটা জানা দরকার।
ধাপ ১
নতুন chatএই prompt-এর চারটা কাজ পড়ো। কাগজে প্রতিটার জন্য তোমার নিজের tool লেখো। তারপর prompt টা paste করে Enter চাপো।
Prompt আমি একটা 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 কাজ করতে পারলে সেটাও বলো।
তুমি দেখবে: প্রতিটা কাজের জন্য একটা করে tool। বেশিরভাগ chat কাজ ২-এ ControlNet, কাজ ৩-এ inpainting, আর কাজ ৪-এ IP-Adapter বাছে। কাজ ১-এ LoRA, হয়তো IP-Adapter-ও।
Example উত্তর
কাজ ১: 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 ছবি আর একটা লেখা।
তোমার উত্তরের ভাষা একটু আলাদা হবে।
ধাপ ২
একই chatউত্তরটা তোমার কাগজের সঙ্গে মেলাও। যে কাজে তুমি আর AI আলাদা tool বেছেছ, সেগুলো লিখে রাখো।
তুমি দেখবে: তোমার বেশিরভাগ বাছাই AI-এর সঙ্গে মিলবে। যেটা মেলেনি, সেখানে AI-এর কারণ পড়ো আর ঠিক করো কে ঠিক।
ধাপ ৩
একই chatএই prompt টা copy করে paste করো, Enter চাপো। দেখো প্রতিটা node আগের node-এর output ব্যবহার করছে কি না।
Prompt কাজ ২ নাও, আর pipeline টা ComfyUI-এর মতো node-এর একটা ক্রমিক list হিসেবে লেখো। প্রতিটা node-এর নাম, input আর output লেখো। তারপর দুটো কারণ দাও, কেন একটা team-এর pipeline টা saved graph file হিসেবে version control-এ রাখা উচিত।
তুমি দেখবে: ৫ থেকে ৭টা node-এর একটা ক্রমিক list, ছবি load করা থেকে নতুন ছবি save করা পর্যন্ত। প্রতিটা node-এর নাম, input আর output আছে।
Example উত্তর
১. 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-এ ফিরে যেতে পারে।
তোমার উত্তরের ভাষা একটু আলাদা হবে।
এইমাত্র কী হলো
প্রতিটা tool আলাদা সমস্যা মেটায়। ControlNet একটা ছবির গঠন ধরে রাখে, যেমন pose। LoRA একটা ছোট add-on, যাকে train করা হয় model-কে কোনো style বা character শেখানোর জন্য। Inpainting শুধু mask করা জায়গা edit করে, আর IP-Adapter কোনো training ছাড়াই একটা reference ছবিকে guide হিসেবে নেয়। ComfyUI-তে তুমি এগুলোকে node হিসেবে জোড়া দাও, আর পুরো graph একটা file, যেটা team কোডের মতো রাখতে পারে।
কাজ শেষ, যখন তোমার কাছে ৪টা কাজের প্রতিটার জন্য একটা tool আছে, আর কাজ ২-এর একটা node list আছে।
নিজেকে যাচাই করোControlNet আর LoRA-র মধ্যে তফাত কী?উত্তর দেখো
ControlNet তুমি প্রতিবার যে input দাও, তা থেকে একটা ছবির গঠন ঠিক রাখে, যেমন pose বা edge। LoRA একটা ছোট trained add-on, যা model-কে একটা style বা character শেখায়, তাই সে অনেক ছবিতে সেটা বারবার আঁকতে পারে।
ভিডিও দেখো · ৬টি
Qwen2-VL: The Best Open Source Vision Model for OCR & VQA AI Anytime
AI Dev 25 | Justin Uberti: Introduction to the OpenAI Realtime API DeepLearningAI
Build a Real-Time Voice Agent with LiveKit + Speechmatics (Step-by-Step) Speechmatics
How AI Image Generators Work (Stable Diffusion / Dall-E) - Computerphile Computerphile
How does OpenAI's Sora work? Jia-Bin Huang
ComfyUI Tutorial: How to Build and Experiment with AI pipelines – No Coding Needed Super Data Science
তথ্যসূত্র
Sources
সব citation মূল paper (arXiv), vendor-এর docs (OpenAI, Anthropic, Google) বা official team blog-এ যায়। প্রতিটি পাতা খুলে citation-এর তথ্য যাচাই করা হয়েছে।
- [1]Yao et al., "ReAct: Synergizing Reasoning and Acting in Language Models" (ICLR 2023)
- [2]Wei et al., "Plan-and-Execute Agents" / "Chain-of-Thought Prompting Elicits Reasoning in Large Language Models" — NeurIPS 2022
- [3]Shinn et al., "Reflexion: Language Agents with Verbal Reinforcement Learning" — NeurIPS 2023
- [4]Xu et al., "ReWOO: Decoupling Reasoning from Observations for Efficient Augmented Language Models"
- [5]Anthropic Engineering blog — "How we built our multi-agent research system" (2025)
- [6]LangGraph — official documentation (LangChain)
- [7]Temporal — "Durable Execution for LLM Agents"
- [8]Park et al., "Generative Agents: Interactive Simulacra of Human Behavior" — 2023
- [9]Anthropic — "Introducing computer use, a new Claude 3.5 Sonnet capability" (Oct 2024)
- [10]Anthropic — Tool use / function calling documentation
- [11]OpenAI — Function calling guide
- [12]Anthropic — Model Context Protocol (MCP) specification
- [13]Kwon et al., "Efficient Memory Management for Large Language Model Serving with PagedAttention" — vLLM paper, SOSP 2023
- [14]Zheng et al., "SGLang: Efficient Execution of Structured Language Model Programs" — 2023
- [15]llama.cpp — open-source GGUF-native inference (ggerganov)
- [16]Lin et al., "AWQ: Activation-aware Weight Quantization for LLM Compression and Acceleration" — MLSys 2024
- [17]Anthropic — Prompt caching documentation
- [18]Zheng et al., "Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena" — NeurIPS 2023
- [19]Es et al., "Ragas: Automated Evaluation of Information Retrieval Augmented Language Models" — 2023
- [20]Yue et al., "Large Language Model Cascades with Mixture of Thought Representations" — 2024
- [21]GPTCache — open-source semantic cache
- [22]Guo et al., "DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via RL" — 2025
- [23]Jiang et al., "LLMLingua: Compressing Prompts for Accelerated Inference of Large Language Models" — EMNLP 2023
- [24]LiteLLM — unified interface for 100+ LLMs
- [25]OWASP — "Top 10 for LLM Applications" (LLM01 Prompt Injection, 2025)
- [26]Bai et al., "Constitutional AI: Harmlessness from AI Feedback" — Anthropic, 2022
- [27]NVIDIA NeMo Guardrails — open-source toolkit
- [28]Qwen2-VL Team, "Qwen2-VL: Enhancing Vision-Language Model's Perception of the World at Any Resolution" — 2024
- [29]OpenAI — Realtime API documentation
- [30]OpenAI — Production best practices guide