બિલ્ડ ગાઇડ · એપ ડેવલપર્સ

YouTube વીડિયોની અંદર બોલાયેલું શોધતું સર્ચ એન્જિન કેવી રીતે બનાવવું

YouTube સર્ચ ટાઇટલ, વર્ણન અને ટેગ સાથે મેચ કરે છે. 400 પોડકાસ્ટ એપિસોડમાંથી કયામાં કોઈ ચોક્કસ મહેમાન, પુસ્તક કે વિચારનો ઉલ્લેખ છે, અથવા તે કઈ મિનિટે આવે છે, તે તે કહી શકતું નથી. ટ્રાન્સક્રિપ્ટ આધારિત સર્ચ એન્જિન કહી શકે છે, અને API પર બનાવી શકાય તેવી સૌથી ઝડપી ઉપયોગી પ્રોડક્ટમાંની એક છે.

કોના માટે
પોડકાસ્ટ નેટવર્ક, કોર્સ પ્લેટફોર્મ, ફેન કમ્યુનિટી, આંતરિક વીડિયો લાઇબ્રેરી
બિલ્ડ સમય
એક વીકએન્ડ
API એન્ડપોઇન્ટ
/channels/resolve/batch/transcripts/{video_id}

તે કઈ સમસ્યા ઉકેલે છે

મોટી વીડિયો લાઇબ્રેરીમાં વ્યવહારિક રીતે શોધ કરવી અશક્ય છે. ફેન્સ અડધી યાદ રહેલી ક્ષણ શોધવા કલાકોના ફૂટેજમાં આગળ-પાછળ કરે છે, કોર્સના વિદ્યાર્થીઓ એક સમજૂતી શોધવા આખા લેસન ફરી જુએ છે, અને કંપનીઓ રેકોર્ડ કરેલી ટૉકમાં દટાયેલું સંસ્થાકીય જ્ઞાન ગુમાવે છે. ટાઇમસ્ટેમ્પ સાથે ટ્રાન્સક્રિપ્ટ ઇન્ડેક્સ કરવાથી દરેક લાઇબ્રેરી દસ્તાવેજની જેમ શોધી શકાય છે, અને પરિણામો સીધા યોગ્ય ક્ષણ પર લઈ જાય છે.

પહેલા વર્ઝનમાં શું સામેલ કરવું

  • ચેનલ કે પ્લેલિસ્ટના દરેક વીડિયોમાં શબ્દસમૂહ અને કીવર્ડ સર્ચ
  • મેચ થતું વાક્ય અને ચોક્કસ ટાઇમસ્ટેમ્પની લિંક બતાવતાં પરિણામો
  • સિમેન્ટિક સર્ચ, જેથી "મારી પ્રોડક્ટની કિંમત કેવી રીતે નક્કી કરું" શોધવાથી "તમારા રેટ નક્કી કરવા" પણ મળે
  • તારીખ, વીડિયો અને સ્પીકર મુજબ ફિલ્ટર
  • નવા અપલોડનું ઓટોમેટિક ઇન્ડેક્સિંગ

તેને સ્ટેપ બાય સ્ટેપ કેવી રીતે બનાવવું

  1. 01

    વીડિયો લિસ્ટ એકત્ર કરો

    ચેનલ હેન્ડલ કે પ્લેલિસ્ટ URL સાથે /channels/resolve અથવા /playlists/resolve કૉલ કરો અને દરેક વીડિયો ID અને ટાઇટલ મેળવો.

  2. 02

    ટ્રાન્સક્રિપ્ટ મોટી સંખ્યામાં મેળવો

    format.timestamp અને format.paragraphs ચાલુ રાખીને ID ને /batch પર મોકલો. મોટા બેચ અસિંક્રોનસ રીતે ચાલે છે, તેથી /batch/{batch_id} પોલ કરો અથવા વેબહૂક વાપરો.

  3. 03

    સેગમેન્ટ ઇન્ડેક્સ કરો

    દરેક ફકરાને તેના વીડિયો ID અને શરૂઆતના સમય સાથે સ્ટોર કરો. કીવર્ડ સર્ચ માટે Postgres full-text search પૂરતું છે; અર્થ આધારિત સર્ચ માટે pgvector અથવા વેક્ટર ડેટાબેઝમાં એમ્બેડિંગ્સ ઉમેરો.

  4. 04

    સર્ચ UI બનાવો

    આસપાસના ટેક્સ્ટ સાથે ટોચના મેચ અને youtube.com/watch?v=ID&t=SECONDS સ્વરૂપની લિંક પરત કરો, જેથી યુઝર્સ ચોક્કસ ક્ષણ પર પહોંચે.

  5. 05

    તેને અપ-ટુ-ડેટ રાખો

    એક શેડ્યૂલ્ડ જોબ ચલાવો જે ચેનલને ફરી રિઝોલ્વ કરે, નવા વીડિયો ID શોધે અને ફક્ત તેને જ ટ્રાન્સક્રાઇબ કરે.

