BYGGGUIDE · GRUNDARE

Så bygger du en AI-chattbot tränad på en YouTube-kanal

Experter med flera års YouTube-videor har redan besvarat de flesta av publikens frågor, men svaren är utspridda över hundratals timmar. En chattbot byggd på kanalens transkript låter fansen fråga direkt och få expertens egna ord, med en länk till källan.

Vem det är för
Coacher, kursförsäljare, nischexperter, medlemscommunityn
Byggtid
En helg
API-endpoints
/playlists/resolve/batchformat.paragraphs

Problemet det löser

Coacher och lärare svarar på samma frågor i kommentarer och DM varje dag, trots att de redan har tagit upp dem i videor. Publiken hittar inte rätt video, och kreatören kan inte skala personliga svar. En kanalchattbot svarar med kreatörens röst och leder tittarna tillbaka till originalinnehållet.

Vad den första versionen bör innehålla

  • Svar som bara bygger på kreatörens egna videor
  • Källhänvisningar som länkar till exakt video och tidsstämpel
  • Automatiska uppdateringar när nya videor publiceras
  • En gratisnivå med frågetak och en betald nivå för medlemmar
  • En inbäddningsbar widget för kreatörens webbplats eller community

Så bygger du det, steg för steg

  1. 01

    Läs in kanalen

    Slå upp kanalen eller en utvald spellista och skicka alla video-ID:n till /batch med format.paragraphs och format.timestamp.

  2. 02

    Dela upp och skapa embeddings

    Spara varje stycke med videons titel, URL och starttid, och skapa embeddings i en vektordatabas.

  3. 03

    Hämta och svara

    För varje fråga hämtar du de mest relevanta styckena och ber en LLM svara utifrån enbart dem, med hänvisning till video och tidsstämpel.

  4. 04

    Håll det aktuellt

    Kolla kanalen efter nya uppladdningar enligt ett schema och lägg bara till de nya transkripten i indexet.

Startkod

Den här idén bygger på mönstret "Recept 3: Läs in en hel spellista i en kunskapsbas". Byt till dina egna kanaler, promptar och lagring.

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

Så tjänar den pengar

Ta ut en månadsavgift av kreatören för den hostade chattbotten, eller dela intäkterna från en betald nivå som de säljer till sin publik. Medlemscommunityn och kursförsäljare kan paketera den som en premiumförmån.

Misstag att undvika

  • Att låta modellen svara utifrån allmän kunskap: begränsa den till hämtade transkriptavsnitt så att den låter som kreatören.
  • Att använda delar med fast storlek som klipper meningar mitt itu: styckesindelning bevarar sammanhanget.
  • Att lansera utan kreatörens godkännande: bygg tillsammans med kreatören, eftersom det är deras röst och innehåll.

Frågor om den här idén

Kan jag träna en chattbot på en YouTube-kanal?

Ja. I stället för att träna en modell hämtar du relevanta transkriptavsnitt och låter en LLM svara utifrån dem. Det kallas retrieval-augmented generation.

Hur får jag chattbotten att ange sina källor?

Spara video-URL:en och starttiden med varje transkriptdel och instruera modellen att ta med dem i varje svar.

Vad kostar det att indexera en hel kanal?

Videor med inbyggda undertexter kostar 1 kredit styck. En kanal med 300 videor kostar ungefär 300 krediter att indexera en gång, och därefter bara nya uppladdningar.

Börja bygga i dag

10 gratis krediter varje månad. Inget kreditkort behövs.

Bygg en AI-chattbot tränad på en YouTube-kanal | YouTubeTranscript.dev