যে সমস্যার সমাধান করে
কোচ ও শিক্ষকরা প্রতিদিন কমেন্ট আর DM-এ একই প্রশ্নের উত্তর দেন, যদিও সেগুলো ভিডিওতে আগেই বলেছেন। অডিয়েন্স সঠিক ভিডিওটি খুঁজে পায় না, আর ক্রিয়েটর ব্যক্তিগতভাবে উত্তর দেওয়ার কাজ বাড়াতে পারেন না। একটি চ্যানেল চ্যাটবট ক্রিয়েটরের ভঙ্গিতে উত্তর দেয় এবং দর্শকদের মূল কনটেন্টে ফিরিয়ে আনে।
প্রথম ভার্সনে কী কী রাখবেন
- শুধু ক্রিয়েটরের নিজের ভিডিও থেকে নেওয়া উত্তর
- ঠিক ভিডিও ও টাইমস্ট্যাম্পে লিংক করা উদ্ধৃতি
- নতুন ভিডিও প্রকাশ হলে স্বয়ংক্রিয় আপডেট
- প্রশ্নের সীমাসহ একটি ফ্রি টিয়ার এবং সদস্যদের জন্য পেইড টিয়ার
- ক্রিয়েটরের ওয়েবসাইট বা কমিউনিটির জন্য এমবেডযোগ্য উইজেট
ধাপে ধাপে কীভাবে বানাবেন
- 01
চ্যানেল ইনজেস্ট করুন
চ্যানেল বা বাছাই করা প্লেলিস্ট রিজলভ করুন এবং format.paragraphs ও format.timestamp দিয়ে সব ভিডিও ID /batch-এ পাঠান।
- 02
টুকরো ও এমবেড করুন
প্রতিটি অনুচ্ছেদ তার ভিডিও টাইটেল, URL ও শুরুর সময়সহ সংরক্ষণ করুন, এবং একটি ভেক্টর ডেটাবেসে এমবেডিং তৈরি করুন।
- 03
খুঁজে এনে উত্তর দিন
প্রতিটি প্রশ্নের জন্য সবচেয়ে প্রাসঙ্গিক অনুচ্ছেদগুলো আনুন এবং একটি LLM-কে শুধু সেগুলো ব্যবহার করে, ভিডিও ও টাইমস্ট্যাম্প উল্লেখ করে উত্তর দিতে বলুন।
- 04
হালনাগাদ থাকুন
নির্ধারিত সময় পরপর চ্যানেলে নতুন আপলোড চেক করুন এবং শুধু নতুন ট্রান্সক্রিপ্টগুলো ইনডেক্সে যোগ করুন।
স্টার্টার কোড
এই আইডিয়াটি "রেসিপি 3: পুরো প্লেলিস্ট একসাথে নলেজ বেসে লোড করুন" প্যাটার্নের ওপর তৈরি। নিজের চ্যানেল, প্রম্পট ও স্টোরেজ বসিয়ে নিন।
import requests
API = "https://www.youtubetranscript.dev/api/v2"
HEADERS = {"Authorization": "Bearer yt_sk_live_YOUR_KEY"}
playlist = requests.post(f"{API}/playlists/resolve", headers=HEADERS,
json={"playlist_url": "https://www.youtube.com/playlist?list=PLAYLIST_ID",
"limit": 100}).json()
ids = [v["video_id"] for v in playlist["items"]]
batch = requests.post(f"{API}/batch", headers=HEADERS, json={
"video_ids": ids,
"format": {"timestamp": True, "paragraphs": True},
}).json()
# Large batches run async: poll GET /batch/{batch_id} until status is "completed"
for r in batch.get("results", []):
if r["status"] == "completed":
for p in r["data"]["transcript"].get("paragraphs") or []:
store(video_id=r["video_id"], start=p["start"], text=p["text"]) # your vector DBকীভাবে আয় হয়
হোস্ট করা চ্যাটবটের জন্য ক্রিয়েটরের কাছ থেকে মাসিক ফি নিন, অথবা তারা অডিয়েন্সের কাছে যে পেইড টিয়ার বিক্রি করেন তার আয় ভাগ করুন। মেম্বারশিপ কমিউনিটি ও কোর্স বিক্রেতারা এটিকে প্রিমিয়াম সুবিধা হিসেবে যুক্ত করতে পারেন।
যে ভুলগুলো এড়াবেন
- মডেলকে সাধারণ জ্ঞান থেকে উত্তর দিতে দেওয়া: খুঁজে আনা ট্রান্সক্রিপ্ট অংশেই সীমাবদ্ধ রাখুন যাতে তা ক্রিয়েটরের মতো শোনায়।
- নির্দিষ্ট আকারের টুকরো ব্যবহার করা যা বাক্য মাঝখানে কেটে দেয়: অনুচ্ছেদভিত্তিক ভাগ প্রসঙ্গ অক্ষুণ্ণ রাখে।
- ক্রিয়েটরের অনুমোদন ছাড়া লঞ্চ করা: ক্রিয়েটরের সাথে মিলে বানান, কারণ এটি তার কণ্ঠ ও কনটেন্ট।
এই আইডিয়া নিয়ে প্রশ্ন
YouTube চ্যানেলের ওপর কি চ্যাটবট প্রশিক্ষণ দেওয়া যায়?
হ্যাঁ। মডেল প্রশিক্ষণের বদলে আপনি প্রাসঙ্গিক ট্রান্সক্রিপ্ট অংশ খুঁজে আনেন এবং একটি LLM সেগুলো থেকে উত্তর দেয়। একে রিট্রিভাল-অগমেন্টেড জেনারেশন বলে।
চ্যাটবট কীভাবে উৎস উল্লেখ করবে?
প্রতিটি ট্রান্সক্রিপ্ট টুকরোর সাথে ভিডিও URL ও শুরুর সময় সংরক্ষণ করুন এবং মডেলকে প্রতিটি উত্তরে সেগুলো যোগ করতে নির্দেশ দিন।
পুরো একটি চ্যানেল ইনডেক্স করতে খরচ কত?
নেটিভ ক্যাপশনযুক্ত ভিডিওর প্রতিটিতে 1 ক্রেডিট লাগে। 300 ভিডিওর একটি চ্যানেল একবার ইনডেক্স করতে প্রায় 300 ক্রেডিট লাগে, এরপর শুধু নতুন আপলোডের জন্য।