মূল কনটেন্টে যান
এআই টিউটোরিয়াল

Hermes-এর মাধ্যমে স্টেজ ১ ড্রামা সিরিজের ওয়ার্কফ্লো তৈরি করুন

এই টিউটোরিয়ালে Hermes ড্রামা এজেন্ট আর্কিটেকচার পরিচয় করিয়ে দেওয়া হয়েছে এবং স্টেজ ১-এর ইনটেক, সমৃদ্ধকরণ, কাস্ট-ছবি তৈরি, গ্রহণযোগ্যতার গেট, স্কিমা পরিদর্শন এবং অ্যাসিনক্রোনাস এপিসোড প্রোডাকশনে রূপান্তরের ধাপগুলো দেখানো হয়েছে।

Hermes-এর মাধ্যমে স্টেজ ১ ড্রামা সিরিজের ওয়ার্কফ্লো তৈরি করুন

Hermes কী করে

Hermes হলো একটি ড্রামা-সিরিজ এজেন্ট আর্কিটেকচার, যা গল্প গ্রহণ, সমৃদ্ধকরণ, অ্যাসেট তৈরি, পর্ব নির্মাণ, রানটাইম ইভেন্ট এবং প্রোডাকশন ওয়ার্কফ্লো সংগঠিত করে। এর বর্তমান বাস্তবায়নে Stage 1-এর ইনটেক ও এনরিচমেন্ট, Stage 2-এর JSONL নির্মাণ ও যাচাই, Stage 2 এবং Stage 3-এর রানটাইম আচরণ, ইভেন্ট হ্যান্ডলিং এবং একটি Comfy worker ইন্টিগ্রেশন রয়েছে।

প্রকল্পটি Chat, Assets এবং Job প্যানেলসহ একটি Streamlit host application-এর ওপর ভিত্তি করে তৈরি। একটি conversation একটি series_id-এর সঙ্গে যুক্ত থাকে, আর প্রকল্পটি projects/{slug}/-এ সিরিজের নির্ভরযোগ্য ডেটা সংরক্ষণ করে।

Stage Model বুঝুন

রিপোজিটরিতে S1–S7 আর্কিটেকচার নথিভুক্ত রয়েছে। Stage 1 ইনটেক ও এনরিচমেন্ট পরিচালনা করে: এক লাইনের একটি ধারণা থেকে স্ক্রিপ্ট ও কাস্টের ছবি তৈরি হয়, এবং গ্রহণযোগ্যতার ধাপগুলো স্পষ্টভাবে নির্ধারিত থাকে। Stage 2 অ্যাসিঙ্ক্রোনাস JSONL কাজ তৈরি করে এবং অ্যাসিঙ্ক্রোনাস Comfy প্রসেসিং চালু করে। Stage 3 একটি on_episode_complete হুক ব্যবহার করে রানটাইম স্টেট আপডেট করে, যার মধ্যে দ্বিতীয় পর্ব তৈরি করার সমর্থনও রয়েছে।

Stage 4 থেকে Stage 7 একই Agent v1 scope-এর অংশ। এগুলোর বিস্তারিত আর্কিটেকচার রিপোজিটরির আর্কিটেকচার ডকুমেন্টেশনে রয়েছে, আর চূড়ান্ত বাস্তবায়ন-সিদ্ধান্তগুলো DECISIONS.md-এ নথিভুক্ত করা হয়েছে।

রিপোজিটরি প্রস্তুত করুন

রিপোজিটরির root থেকে শুরু করুন। README-তে প্রকল্প ডিরেক্টরির নাম drama-series-agent দেওয়া আছে, তাই Stage 1-এর কমান্ড চালানোর আগে ওই ডিরেক্টরিতে প্রবেশ করুন।

cd drama-series-agent

README আলাদা কোনো dependency-installation কমান্ড নির্ধারণ করে না। স্ক্রিপ্ট চালানো বা প্যাকেজ ইমপোর্ট করার আগে রিপোজিটরির বিদ্যমান Python environment এবং project setup ব্যবহার করুন।

