Toto je seriál, kde budu postupně ukazovat vývoj vlastního AI/LLM chatbota. Něco jako chatGPT na vlastních datech, pro určitý účel použití. V tomto dílu vám ukážu rozhraní Streamlit pro chatbota, který je poháněn pomocí Groq a Llama 3.
Když jsem přemýšlel nad vlastním chatbotem, tak jsem věděl, že chci, aby jeho součástí byl i klasický chat, kde můžete libovolně konverzovat a v konverzaci pokračovat (včetně zobrazení celé komunikace).
Z hlediska vědeckého pracovníka to asi není nástroj, který by potřeboval pro práci a přeci jen si můžete pokecat lépe s chatGPT nebo jiným podobným nástrojem. Ale výhodou tohoto chatu je především to, že odezva je super rychlá a nejnovější model Llama 3 je srovnatelný s GPT 4 (v angličtině samozřejmě).
Výhodou je tedy cena (je zdarma), rychlost a relativně aktuální trénovací data (březen 2023).
Navíc, pokud bychom chtěli nějakého speciálně zaměřeného chatbota, tak je možné jej dotrénovat (finetuning) na specifické datové sadě a bude nás to stát výrazně méně, než pokud bychom trénovali model od OpenAI. Můžete si například představit chatbota, který je dotrénován na znalost specifických léků či lékařských doporučení.
Ve výsledku tedy nebude chatbot sloužit jako kamarád na povídání, ale pro specifický účel vaší práce. Já například (kromě pomoci s kódováním) používám chatboty na odpovědi ohledně specifických technických dotazů a je to pro mě rychlejší, než kdybych to hledal přes vyhledávač a poté se proklikával mnoha různými weby.
Technologie
Pro chatbot jsem zvolil následující komponenty:
- Streamlit – webové rozhraní
- Groq – LPU pro rychlejší odezvu
- Llama 3 70B – Nejnovější open source LLM model srovnatelný s GPT 4
- Možnost výběru dalších modelů: Mixtral, Gemma, atd.
- Spuštění lokálně přes Ollama
Uživatelské rozhraní
V levém sloupci si mohu zvolit:
- Model – Llama 3 70B, Llama 3 8B, Gemma, Llama 2, Mixtral + další dle potřeby
- System prompt – Nastavit si, jak se má model chovat a na co se zaměřit
- Temperature – Jak moc má, nebo nemá být kreativní, nebo fakticky přesný
Uprostřed stránky klasický chat s možností vidět celou historii dotazů.
Mohl bych také přidat možnost vložení souboru nebo vyhledáváním aktuálních informací, ale na to už zase používám jiné funkce a o tom příště.
Testování
Zkusíme několik dotazů, které prověří rychlost i schopnosti chatbota.
Who is sam altman?
Who is the current president of the usa?
What are the most common keyboard shortcuts on macbook?
2 + 5 * 7 * (8 + 2)
Porovnání s chatGPT. Kde přišel na správný výsledek až po dodatečné otázce.
Write me 10 sentences where each sentence ends with the word apple.
What are the latest rules regarding taking photos of employees under the European GDPR regulation?
Ukázka rychlosti odezvy.
History of the state of israel.
Article summary.
Celkově hodnotím rozhraní chatu jako velmi přehledné, jednoduché a snadno použitelné. Oceňuji rychlost odezvy a velmi dobrý výkon modelu Llama 3. Zásadní výhodou je možnost použití modelu zdarma a na lokálním zařízení. Co bych určitě vylepšil je natrénování modelu na specifická data. Dovedu si představit takový chatbot, který bude specificky natrénován na nějaké úzce zaměřené specializované téma. Samozřejmostí je ochrana firemních dat a možnost personalizovat si model pro vlastní firemní potřeby.