સ્ટાર્ટર કોડ

આ આઇડિયા "રેસીપી 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

તે બનાવવા યોગ્ય કેમ છે

દર્શકને બદલે લાઇબ્રેરીના માલિકને વેચો: પોડકાસ્ટ નેટવર્ક, કોર્સ પ્લેટફોર્મ અને આંતરિક વીડિયો આર્કાઇવ ધરાવતી કંપનીઓ એવા સર્ચ માટે માસિક ફી ચૂકવશે જે તેમના ઓડિયન્સને જોડાયેલું રાખે. ફેન કમ્યુનિટી માટે, એલર્ટ કે API ઍક્સેસ માટે પેઇડ ટિયર સાથે મફત જાહેર સર્ચ પણ કામ કરે છે.

ટાળવા જેવી ભૂલો

  • આખી ટ્રાન્સક્રિપ્ટને એક જ દસ્તાવેજ તરીકે ઇન્ડેક્સ કરવી: ફકરા-સ્તરના ટાઇમસ્ટેમ્પ વિના સર્ચ પરિણામો નકામા બની જાય છે.
  • કયા વીડિયો ID પહેલેથી પ્રોસેસ થયા છે તે ટ્રૅક કરવાને બદલે દરેક અપડેટ પર આખી ચેનલ ફરી ટ્રાન્સક્રાઇબ કરવી.
  • ફક્ત ચોક્કસ કીવર્ડ મેચ પર આધાર રાખવો: બોલાતી ભાષા અવ્યવસ્થિત હોય છે, તેથી સિમેન્ટિક સર્ચ શરૂઆતમાં જ ઉમેરો.

આ આઇડિયા વિશેના પ્રશ્નો

YouTube ટ્રાન્સક્રિપ્ટ શોધવા માટે શું મને વેક્ટર ડેટાબેઝની જરૂર છે?

ના. મોટાભાગની લાઇબ્રેરી માટે Postgres full-text search કીવર્ડ સર્ચ સારી રીતે સંભાળે છે. જ્યારે તમને ચોક્કસ શબ્દોને બદલે અર્થ સાથે મેચ થતાં પરિણામો જોઈએ ત્યારે એમ્બેડિંગ્સ ઉમેરો.

સર્ચ પરિણામને વીડિયોની ચોક્કસ ક્ષણ સાથે કેવી રીતે લિંક કરું?

દરેક ટ્રાન્સક્રિપ્ટ સેગમેન્ટમાં સેકન્ડમાં શરૂઆતનો સમય હોય છે. YouTube URL માં &t= અને પછી તે સંખ્યા ઉમેરો.

શું હું કૅપ્શન વિનાના વીડિયો ઇન્ડેક્સ કરી શકું?

હા. વેબહૂક URL સાથે allow_asr ચાલુ કરો અને કૅપ્શન ન હોય ત્યારે API AI સ્પીચ રેકગ્નિશનથી ઓડિયો ટ્રાન્સક્રાઇબ કરે છે.

આજે જ બનાવવાનું શરૂ કરો

દર મહિને 10 મફત ક્રેડિટ. ક્રેડિટ કાર્ડની જરૂર નથી.

YouTube વીડિયો સર્ચ એન્જિન કેવી રીતે બનાવવું (વીડિયોમાં શોધ) | YouTubeTranscript.dev