Stage 1 Intake Script চালান

একটি title থেকে নতুন drama project-এর কাঠামো তৈরি করতে --title option-সহ intake script চালান। নিচের উদাহরণটি README-র সঙ্গে সামঞ্জস্য রেখে একটি চীনা title ব্যবহার করেছে:

python scripts/hermes_drama_intake.py --title 我的短剧

এই কমান্ড Stage 1 intake workflow শুরু করে। এরপর project layout-এ runtime truth, literary content, episode templates, cast data এবং skills-এর জন্য আলাদা অবস্থান পাওয়া যায়।

সিস্টেমে ব্যবহৃত JSON schema দেখতে চালান:

python scripts/hermes_drama_intake.py --dump-schemas

Tool ইন্টিগ্রেশন বা রিপোজিটরির contract অনুযায়ী payload যাচাই করার সময় schema inspection উপকারী।

S1-B Enrichment Flow সম্পন্ন করুন

README handle_tool_call-এর মাধ্যমে S1-B workflow প্রকাশ করে। drama_series_agent.drama.dispatch থেকে dispatcher ইমপোর্ট করুন:

from drama_series_agent.drama.dispatch import handle_tool_call

Project scaffold করার পর নিচের ক্রমে operations চালান:

  1. Intake থেকে literary package তৈরি করতে run_literary_generate।
  2. তৈরি হওয়া literary output স্পষ্টভাবে গ্রহণ করতে accept_literary_package।
  3. Cast table তৈরি করতে extract_cast_table।
  4. Cast images তৈরি করতে run_cast_image_generate।
  5. তৈরি হওয়া cast assets গ্রহণ করতে accept_cast_images।
  6. Audio work স্থগিত রাখা হয়েছে বলে নথিভুক্ত করতে mark_audio_deferred।
  7. সিরিজটি ready_for_s2 কি না পরীক্ষা করতে get_s1_gate_status।

Acceptance steps গুরুত্বপূর্ণ: Stage 1 কেবল generation calls-এর একটি ধারা নয়। Stage 1 gate Stage 2-এর জন্য readiness জানাতে হলে literary package এবং cast images গ্রহণ করতে হবে।

Project Layout-কে নির্দেশিকা হিসেবে ব্যবহার করুন

Hermes বিভিন্ন ধরনের project data পূর্বানুমানযোগ্য mount-এ আলাদা করে:

  • hermes/architecture/-এ S1-B, S2–S3 sequence documentation, S4–S7 scope এবং architectural decisions রয়েছে।
  • hermes/contracts/-এ JSON Schema এবং examples রয়েছে।
  • projects/{slug}/-এ L1 truth সংরক্ষিত হয়, যার মধ্যে series_runtime.json, intake data, handoff data এবং decisions রয়েছে।
  • dramas/{slug}/ হলো literary mount।
  • templates/{slug}/ হলো HostApp episode mount।
  • data/cast/{slug}/-এ cast এবং voice data সংরক্ষিত হয়।
  • skills/drama-intake/-এ Stage 1-A skill রয়েছে।
  • skills/drama-series-develop/-এ outline, worldbuilding, characters এবং visual style-এর মতো project development area রয়েছে।
  • skills/0xsline-short-drama/ runtime-এ literary skill দ্বারা ব্যবহৃত literary skill প্রদান করে।
  • skills/drama-series-h3-r2v-prompts/ H3 Ref2VA wiring প্রদান করে।

প্রধান Python Package সম্পর্কে জানুন

রিপোজিটরি তার Python functionality-কে কয়েকটি focused package-এ ভাগ করেছে:

  • drama_series_agent.intake detection, scaffolding, ingestion এবং handoff পরিচালনা করে।
  • drama_series_agent.drama-তে JobEvent, SeriesRuntime, EventBus, S1-B enrichment, S3 hook এবং Comfy worker রয়েছে।
  • drama_series_agent.adapters.r2v MiniMax H3 R2V episode runner এবং validation প্রদান করে।
  • drama_series_agent.utils.skills_paths skill-এর অবস্থান নির্ধারণ করে।

