Přejdi na obsah Přejdi na navigaci

ÚvodBlogPokročilá funkcionalita chatbotů aneb když chcete víc, než si povídat

Pokročilá funkcionalita chatbotů aneb když chcete víc, než si povídat

V předchozím článku o AI a jejím využití v praxi jsme probrali rozdíl mezi umělou a lidskou inteligencí, vysvětlili jsme, jak AI začíná ovlivňovat náš každodenní život a uvedli pár příkladů, jak správně komunikovat s chatboty.

Bezplatné verze mají svá omezení – např. ChatGPT 3.5 pracuje s omezeným kontextem a uživatel nemá přístup k aktualizacím obsahující nové funkce, které se dosud pravidelně objevovaly. V posledních dvou měsících GPT4 přidalo podporu obrázků a zvukových souborů, možnost prohlížení internetu, nový generátor obrázků Dall-E 3, novou verzi GPT4.5 a možnost vytváření vlastních chatbotů přímo v prohlížeči. Cílem tohoto článku je přiblížit funkcionality, které prémiová licence ChatGPT nabízí a ukázat možnosti jejich využití.

Jak chatboty fungují

Aby člověk mohl využívat chatboty naplno, je dobré pochopit, jakým způsobem jsou dotazy vyhodnocovány. Prvním krokem je tokenizace textu, což znamená rozdělení textu na tokeny, které mohou reprezentovat celá slova nebo významové celky na základě předdefinované slovní zásoby. Tyto tokeny jsou následně převedeny na číselné indexy. Zaindexované tokeny pak procházejí různými vrstvami neuronové sítě s cílem zachytit vztahy mezi nimi. Na základě těchto výpočtů pak chatbot vrací řadu indexů – tedy odpověď. Co to v praxi znamená? Tokenizace umožňuje chatbotům porozumět novým slovům na základě analýzy jejich struktury. Např. slovo "přepythonovaný" ve slovníku nejspíš nenajdeme, ale známe význam předpony pře a slova python, což nám umožňuje chápat jeho význam.

Slovníky pro tokenizaci bývají často optimalizované pro konkrétní jazyk. Například když zadáme stejnou větu v angličtině, v češtině s diakritikou a v češtině bez diakritiky, algoritmus v angličtině rozdělí text na 5 tokenů, kde každý udává srozumitelný významový celek. V češtině s diakritikou je rozdělení na tokeny horší. Zatímco v angličtině algoritmus správně určil "kód" i "python" jako samostatné významové celky, v češtině to tak není.

Z tokenizace plynou i obecné limitace chatbotů – nejsou schopni pracovat s menšími celky, než jsou tokeny. Rozdělení textu po znacích nebo anagramy tedy chatbot nezvládá. Co to v praxi znamená? S dotazem, jaké zvíře se skrývá pod anagramem obří klik (kolibřík) chatbot odpoví, že "kobylka". Ze stejného důvodu nejsou chatboty vhodné na matematické úlohy – díky tokenizaci se jedná pouze o odhadování výsledků.

obr.1

Tokenizace textu; dostupné z https://platform.openai.com/tokenizer

Hlavní výhodou prémiového ChatGPT je pak širší kontext. V době psaní článku je to 16k pro GPT-3.5 Turbo, 32k pro GPT4 a 128k pro GPT4 Turbo (dostupné pouze přes API), což odpovídá cca 284 normostranám textu. Zároveň GPT4 Turbo má databázi znalostí až do dubna 2023.

Tipy pro optimální výsledky:

  • Pro co nejširší kontext se ptejte se ideálně v angličtině.

  • Pokud se ptáte v češtině, nepoužívejte diakritiku.

  • Uvědomte si limitace technologie – např. nezadávejte chatbotu matematické úlohy.

Analyzujte svoje dokumenty a soubory

ChatGPT4 umí přímo v prohlížeči pracovat se soubory. Podle typu souboru, který je zadán, ChatGPT4 spustí jeden z modulů na analýzu dokumentů. Tento modul převede dokument na textový formát, který je následně analyzován. Alternativně může ChatGPT4 spustit modul na datovou analýzu – v takovém případě spustí virtuální prostředí v pythonu, které provádí analýzu dat pomocí spouštění skriptů. S výstupy je pak možné dále pracovat.

