מדריך בנייה · יזמים

איך לבנות צ'אטבוט AI שמבוסס על ערוץ YouTube

מומחים עם שנים של סרטוני YouTube כבר ענו על רוב השאלות של הקהל שלהם, אבל התשובות מפוזרות על פני מאות שעות. צ'אטבוט שבנוי על התמלולים של הערוץ מאפשר למעריצים לשאול ישירות ולקבל את המילים של המומחה עצמו, עם קישור למקור.

למי זה מתאים
מאמנים, מוכרי קורסים, מומחי נישה, קהילות מנויים
זמן פיתוח
סוף שבוע
נקודות קצה של ה-API
/playlists/resolve/batchformat.paragraphs

הבעיה שזה פותר

מאמנים ומחנכים עונים כל יום על אותן שאלות בתגובות ובהודעות פרטיות, למרות שכבר כיסו אותן בסרטונים. הקהל לא מוצא את הסרטון הנכון, והיוצר לא יכול לתת תשובות אישיות בהיקף גדול. צ'אטבוט של הערוץ עונה בקול של היוצר ומחזיר צופים לתוכן המקורי.

מה לכלול בגרסה הראשונה

  • תשובות שמבוססות רק על הסרטונים של היוצר עצמו
  • ציטוטים שמקשרים לסרטון ולחותמת הזמן המדויקת
  • עדכון אוטומטי כשסרטונים חדשים מתפרסמים
  • מסלול חינמי עם מגבלת שאלות ומסלול בתשלום לחברים
  • וידג'ט להטמעה באתר או בקהילה של היוצר

איך לבנות את זה, שלב אחר שלב

  1. 01

    קלטו את הערוץ

    המירו את הערוץ או פלייליסט נבחר ושלחו את כל מזהי הסרטונים ל-/batch עם format.paragraphs ו-format.timestamp.

  2. 02

    חלקו וצרו embeddings

    שמרו כל פסקה עם כותרת הסרטון, הכתובת וזמן ההתחלה שלה, וצרו embeddings במסד נתונים וקטורי.

  3. 03

    שלפו וענו

    לכל שאלה, שלפו את הפסקאות הרלוונטיות ביותר ובקשו מ-LLM לענות רק על סמך הן, עם ציטוט של הסרטון וחותמת הזמן.

  4. 04

    הישארו מעודכנים

    בדקו לפי לוח זמנים אם עלו לערוץ סרטונים חדשים והוסיפו לאינדקס רק את התמלולים החדשים.

קוד התחלתי

הרעיון הזה מבוסס על התבנית "מתכון 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

איך זה מרוויח כסף

גבו מהיוצר תשלום חודשי על הצ'אטבוט המתארח, או חלקו הכנסות ממסלול בתשלום שהוא מוכר לקהל שלו. קהילות מנויים ומוכרי קורסים יכולים לצרף אותו כהטבת פרימיום.

טעויות שכדאי להימנע מהן

  • לתת למודל לענות מתוך ידע כללי: הגבילו אותו לקטעי התמלול שנשלפו כדי שיישמע כמו היוצר.
  • שימוש בנתחים בגודל קבוע שחותכים משפטים באמצע: קיבוץ לפי פסקאות שומר על ההקשר.
  • השקה בלי אישור היוצר: בנו את זה יחד עם היוצר, כי זה הקול והתוכן שלו.

שאלות על הרעיון הזה

אפשר לאמן צ'אטבוט על ערוץ YouTube?

כן. במקום לאמן מודל, שולפים קטעי תמלול רלוונטיים ונותנים ל-LLM לענות על סמך הם. השיטה הזו נקראת RAG, יצירה מועשרת באחזור.

איך גורמים לצ'אטבוט לצטט את המקורות שלו?

שמרו את כתובת הסרטון וזמן ההתחלה עם כל נתח תמלול, והנחו את המודל לכלול אותם בכל תשובה.

כמה עולה לאנדקס ערוץ שלם?

סרטונים עם כתוביות מקוריות עולים קרדיט אחד כל אחד. אינדוקס חד-פעמי של ערוץ עם 300 סרטונים עולה בערך 300 קרדיטים, ומשם והלאה רק ההעלאות החדשות.

התחילו לבנות עוד היום

10 קרדיטים בחינם בכל חודש. לא צריך כרטיס אשראי.

איך לבנות צ'אטבוט AI שמבוסס על ערוץ YouTube | YouTubeTranscript.dev