LangChain এ ভিডিও ট্রান্সক্রিপ্ট
YouTube ও TikTok ট্রান্সক্রিপ্ট টাইমস্ট্যাম্পসহ LangChain Documents হিসেবে লোড করুন, অথবা একটি LangChain এজেন্টকে Transcript Dock MCP টুল দিন।
আপডেট হয়েছে
সংক্ষিপ্ত উত্তর: দুটি উপায় আছে। ইনডেক্স করার জন্য একটি ছোট লোডার ট্রান্সক্রিপ্টকে LangChain Document অবজেক্টে বদলে দেয়, প্রতিটি ক্যাপশন সেগমেন্টের জন্য একটি, তার শুরুর সময়সহ। এজেন্টের জন্য Transcript Dock MCP সার্ভার langchain-mcp-adapters দিয়ে LangChain এর সাথে যুক্ত হয়, এবং এজেন্ট নিজেই ট্রান্সক্রিপ্ট আনে।
একটি ডকুমেন্ট লোডার#
কুড়ি লাইনের কোড, কোনো অতিরিক্ত প্যাকেজ লাগে না। প্রতিটি Document এ ভিডিওর URL ও সময় থাকে, তাই অনুসন্ধানের ফলাফল বলতে পারে কোন মুহূর্ত থেকে এসেছে। এমবেড করার আগে সেগমেন্টগুলো বড় বড় অংশে (chunk) গুচ্ছবদ্ধ করুন, যেমনটি দেখানো হয়েছে RAG এর জন্য ট্রান্সক্রিপ্ট পাতায়।
# pip install langchain-core requestsimport requestsfrom langchain_core.documents import DocumentAPI = "https://www.transcriptdock.com"H = {"Authorization": "Bearer td_live_YOUR_KEY"}def load_video(url: str, mode: str = "captions_only") -> list[Document]:"""One Document per caption segment, with the video URL and start time as metadata."""job = requests.post(f"{API}/v1/jobs", headers={**H, "Idempotency-Key": f"lc-{url}"[:128]},json={"source": {"url": url}, "mode": mode}).json()while job["status"] not in ("succeeded", "failed", "cancelled"):job = requests.get(f"{API}/v1/jobs/{job['id']}", params={"wait": 25}, headers=H).json()if job["status"] != "succeeded":raise RuntimeError(job["error"]["code"])t = requests.get(f"{API}/v1/transcripts/{job['result_id']}", headers=H).json()meta = {"source": t["source"]["canonical_url"], "title": t["source"]["title"], "language": t["language"]}return [Document(page_content=s["text"], metadata={**meta, "start": s["start"], "end": s["end"]})for s in t["segments"]]docs = load_video("https://www.youtube.com/watch?v=dQw4w9WgXcQ")
MCP এর মাধ্যমে এজেন্ট টুল#
MultiServerMCPClient রিমোট সার্ভারের সাথে সংযুক্ত হয় এবং তার টুলগুলোকে LangChain টুলে বদলে দেয়: get_video_transcript, YouTube খোঁজা, চ্যানেল ও প্লেলিস্টের তালিকা এবং TikTok প্রোফাইলের তালিকা।
# pip install langchain-mcp-adapters langgraph langchain-anthropicimport asynciofrom langchain_mcp_adapters.client import MultiServerMCPClientfrom langgraph.prebuilt import create_react_agentasync def main():client = MultiServerMCPClient({"transcriptdock": {"url": "https://www.transcriptdock.com/mcp","transport": "streamable_http","headers": {"Authorization": "Bearer td_live_YOUR_KEY"},}})tools = await client.get_tools()agent = create_react_agent("anthropic:claude-sonnet-5-5", tools)out = await agent.ainvoke({"messages": "Summarize https://www.youtube.com/watch?v=dQw4w9WgXcQ"})print(out["messages"][-1].content)asyncio.run(main())
টুলের নাম, আর্গুমেন্ট ও ক্রেডিটের খরচ আছে MCP পাতায়। LlamaIndex ও MCP সমর্থন করে এমন অন্যান্য ফ্রেমওয়ার্কও একইভাবে সংযুক্ত হয়।