Workflow সম্প্রসারণের সময় এই package boundary ব্যবহার করুন; intake, runtime এবং adapter logic একটি module-এ রাখবেন না।

Stage 1 থেকে Production-এ যান

get_s1_gate_status যখন ready_for_s2 জানায়, তখন সিরিজটি Stage 2-এর দিকে এগোতে পারে। Stage 2 JSONL work তৈরি ও যাচাই করে এবং অ্যাসিঙ্ক্রোনাসভাবে চালায়। রিপোজিটরি comfy_worker.enqueue_comfy_episode-এর মাধ্যমে Comfy worker-ও সংযুক্ত করে।

স্টেজ ২ এবং পরবর্তী প্রসেসিংয়ে চ্যাটকে সম্পূর্ণ কাজের লগ হিসেবে বিবেচনা না করে রানটাইম ইভেন্টের মাধ্যমে অগ্রগতি জানানো উচিত। লক করা সিদ্ধান্তগুলো নির্দিষ্ট করে যে Chat মাইলস্টোন দেখাবে, আর অ্যাসিঙ্ক্রোনাস কাজ job ও event স্তরগুলো পরিচালনা করবে।

কোনো এপিসোড শেষ হলে, Stage 3-এর on_episode_complete হুক সিরিজের রানটাইম আপডেট করে। এই রানটাইম আপডেট পরবর্তী এপিসোডের প্রবাহকে সহায়তা করে, যার মধ্যে নির্ধারিত “দ্বিতীয় এপিসোড তৈরি” আচরণও রয়েছে।

ব্যবহারিক ইন্টিগ্রেশন পরামর্শ

  • প্রতিটি কথোপকথনকে একটি series_id-এর সঙ্গে যুক্ত রাখুন, যাতে রানটাইমের অবস্থা দ্ব্যর্থহীন থাকে।
  • বাহ্যিক ইন্টিগ্রেশন তৈরির আগে --dump-schemas দিয়ে স্কিমাগুলো পরীক্ষা করুন।
  • সাহিত্যিক আউটপুট ও কাস্ট ইমেজের জন্য নির্ধারিত স্পষ্ট গ্রহণযোগ্যতার ধাপগুলো বজায় রাখুন।
  • রানটাইম, সাহিত্যিক, এপিসোড এবং কাস্ট ডেটার প্রকৃত উৎসের সীমানা হিসেবে প্রজেক্ট মাউন্টগুলো ব্যবহার করুন।
  • Streamlit হোস্ট বা ওয়ার্কফ্লোর সীমানা পরিবর্তনের আগে DECISIONS.md পড়ুন।
  • Job Event বা series_runtime পেলোড তৈরি করার সময় hermes/contracts/-এ নথিভুক্ত কনট্র্যাক্টগুলো ব্যবহার করুন।
  • Stage 2 প্রসেসিংকে অ্যাসিঙ্ক্রোনাস হিসেবে বিবেচনা করুন এবং হোস্ট অ্যাপ্লিকেশনের job ও chat সারফেসের মাধ্যমে মাইলস্টোন দেখান।

উপসংহার

Hermes এক লাইনের নাটকের ধারণা থেকে গৃহীত Stage 1 প্যাকেজ এবং তারপর অ্যাসিঙ্ক্রোনাস এপিসোড উৎপাদন পর্যন্ত একটি কাঠামোবদ্ধ পথ দেয়। ইনটেক স্ক্রিপ্ট দিয়ে শুরু করুন, S1-B জেনারেশন ও গ্রহণযোগ্যতার ধাপগুলো সম্পন্ন করুন, ready_for_s2 গেট যাচাই করুন এবং ওয়ার্কফ্লো নিরাপদে সম্প্রসারণের জন্য নথিভুক্ত কনট্র্যাক্ট ও রানটাইম হুকগুলো ব্যবহার করুন।