
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-agentREADME আলাদা কোনো 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-schemasTool ইন্টিগ্রেশন বা রিপোজিটরির 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_callProject scaffold করার পর নিচের ক্রমে operations চালান:
- Intake থেকে literary package তৈরি করতে
run_literary_generate। - তৈরি হওয়া literary output স্পষ্টভাবে গ্রহণ করতে
accept_literary_package। - Cast table তৈরি করতে
extract_cast_table। - Cast images তৈরি করতে
run_cast_image_generate। - তৈরি হওয়া cast assets গ্রহণ করতে
accept_cast_images। - Audio work স্থগিত রাখা হয়েছে বলে নথিভুক্ত করতে
mark_audio_deferred। - সিরিজটি
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.intakedetection, scaffolding, ingestion এবং handoff পরিচালনা করে।drama_series_agent.drama-তে JobEvent, SeriesRuntime, EventBus, S1-B enrichment, S3 hook এবং Comfy worker রয়েছে।drama_series_agent.adapters.r2vMiniMax H3 R2V episode runner এবং validation প্রদান করে।drama_series_agent.utils.skills_pathsskill-এর অবস্থান নির্ধারণ করে।
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 গেট যাচাই করুন এবং ওয়ার্কফ্লো নিরাপদে সম্প্রসারণের জন্য নথিভুক্ত কনট্র্যাক্ট ও রানটাইম হুকগুলো ব্যবহার করুন।
