પગલું-દર-પગલું: Claude Code સાથે YouTube રિસર્ચ એજન્ટ બનાવવો
જો તમે ક્યારેય YouTube પર આખો દિવસ વિતાવ્યો હોય, અને કયા વિડિયો સાચવવા જેવા છે તે ભૂલી ગયા હો, તો તમે એકલા નથી. હવે એક એવા થાક્યા વગરના મદદનીશની કલ્પના કરો જે શ્રેષ્ઠ વિડિયો શોધી શકે, સારાંશ કાઢી શકે, મુખ્ય અવતરણો ખેંચી શકે, સમય સાથેની સમજણ આપી શકે અને માંગ પર સ્ત્રોતો પરત કરી શકે—ઝડપથી. YouTube રિસર્ચ એજન્ટ બરાબર એ જ કરી શકે છે. આ પગલું-દર-પગલાં માર્ગદર્શિકામાં, અમે Claude Code સાથે એક વ્યવહારુ YouTube રિસર્ચ એજન્ટ બનાવીશું, જે સર્જકો, વિશ્લેષકો, વિદ્યાર્થીઓ અને ઘોંઘાટ પર સંકેત ઇચ્છતા શીખનારાઓ માટે રચાયેલ છે.
અમે વ્યવહારુ અને સીધો માર્ગ અપનાવીશું: આર્કિટેક્ચર, કોડ, પ્રોમ્પ્ટ્સ અને ગાર્ડ્રેલ્સ. આ દરમિયાન, અમે એવા અભિપ્રાયપૂર્ણ વિકલ્પો બનાવીશું જેને તમે પછીથી બદલી શકો છો. અંત સુધીમાં, તમારી પાસે એક કાર્યરત એજન્ટ હશે જે YouTube શોધી શકે છે, ટ્રાંસ્ક્રિપ્ટ્સ એકત્રિત કરી શકે છે, બહુવિધ વિડિયોઝ પર તર્ક કરી શકે છે અને સ્વચ્છ રિસર્ચ બ્રીફ્સ બનાવી શકે છે.
અમે શું બનાવી રહ્યા છીએ (અને તે શા માટે મહત્વનું છે)
- ધ્યેય: YouTube રિસર્ચ એજન્ટ જે આ કરી શકે છે:
- ક્વેરી દ્વારા YouTube શોધો
- પ્રાસંગિકતા/સંલગ્નતા દ્વારા પરિણામોને ક્રમ આપો
- ટ્રાંસ્ક્રિપ્ટ્સ મેળવો (ઓટો-કેપ્શન્સ અથવા થર્ડ-પાર્ટી)
- પુનઃપ્રાપ્તિ માટે સામગ્રીને ચંક અને એમ્બેડ કરો
- બહુ-વિડિયો આંતરદૃષ્ટિને સંશ્લેષણ કરવા માટે Claude Codeનો ઉપયોગ કરો
- માળખાગત નોંધો આઉટપુટ કરો: સારાંશ, દાવાઓ, ટાઇમસ્ટેમ્પ્સ, અવતરણો અને સંદર્ભો
- પ્રાથમિક કીવર્ડ: "Claude Code સાથે YouTube રિસર્ચ એજન્ટ બનાવવો"
- ફોર્મેટ: રન કરી શકાય તેવા કોડ અને પ્રોમ્પ્ટ્સ સાથે સ્ટેપ-બાય-સ્ટેપ ટ્યુટોરીયલ
- આઉટપુટ્સ: પ્રોગ્રામેટિક ઉપયોગ માટે Markdown રિસર્ચ બ્રીફ + JSON
શા માટે તે મહત્વનું છે: YouTube એ વાતો, પાઠો, ડેમો અને ચર્ચાઓનો સૌથી મોટો જાહેર જ્ઞાન આધાર છે. પરંતુ તે ઘોંઘાટીયું છે. Claude Code સાથે YouTube રિસર્ચ એજન્ટ બનાવવાથી તમને એક ધાર મળે છે: તમે કલાકોને બદલે મિનિટોમાં ડઝનેક વિડિયોઝમાં આંતરદૃષ્ટિ એકત્રિત કરી શકો છો.
એક નજરમાં આર્કિટેક્ચર
અમે પ્રથમ સંસ્કરણને સરળ અને મજબૂત રાખીશું.
- ઇનપુટ્સ: રિસર્ચ ક્વેરી (દા.ત., "LLM agent architectures 2025"), વૈકલ્પિક અવરોધો (તારીખ શ્રેણી, ચેનલ, અવધિ)
- YouTube શોધ: YouTube Data API v3 (અથવા SerpAPI ફોલબેક)
- ટ્રાંસ્ક્રિપ્ટ્સ: YouTube Transcript API; જ્યારે ઉપલબ્ધ ન હોય ત્યારે ASR (દા.ત., Whisper) પર ફોલબેક
- ચંકિંગ: વાક્ય-સભાન સેગ્મેન્ટેશન (આશરે 800–1,200 ટોકન્સ)
- એમ્બેડિંગ્સ: સ્થાનિક અથવા હોસ્ટ કરેલ એમ્બેડિંગ મોડેલનો ઉપયોગ કરો (દા.ત.,
text-embedding-3-large, nomic-embed-text, અથવા bge-large)
- વેક્ટર સ્ટોર: ઝડપ માટે લોકલ
FAISS; Pinecone, Weaviate, અથવા Qdrant માં બદલી શકો છો
- તર્ક: નિયંત્રિત લૂપની અંદર ઓર્કેસ્ટ્રેશન, ટૂલ ઉપયોગ, સંશ્લેષણ અને કોડ એક્ઝિક્યુશન માટે Claude Code
- આઉટપુટ્સ: સંદર્ભો, ટાઇમસ્ટેમ્પ્સ અને સ્કોર્સ સાથે Markdown રિપોર્ટ + JSON ઇન્ડેક્સ
ડેટા ફ્લો: ક્વેરી → શોધ → મેટાડેટા મેળવો → ટ્રાંસ્ક્રિપ્ટ → ચંક → એમ્બેડ → ટોચના‑K પુનઃપ્રાપ્ત કરો → Claude Code સંશ્લેષણ → રિપોર્ટ.
પૂર્વજરૂરીયાતો અને સેટઅપ
- API કી:
YOUTUBE_API_KEY, ANTHROPIC_API_KEY (Claude Code માટે)
- વૈકલ્પિક:
OPENAI_API_KEY અથવા સ્થાનિક એમ્બેડિંગ્સ
google-api-python-client, youtube-transcript-api
faiss-cpu, numpy, pandas, tiktoken (અથવા sentencepiece)
requests, pydantic, tenacity
pip install google-api-python-client youtube-transcript-api faiss-cpu numpy pandas requests pydantic tenacity anthropic tiktoken
એન્વાયર્નમેન્ટ વેરીએબલ્સ:
export YOUTUBE_API_KEY=YOUR_YT_KEY
export ANTHROPIC_API_KEY=YOUR_ANTHROPIC_KEY
પગલું 1: ફિલ્ટર્સ સાથે YouTube શોધ
અમે YouTube શોધીશું અને માળખાગત મેટાડેટા પરત કરીશું: શીર્ષક, ચેનલ, પ્રકાશન તારીખ, અવધિ, જોવાયા (જો ઉપલબ્ધ હોય તો), અને videoId.
# file: yt_search.py
from googleapiclient.discovery import build
import os
YOUTUBE_API_KEY = os.environ — channel, date\n\n"
"---\n"
"JSON schema: {\"claims\":[{\"claim\":str,\"support\":[{\"video_id\":str,\"start\":float,\"end\":float}]}]}\n"
)
def call_claude(goal: str, passages: list[dict]):
passages_str = "\n\n".join(
f"[rank {p['rank']} | score {p['score']:.3f}] (vID={p.get('video_id','?')}, {p.get('start',0):.1f}-{p.get('end',0):.1f})\n{p['text']}"
for p in passages
)
msg = client.messages.create(
model="claude-3-5-sonnet-20240620",
max_tokens=1800,
temperature=0.2,
system=SYSTEM_PROMPT,
messages=[
{"role": "user", "content": USER_TEMPLATE.format(goal=goal, passages=passages_str)}
])
return msg.content[0].text
Claude Code સાથે YouTube રિસર્ચ એજન્ટ બનાવતી વખતે પ્રોમ્પ્ટ ટિપ્સ:
- માણસ વાંચી શકે તેવા અને મશીન વાંચી શકે તેવા બંને ફોર્મેટમાં માળખાગત આઉટપુટ માટે પૂછો
- ટાઈમસ્ટેમ્પ્ડ સંદર્ભો લાગુ કરો
- અનિશ્ચિતતા જાહેરાતો અને વિરોધાભાસને પ્રોત્સાહિત કરો
પગલું 6: બધાને એકસાથે મૂકવું
ચાલો ક્વેરી → શોધ → ટ્રાંસ્ક્રિપ્ટ્સ → ચંક્સ → એમ્બેડિંગ્સ → પુનઃપ્રાપ્ત કરો → સંશ્લેષણ કરીએ.
# file: run_agent.py
from yt_search import search_youtube
from transcripts import fetch_transcript
from chunking import transcript_to_docs
from embeddings import VectorStore
from orchestrator import call_claude
from datetime import datetime
def build_corpus(query: str, max_videos=8):
results = search_youtube(query, max_results=max_videos)
corpus_docs = []
for r in results:
tx = fetch_transcript(r["video_id"]) or []
if not tx:
continue
docs = transcript_to_docs(tx)
for d in docs:
d.update({
"video_id": r["video_id"],
"title": r["title"],
"channel": r["channel"],
"url": r["url"],
})
corpus_docs.extend(docs)
return corpus_docs
def research(query: str, k=12):
corpus = build_corpus(query)
if not corpus:
return "No transcripts available."
vs = VectorStore
vs.add(corpus)
passages = vs.search(query, k=k)
md = call_claude(query, passages)
timestamp = datetime.utcnow.isoformat
return f"<!-- generated {timestamp} UTC -->\n\n" + md
if __name__ == "__main__":
print(research("LLM agents for YouTube research"))
Claude Code સાથે YouTube રિસર્ચ એજન્ટનું આ બેઝલાઇન સંસ્કરણ સંદર્ભો સાથે બહુ-વિડિયો આંતરદૃષ્ટિને શોધશે, પુનઃપ્રાપ્ત કરશે અને સંશ્લેષણ કરશે. તેને પ્રોડક્શન-રેડી બનાવવા માટે એમ્બેડિંગ્સને અપગ્રેડ કરો અને કેશીંગ ઉમેરો.
તેને મહાન બનાવવા માટે સાત અપગ્રેડ્સ
- વધુ સારા એમ્બેડિંગ્સ અને હાઇબ્રિડ શોધ
- ઉચ્ચ-ગુણવત્તાવાળા એમ્બેડિંગ્સમાં સ્વેપ કરો અને BM25 કીવર્ડ શોધ ઉમેરો. હાઇબ્રિડ વિશિષ્ટ શબ્દો પર વધુ રિકોલ અને અમૂર્ત વિષયો પર વધુ સારી ચોકસાઈ આપે છે.
- વધુ સમૃદ્ધ મેટાડેટા માટે સાધનોને વિસ્તૃત કરો
- ટિપ્પણીઓ, લાઈક્સ/ડિસલાઈક્સ રેશિયો અને ચેનલ ઓથોરિટી ખેંચો. ટોચના 100 ઉમેદવારો માટે ફરીથી-રેન્કર (ક્રોસ-એન્કોડર) ઉમેરો.
- મલ્ટી-ટર્ન રિસર્ચ પ્લાનિંગ
- સંશોધન યોજના પ્રસ્તાવિત કરવા માટે Claude Codeનો ઉપયોગ કરો: પેટા-પ્રશ્નો, પૂર્વધારણાઓ અને કવરેજ તપાસ. કવરેજ થ્રેશોલ્ડ પૂરા થાય ત્યાં સુધી વારંવાર એક્ઝિક્યુટ કરો.
- પુરાવા ટ્રેકિંગ અને કાઉન્ટર-એવિડન્સ
- દરેક દાવા માટે, સમર્થન અને વિરોધાભાસી સ્નિપેટ્સ લોગ કરો. રિપોર્ટ્સમાં બંને પ્રસ્તુત કરો; વિશ્વાસ સ્કોર્સ ઉમેરો.
- સબટાઈટલ્સ અથવા Whisper શબ્દ સમય દ્વારા સીન ડિટેક્શનનો ઉપયોગ કરો. સંદર્ભ મંદન ટાળવા માટે વૈશ્વિક સંશ્લેષણ પહેલાં વિભાગ દીઠ સારાંશ આપો.
- ક્વેરી દીઠ ટ્રાંસ્ક્રિપ્ટ્સ, એમ્બેડિંગ્સ અને રિપોર્ટ્સ સ્ટોર કરો. જ્યારે વપરાશકર્તાઓ ફિલ્ટર્સને ટ્વિક કરે ત્યારે પુનઃઉપયોગ કરો. વિડિયો ID દ્વારા ડિડુપ્લિકેશન ઉમેરો.
- નિકાસ ફોર્મેટ અને ડિલિવરી
- Markdown, PDF અને JSON નિકાસ કરો. ઇમેઇલ અથવા Slack ડિલિવરી. ટાઇમસ્ટેમ્પ્સને ક્લિક કરી શકાય તેવી
?t=mmss લિંક્સ તરીકે રેન્ડર કરો.
પ્રોમ્પ્ટ્સ જેનો તમે પુનઃઉપયોગ કરી શકો છો
Claude Code સાથે YouTube રિસર્ચ એજન્ટ બનાવતી વખતે આ ટેમ્પ્લેટ્સનો ઉપયોગ કરો.
સિસ્ટમ: તમે એક ઝીણવટભર્યા સંશોધન એજન્ટ છો. બહુવિધ YouTube ટ્રાંસ્ક્રિપ્ટ્સમાં સંશ્લેષણ કરો. [vID @ mm:ss] સાથે ઇનલાઇન ટાંકો, અને URL સાથે સ્ત્રોતો વિભાગ શામેલ કરો. ટાઇમસ્ટેમ્પ્ડ સપોર્ટ સાથે Markdown બ્રીફ અને દાવાઓનો JSON પેલોડ બંને પરત કરો.
વપરાશકર્તા: સંશોધન ધ્યેય: {topic}
અવરોધો: {audience or scope} પર ધ્યાન કેન્દ્રિત કરો; {date range} ની અંદરના સ્ત્રોતોને પસંદ કરો; અસંમતિઓ શામેલ કરો.
ઉમેદવાર ફકરાઓ (ક્રમાંકિત):
{retrieved_passages}
આઉટપુટ: સારાંશ → મુખ્ય આંતરદૃષ્ટિ (બુલેટ્સ) → નોંધપાત્ર અવતરણો (ટાઇમસ્ટેમ્પ્સ સાથે) → વિરોધાભાસ અને અંતરાયો → સ્ત્રોતો. પછી JSON {"claims": ...}
ગાર્ડ્રેલ્સ અને નીતિશાસ્ત્ર
- સર્જકના અધિકારોનો આદર કરો: મૂળ વિડિયોઝ સાથે લિંક કરો અને મોટા પ્રમાણમાં શાબ્દિક ટ્રાંસ્ક્રિપ્ટ્સ પ્રકાશિત કરવાનું ટાળો.
- પારદર્શક બનો: ટાઇમસ્ટેમ્પ્સ અને વિડિયો ID નો ઉપયોગ કરીને દાવાઓ ક્યાંથી આવે છે તે બતાવો.
- વધુ પડતું સારાંશ આપવાનું ટાળો: સૂક્ષ્મતા જાળવો; જ્યારે કૅપ્શન્સ ઑટો-જનરેટેડ હોય અને ઘોંઘાટીયા હોય તેવી શક્યતા હોય ત્યારે ફ્લેગ કરો.
- સંવેદનશીલ વિષયોને કાળજીપૂર્વક હેન્ડલ કરો: અનિશ્ચિતતાને હાઇલાઇટ કરો અને વિવિધ સ્ત્રોતો શોધો.
મુશ્કેલીનિવારણ: સામાન્ય સમસ્યાઓ અને સુધારાઓ
- "કોઈ ટ્રાંસ્ક્રિપ્ટ મળી નથી"
- Whisper પર ફોલબેક; વિવિધ ભાષાઓ અજમાવો; તપાસો કે વિડિયો પ્રદેશ-અવરોધિત છે કે કેમ.
- ખરાબ પુનઃપ્રાપ્તિ ગુણવત્તા
- એમ્બેડિંગ્સ અપગ્રેડ કરો; BM25 ઉમેરો; ચંક ઓવરલેપ વધારો; ટોચના-K પરિમાણ-ટ્યુન કરો.
- કડક સંદર્ભ સ્કીમા દબાણ કરો; બિનસપોર્ટેડ દાવાઓને દંડ કરો; પુનઃપ્રાપ્ત ચંક્સમાં હાજર ચોક્કસ ટાઇમસ્ટેમ્પ્સની જરૂર છે.
- આક્રમક રીતે કેશ કરો;
max_results ઘટાડો; બેચ વિનંતીઓ; tenacity સાથે પાછા-ઓફ ઉમેરો.
- વિભાગ દીઠ સારાંશ આપો; મહત્તમ ટોકન્સને અવરોધો; સ્પષ્ટ રૂપરેખા સાથે આયોજન પ્રોમ્પ્ટ્સનો ઉપયોગ કરો.
ગુણવત્તાનું માપન
- લેબલવાળા સેટ વિરુદ્ધ પુનઃપ્રાપ્ત ચંક્સનું ચોકસાઈ@K
- વફાદારી દર: ચકાસી શકાય તેવા ટાઇમસ્ટેમ્પ્ડ સપોર્ટ સાથે દાવાઓનું પ્રમાણ
- કવરેજ: ટાંકવામાં આવેલા અનન્ય સંબંધિત વિડિયોઝની સંખ્યા
- લેટન્સી: ક્વેરીથી રિપોર્ટ સુધીનો સમય
ઉદાહરણ: "વેક્ટર ડેટાબેસેસ સમજાવ્યા" પર સંશોધન કરવું
- ક્વેરી: "વિકાસકર્તાઓ માટે 2025 માટે વેક્ટર ડેટાબેસેસ સમજાવ્યા"
- ફિલ્ટર્સ: 2023 પછીના વિડિયોઝ, અવધિ 6-30 મિનિટ
- પરિણામ: એજન્ટ 6 વિડિયોઝ ટાંકે છે, HNSW વિરુદ્ધ IVF-PQ ના ટ્રેડ-ઓફને હાઇલાઇટ કરે છે, ખર્ચ/રિકોલની ચર્ચા કરે છે અને બેન્ચમાર્ક સાથે લિંક કરે છે. વિરોધાભાસ વિભાગ વિક્રેતાના દાવાઓ વિરુદ્ધ ઓપન-સોર્સ પરિણામોની તુલના કરે છે.
માર્ગ દ્વારા: તમારી વર્કફ્લોમાં આને સ્વચાલિત કરવું
જો તમે ડોક્સ અને કોડમાં કામ કરો છો, તો છેલ્લા માઇલને સ્વચાલિત કરવું યોગ્ય છે. એક નાની CLI રાત્રે ક્વેરી ચલાવી શકે છે અને Markdown બ્રીફને તમારા જ્ઞાન આધારમાં મૂકી શકે છે. તમે તેને સ્પ્રિન્ટ સંશોધન માટે ઇશ્યૂ ટેમ્પ્લેટ્સમાં પણ વાયર કરી શકો છો.
નોંધનીય: જો તમારી વર્કફ્લો પહેલાથી જ બ્રાઉઝર સાઇડબાર અથવા AI સહાયકમાં રહે છે, તો Sider.AI જેવા સાધનો સંશોધન લૂપને સુવ્યવસ્થિત કરી શકે છે—એક વિષય પસંદ કરો, શોધ ચલાવો, ટ્રાંસ્ક્રિપ્ટ્સ કેપ્ચર કરો અને સીધા જ જ્યાં તમે કામ કરો છો ત્યાં Claude-સંચાલિત સારાંશનો ડ્રાફ્ટ તૈયાર કરો. આ સંદર્ભ સ્વિચિંગને બચાવી શકે છે અને ટીમો માટે Claude Code સાથે YouTube રિસર્ચ એજન્ટ બનાવવાનું વધુ વ્યવહારુ બનાવી શકે છે. મુખ્ય ટેકઅવે
- Claude Code સાથે YouTube રિસર્ચ એજન્ટ બનાવવો એ વિડિયોઝને કાર્યક્ષમ બ્રીફમાં ફેરવવાનો ઉચ્ચ-લીવરેજ માર્ગ છે.
- ન્યૂનતમ સ્ટેક: YouTube API + ટ્રાંસ્ક્રિપ્ટ્સ + ચંકિંગ + એમ્બેડિંગ્સ + FAISS + Claude સંશ્લેષણ.
- અપગ્રેડ પાથ: હાઇબ્રિડ શોધ, ફરીથી-રેન્કિંગ, આયોજન લૂપ્સ અને કડક સંદર્ભ ટ્રેકિંગ.
- સરળ શરૂઆત કરો, વફાદારીને માપો અને વિશ્વસનીયતા તરફ પુનરાવર્તન કરો.
આગળનાં પગલાં
- એક વાસ્તવિક એમ્બેડિંગ મોડેલ અને હાઇબ્રિડ પુનઃપ્રાપ્તિ લાગુ કરો
- ફરીથી-રેન્કિંગ પગલું અને ગુણવત્તા મેટ્રિક્સ ઉમેરો
- સાપ્તાહિક વિષયોને તાજું કરવા માટે એક સુનિશ્ચિત જોબ બનાવો
- CLI અને હળવા વજનના વેબ UI તરીકે પેકેજ કરો
FAQ
Q1:હું Claude Code સાથે YouTube રિસર્ચ એજન્ટ બનાવવાનું કેવી રીતે શરૂ કરી શકું?
YouTube શોધથી પ્રારંભ કરો, ટ્રાંસ્ક્રિપ્ટ્સ મેળવો, સામગ્રીને ચંક કરો, વેક્ટર સ્ટોરમાં એમ્બેડ કરો અને પરિણામોને સંશ્લેષણ કરવા માટે Claude Codeનો ઉપયોગ કરો. ઉપરોક્ત માર્ગદર્શિકા કાર્યકારી પાઇપલાઇન એસેમ્બલ કરવા માટે સ્ટેપ-બાય-સ્ટેપ કોડ પૂરો પાડે છે.
Q2:YouTube રિસર્ચ એજન્ટ માટે કઈ લાઇબ્રેરીઓ શ્રેષ્ઠ છે?
શોધ માટે YouTube Data API, કૅપ્શન્સ માટે youtube-transcript-api, વેક્ટર શોધ માટે FAISS અને Claude Codeને કૉલ કરવા માટે Anthropic SDKનો ઉપયોગ કરો. તમે OpenAI, Nomic અથવા BGE સાથે એમ્બેડિંગ્સને સ્વેપ કરી શકો છો.
Q3:હું ચોક્કસ સંદર્ભો અને ટાઇમસ્ટેમ્પ્સ કેવી રીતે સુનિશ્ચિત કરી શકું?
ચંકિંગ દરમિયાન પ્રારંભ/અંત ટાઇમસ્ટેમ્પ્સ રાખો અને Claude Codeને [video_id @ mm:ss] ટાંકવાની જરૂર છે. પ્રકાશિત કરતા પહેલા ખાતરી કરો કે ટાંકવામાં આવેલા ટાઇમસ્ટેમ્પ્સ પુનઃપ્રાપ્ત ચંક્સમાં અસ્તિત્વમાં છે.
Q4:શું હું આ એજન્ટનો ઉપયોગ ખાનગી અથવા અનલિસ્ટેડ વિડિયોઝ માટે કરી શકું?
હા, જો તમારી પાસે ઍક્સેસ હોય અને તમે ટ્રાંસ્ક્રિપ્ટ્સ મેળવી શકો અથવા સ્થાનિક ASR (દા.ત., Whisper) ચલાવી શકો. હંમેશા પરવાનગીઓનો આદર કરો અને કૉપિરાઇટ કરેલી સામગ્રીનું વિતરણ કરવાનું ટાળો.
Q5:હું ટીમો માટે આ YouTube રિસર્ચ એજન્ટને કેવી રીતે સ્કેલ કરી શકું?
કેશીંગ, શેર્ડ વેક્ટર સ્ટોર, જોબ ક્યુ અને સુનિશ્ચિત રન ઉમેરો. Slack અથવા wiki સાથે એકીકૃત કરો અને સંશોધક વર્કફ્લોને સુવ્યવસ્થિત કરવા માટે Sider.AI જેવા બ્રાઉઝર-આધારિત સહાયકને ધ્યાનમાં લો.