LangChain में वीडियो ट्रांसक्रिप्ट
YouTube और TikTok ट्रांसक्रिप्ट को टाइमस्टैम्प के साथ LangChain Documents की तरह लोड करें, या LangChain एजेंट को Transcript Dock के MCP टूल दें।
अपडेट किया गया
छोटा जवाब: दो तरीके हैं। इंडेक्सिंग के लिए एक छोटा लोडर ट्रांसक्रिप्ट को LangChain Document ऑब्जेक्ट में बदल देता है, हर कैप्शन सेगमेंट के लिए एक, उसके शुरुआती समय के साथ। एजेंट के लिए Transcript Dock MCP सर्वर langchain-mcp-adapters के ज़रिए LangChain से जुड़ता है और एजेंट ट्रांसक्रिप्ट खुद ले आता है।
एक डॉक्यूमेंट लोडर#
बीस लाइनें, कोई अतिरिक्त पैकेज नहीं। हर Document में वीडियो का URL और समय रहता है, इसलिए रिट्रीवल के नतीजे उस पल का हवाला दे सकते हैं जहां से वे आए। एम्बेड करने से पहले सेगमेंट को बड़े चंक में जोड़ें, जैसा 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 बोलने वाले दूसरे फ़्रेमवर्क भी इसी तरह जुड़ते हैं।