Toto je seriál, kde ukazuji vývoj vlastního AI/LLM chatbota. Něco jako free chatGPT na vlastních datech. V tomto dílu vám ukážu, jak jsem do aplikace přidal nástroj pro převod YouTube url na souhrn daného videa. Použil jsem k tomu Groq/Llama 3, phidata asistent a youtube toolkit.
Toto je jeden z nástrojů, který budu sám velmi rád používat, protože sleduju poměrně hodně zdrojů na YouTube a není v mých silách koukat na všechna videa v reálném čase. Často si pouštím videa ve zrychleném módu, ale sumarizace je něco, co určitě dokáže ušetřit více času.
Tento nástroj jsem původně realizoval s jinou technologií (pomocí openAI na aplikaci Flask) a přepis videa na lokálním zařízení trval hrozně dlouho (i poměrně krátká videa kolem 30 min). Pro praktické užití se tento nástroj tedy jevil jako ne zrovna moc užitečný.
Když jsem narazil na řešení pomocí Groq a phidata, samozřejmě jsem to chtěl hned vyzkoušet a nasadit do vlastní aplikace. Výsledek předčil mé očekávání. Velmi rychlý přepis videa a shrnutí všech podstatných informací.
YouTube asistent
Má na výběr následující komponenty:
- Převod YouTube videa do textu
- Shrnutí přepisu do sumarizace
- Rychlý převod pomocí Groq
Asistent nejprve získá přepis, přečte jednotlivé kapitoly, převede slova do chunků a následně vytvoří sumarizaci pomocí modelu Llama 3, nebo jiného vybraného modelu. Nastavení v markdown pro přehledné formátování výstupu.
Technologie
Chatbot obsahuje následující komponenty:
- Streamlit – webové rozhraní
- Llama 3 – jazykový open source model
- Phidata – Framework, který umožňuje LLM asistentům přidat různé nástroje
- YouTube Toolkit – umožňuje převod videa do textu
Další level by byl video chatbot, kde je možné opakovaně se doptávat na různé části videa, ale zde byl účel mít pouze stručný souhrn videa. Cílem tedy není komunikovat, ale pouze vložit url a získat souhrn.
Uživatelské rozhraní
V levém sloupci máme následující možnosti výběru:
- Model – Llama 3 8B (levnější a rychlejší), Llama 3 70B, Mixtral
- Chunks – Na jak velké chunky bude video rozdělené
- Vložení url youtube videa
- Tlačítko pro vygenerování souhrnu
Uprostřed stránky rozhraní pro zobrazení výstupu.
Testování
Zde je několik příkladů funkčnosti nástroje.
Souhrn videa
Souhrn videa
Souhrn videa
Ukázka rychlosti
Delší video (47 min.)
Co bych vylepšil
Co bych pro příště zlepšil:
- Možnost dále chatovat a doptávat se na detaily.
- Delší odpovědi a úprava rate limit (momentálně používám free verzi) u dlouhých videí
- Možnost udělat souhrn celé naší konverzace – pomocí přidání phidata memory (řešil jsem již zde)
Rozdíl oproti souhrnu videí od OpenAI a Groq je momentálně propastný. Je to jako porovnávat rychlost škodovky a formule :). Nemá sice k dispozici češtinu, ale to mi pro tento případ užití nevadí. Doufám, že OpenAi brzo přijde s vlastním řešením latence a nebudeme muset čekat na výstupy 30 min., ale max 30 s.