obr.2

Analýza textového pdf; zdroj: chat.openai.com

Virtuální prostředí pythonu nabízí prakticky neomezené možnosti využití. Pokud Chat GPT požádám, aby mi pomohl s exploratorní datovou analýzou, sám spočítá popisné statistiky, vyčistí data i vizualizuje výstupy. Např. pro dataset gapminder, který obsahuje demografické údaje o jednotlivých zemích v čase, ChatGPT automaticky vizualizoval grafy naděje na dožití, HDP na osobu a populace v závislosti na čase. Zároveň i vygeneroval a vypsal kód, který pro to použil. Díky tomu můžeme v jeho analýze snadno pokračovat a opravit cokoliv, co se nám nelíbilo.

obr.3

Analýza souboru s využitím místního pythonovského prostředí

Připojte se na web

Nejnovější verze ChatGPT rovněž umožňuje připojení na internet. Jestliže se ChatGPT zeptáme na předpověď počasí v Praze na příští víkend a historické teploty, ChatGPT si vyhledá informace o aktuálním datu, času, počasí, počasí v minulém roce a následně zpracuje výsledky vyhledávání do textové podoby.

obr.4

Pracujte s obrázky

Součástí ChatGPT je i generátor obrázků Dall-E 3. Ten má v zásadě dvojí funkcionalitu:

  • analýzu nahraných obrázků;

  • generování obrázků na základě textu.

Pokud nahrajeme obrázek do ChatGPT, Dall-E je schopen poskytnout popis daného obrázku, včetně toho, co je na něm vidět, počtu osob, které na něm jsou, a barevného profilu. Následně je ChatGPT schopen vytvořit obrázek na základě poskytnutého textového popisu pomocí příkazu.

obr.5

Příklad práce s obrázky: kombinace obrázků zebry a tygra podle ChatGPT a jeho následný popis

Používejte pluginy

Pluginy jsou rozšíření pro ChatGPT, která přidávají další funkcionalitu. Mohou obsahovat datové konektory, specifické kalkulace nebo jinak interagovat se softwary a API. Zde jsou uvedeny některé zajímavé případy:

  • PromptPerfect – tento plugin dokáže přeformulovat váš dotaz tak, aby byl pro AI co nejsrozumitelnější.

  • CoderPad – umožňuje přístup k více než 30 programovacím jazykům.

  • Wolfram – tento plugin naučí ChatGPT matematiku, dodá přístup k aktuálním datům a mnoho dalšího. Je zaměřený spíš na technicky zdatnější uživatele.

  • VoxScript – umožňuje analýzu Youtube videí. Umí vytvořit shrnutí obsahu videa a nabízí i další zajímavé funkce.

  • Diagrams: Show Me – poskytuje vizualizaci diagramů, flowchartů, mindmap a podobných struktur.

obr.6

Vylepšení dotazu pomocí PromptPerfect

Integrace chatbotů do produktů Microsoft

V posledních měsících se často hovoří o Microsoft Copilot, novém nástroji, který má být postupně integrován do široké škály produktů Microsoftu. Copilot je navržen tak, aby uživatelům poskytoval pokročilou asistenci při práci s aplikacemi, jako jsou Office, Outlook a další. Jeho funkcionalita zahrnuje například pokročilou analýzu dat v Excelu, což umožňuje automatické generování sestav a vizualizací. V rámci Outlooku Copilot usnadňuje řízení emailové komunikace a plánování schůzek. Dále je schopen pomáhat se souhrny dokumentů a generovat prezentace na základě dokumentů a další. V současné chvíli tento nástroj používají jednotky firem v České republice.

obr.7

Copilot – plán integrace do produktů

V příštím článku se podíváme na to, jak můžeme využít OpenAI API, nebo jak si vytrénovat vlastního chatbota.

 

Chci více informací o AI

Chci vědět více

 

Autor: Marek Pauš
oddělení Data Science
marek.paus@dolphinconsulting.cz

Zpět na výpis rubriky