Konference AI transformace financí - mé postřehy

dub 29 2024

Dnes jsem s Tommym navštívil konferenci AI transformace financí od České asociace umělé inteligence (ČAUI), která se shodou okolností konala v perfektních prostorách našeho klienta enforum event space.

Zahájení konference AI transformace financí Lukášem Benzlem

Obr. 1: Zahájení konference AI transformace financí Lukášem Benzlem

První tři přednášky v podání Adama Leščišina (Accenture), Michala Amblera (Ernst Young) a Martina Ryšánka (IBM) byly zajímavé tím, že přednášející jsou manažeři, kteří mají za sebou stovky realizovaných AI projektů. Jejich příspěvky se týkaly především strategie v zavádění AI do klientských firem - správnému mapování potřeb, určení priorit. A v neposlední řadě tak trochu tlačení svých korporátních (nejen) AI řešení.

Rozsáhlé zkušenosti Accenture s realizací klientských AI projektů, přednáší Adam Leščišin
Obr. 2: Rozsáhlé zkušenosti Accenture s realizací klientských AI projektů, přednáší Adam Leščišin

Následovala perfektní prezentace od Karin Fuentesové ze startupu Digitoo, který automatizuje zpracování faktur. Prezentace se hodně zaměřovala na spolupráci s partnerem Raiffeisen bankou, který dodal čerstvému startupu tolik potřebnou důvěryhodnost na trhu i možnost cílit s nabídkou na své klienty. Dále prezentace obsahovala poměrně srozumitelné vymezení se proti konkurenčním firmám typu Rossum. Přiznám se, že o Digitoo jsem neslyšel poprvé. Jsme klienti Raiffeisen banky i Abra Flexibee a skrze jejich kanály jsem se já i Petr o Digitoo dozvěděli. Po dnešní prezentaci jsem probral s Petrem, zda nevyužít právě Digitoo pro zefektivnění zpracování faktur včetně Petrovi účetní firmy. Uvidíme, zda budou v Digitoo skutečně tak cenově výhodní ;)

Příklad strategického mapování v oblasti AI, přednáší Michal Ambler z Ernst Young
Obr. 3: Příklad strategického mapování v oblasti AI, přednáší Michal Ambler z Ernst Young

Panel s pohledem do zákulisí AI inovací v bankách mne příliš nebavil. Při veškeré úctě k přednášejícím i perfektnímu moderování ze strany Lukáše, zde jsem se nedozvěděl pro sebe nic užitečného či zásadního.

Tommy vyřizuje telefony během coffee break na střeše eNovation
Obr. 4: Tommy vyřizuje telefony během coffee break na střeše eNovation

Ve druhé části konference mne zaujaly především dvě přednášky. Ta první byla od Vojtěcha Dlouhého z Feedyou, který se představil, že má rád čísla a jeho prezentace byla skutečně čísly nabitá. U některých bych, přiznám se, rád viděl citované zdroje, ale to je jen mé rýpnutí, protože prezentace byla skvělým nahlédnutím pod pokličku AI chatu / virtuálních asistentů od Feedyou. Z prezentace si odnáším tvrzení: "správná identifikace uživatele je zásadní".

Vratislav Kalenda ukazuje příklad selekce transakcí
Obr. 5: Vratislav Kalenda ukazuje příklad selekce transakcí

Technologický bonbónek si pro nás ČAUI připravila nakonec. Vratislav Kalenda z Applifting se rozmluvil detailněji o principech, na kterých stojí jejich vývoj. Hned na úvod položil otázky, které mne zvedly ze židle:

  1. Jak dostat relevantní transakce do kontextového okna AI.
  2. Jak zabezpečit, aby AI měla přístup pouze k transakcím jednoho klienta.
  3. LLM dělají při výpočtech chyby. Jak zařídit, aby analýza byla přesná.
  4. Jak zabránit halucinacím.

Selekce transakcí pro mne nebyla ničím novým. Dospěli jsme s jinými daty z jiné problémové domény prakticky k témuž. To, že LLM dělají ve výpočtech chyby víme, prakticky u žádných modelů, které jsme dosud vyzkoušeli se nemůžeme spolehnout, že vyřeší zadanou "slovní úlohu" správně. Nicméně pochopil jsem, že mám zásadní mezery v pochopení a administraci AI agentů. A naivní řešení, které jsem hodlal před shlédnutím přednášky využít, by pravděpodobně bylo slepou cestou. Pro mne tedy byla konference jednoznačně přínosem a moc Ti děkuji Lukáši, že jsem se jí mohl zúčastnit.

Co jsou vektorové databáze a proč jsou vhodné pro AI?

dub 12 2024

Poslední dva měsíce jsem se v souvislosti s přípravou návrhu databáze pro AI projekt, který v TRITON IT chystáme společně s Karlem Pěnkou a Vaškem Viačkem, intenzivněji věnoval nastudování vektorových databází. Potřeboval jsem si ujasnit princip jejich fungování, zorientovat se v terminologii a odstranit řadu nejasností. Mé dosavadní poznatky sdílím s každým, koho zajímá proč a jak vektorové databáze vznikly, na jakých principech stojí a v čem jsou důležité pro práci s AI.

Obr. 1: Screenshot z testování multijazyčného jazykového modelu v kolekci ChromaDB, Python, PyCharm

Trochu historie a výzvy kladené na databázové systémy

Přelom 90.tých let a milénia se nesl ve znamení relačních databází založených na SQL. Tehdejší rychlý nástup webů, portálů, eshopů s sebou nesl potřebu efektivně ukládat uživatelská data a přistupovat k nim (filtrovat, řadit, vyhledávat). To se neslo ruku v ruce s normalizací relačních databází a tzv. normálními formami. Následný prudký rozvoj internetových aplikací zapříčinil, že relační databáze přestaly stačit. Nastupující sociální sítě, nebo eshopy přerostlé v mezinárodní internetové hypermarkety potřebovaly v reálném čase obsloužit miliony uživatelů. Analytické a vědecké aplikace zase potřebovaly co nejrychleji uložit velká data, vyhodnotit je a nasdílet výsledky. Na sklonku první dekády milénia nastala éra big data. Ruku v ruce s tím se začaly čím dále tím více uplatňovat NoSQL databáze. Zde byly normální formy ty tam. Prioritou se stala co největší dostupnost a rychlost čtení / zápisu. A to i za cenu duplicit na úrovni návrhu. Současně se rozvinula paralelizace - schopnost běžet jeden a tentýž databázový systém na více strojích (klastrech) současně a synchronizovat je mezi sebou. Pod náporem dat se řešilo balancování latence versus konzistence. Nad NoSQL databází Cassandra, konkrétně nad jejím optimalizovaným c++ klonem s názvem ScyllaDB běží i naše WebMedea. Vývoj šel dopředu a přicházely nové výzvy, které si vyžadovaly nové formy přístupu k datům. V souvislosti s nástupem AI se hovoří o nové průmyslové revoluci. A právě současný pokrok v AI byl stimulován rozvojem vektorových databází. Mimochodem věděli jste, že na tomto pokroku má lví podíl čech Tomáš Mikolov?

Motivace pro vektorové databáze

Co bylo impulsem pro vznik vektorových databází? Potřeba uložit a popsat vztahy mezi daty odlišným způsobem než doposud. Co je tím myšleno? Klasické relační databáze jsou založeny na vztazích (relacích) mezi řádky tabulek. To umožňuje popsat exaktní vztahy, například, že faktura má N položek, nebo že N osob může figurovat v M firmách. Ale reálný svět je spíše než booleovský (souvisí / nesouvisí) postavený na fuzzy (příslovečných 50 odstínů šedi mezi dvěma možnostmi). Reálný svět měří vztahy na úrovni míry shody či podobnosti něčeho s něčím. A právě na zmíněné fuzzy logice staví i teorie neuronových sítí. Ať už těch umělých nebo skutečných. Když se dítě učí mluvit, opakuje slova tak dlouho, dokud není vzdálenost jeho zvukového projevu od předlohy (odchylka) minimální. Požadavek byl proto jasný - mít možnost popsat vztahy mezi objekty v databázi pomocí míry, určující jak moc spolu objekty souvisí. 

Co to je vektorová databáze a jak funguje?

Vektorová databáze umožňuje efektivně ukládat vektorové reprezentace dat a pomocí dotazů je opětovně získávat. Data mohou být slova, celé texty, obrázky, videa, či zvukové stopy. Vektorovými reprezentacemi jsou uspořádané n-tice číslic reprezentující umístění dat v n-rozměrném prostoru. 

A teď se nabízejí následující otázky....
  1. Můžeš mi lidsky říci, k čemu je tedy ta vektorová databáze užitečná?
  2. Jak z dat dostanu zmíněné vektory a co potom s nimi udělám?
  3. Mluvíš o n-rozměrném prostoru, ale jakém a čím jsou definovány rozměry?
  4. Mluvíš o vzdálenosti, ale čím se ta vzdálenost měří?
  5. Řekneš mi to nějak srozumitelně polopaticky?
Až tyto otázky probereme, získáme vhled do toho, jak vektorové databáze fungují. Jdeme na to.

ad 1. K čemu je vektorová databáze užitečná?

Představte si, že do databáze uložíte několik textů. Potom napíšete jiný text a pošlete ho jako dotaz na databázi. Jako výsledek se vám vrátí ten z dříve uložených textů, který se významově nejvíce shoduje s dotazem. Nebo dostanete na výstupu prvních N uložených textů, které se nejvíce shodují se zadaným textem seřazených je podle míry shody. 

Příklad; V databázi máte uložené všechny projevy Milouše Jakeše. Jako dotaz pošlete "Chci ten projev, kde si Jakeš spletl drůbež a spotřebič na ohřev vody." V ideálním případě se vám vrátí legendární proslov o brojlerech a bojlerech. Jaktože vám databáze "rozumí"? Čtěte dál :)

ad 2. Jak se z dat stanou vektory?

Vektorovým reprezentacím dat se říká tzv. Embeddings (vzhledem k nejednoznačnosti doslovného překladu "vložení" budu používat anglický termín). Jak získat z dat embeddings? 

Embeddings pro slova

Začněme nejprve slovy. Řešíme následující úlohu. Vzít slovník. Vytvořit n-rozměrný prostor a v rámci tohoto prostoru reprezentovat každé slovo ze slovníku pomocí vektoru. Cílem je získat co nejlepší rozložení slov, kde slova, která spolu souvisí méně jsou v prostoru dále od sebe. Slova, která spolu souvisí více jsou blíže u sebe. Konkrétněji? Podstatné jméno "šroubovák" bude mít od podstatného jména "višeň" mnohem větší vzdálenost než "meruňka". Přídavné jméno "kyselý" bude blíže višni než meruňce. Podstatné jméno "ovoce" bude višni a meruňce blíže než obecná "rostlina". Pořád jsme si ale neřekli, jak zmíněnou úlohu řešit. Existuje více přístupů. Jejich průkopníkem byl již zmíněný Tomáš Mikolov, který v roce 2013 publikoval nástroj word2vec. Jednalo se o neuronovou síť se dvěma skrytými vrstvami, která řešila optimalizační úlohu najít takovou vektorovou reprezentaci slov, který by co nejvíce odpovídala realitě. Tomáš k tomu použil tzv. velký jazykový korpus - soubor textů určitého jazyka, dostatečně velký na to, aby z něj bylo možné získat významové vztahy mezi jednotlivými slovy. Proč to udělal? Samotný slovník nestačí, někdo vám musí říct, že višeň je kyselá, že šroubovák šroubuje šrouby, nebo že "vydělat" je sloveso a často se vyskytuje s podstatným jménem "peníze". Buď by nějaký člověk musel popsat veškeré vztahy mezi veškerými slovy ve slovníku určitého jazyka. A pak v horším případě metodou pokus omyl, v lepším případě nějakým heuristickým algoritmem, budovat co nejlepší vektorovou reprezentaci všech slov. Nebo můžeme souvislosti automatizovaně vytěžit z dostatečně velké zásoby textů a použít neuronovou síť k nalezení nejlepší reprezentace.

Embeddings pro texty, větné transformátory, jazykové modely a LLM

V případě celých textů - vět a dokumentů je úloha složitější. Podobně jako u slov vyjděme z toho, že máme k dispozici jazykový korpus. Celý korpus není změtí náhodných dat, ale ohromnou znalostní bází, kterou vytvořili myslící lidé a zakódovali do ní významové souvislosti pomocí určitého jazyka. Cílem je zachytit tyto souvislosti do modelu (jazykového modelu), který bude definovat co nejlepší vzdálenosti mezi jednotlivými významovými celky. Klíčové je, aby takový model byl jednak co nejvíce vypovídající a současně rychlý pro použití. Nástroje, které takové jazykové modely budují se nazývají větné transformátory (z anglického sentence transformers) a využívají principu pozornosti (z anglického attention). Pro různé typy úloh existují různé jazykové modely. Některé se hodí spíše pro překlad, jiné pro významové prohledávání textu viz náš příklad s projevem Milouše Jakeše. Tím, že jazykové modely vydolují (dekódují) z textu význam v podobě embeddings, můžeme pak embeddings (ten význam) zakódovat do jiného jazyka (překlad), nebo embeddings porovnat s embeddings jiného textu a zjistit míru významové podobnosti.

Další příklad významové podobnosti; Nahrajeme do vektorové databáze všechny starověké texty, bibli, řecké báje a pověsti a další po kapitolách.  Pošleme na databázi dotaz "Dej mi texty, které zmiňují velkou povodeň". V ideálním případě dostaneme příslušné kapitoly, z jednotlivých děl, které pojednávají o biblické potopě či zkáze Atlantidy.

V případě jazykových či jiných (pro zpracování grafiky či zvuku) modelů se tedy nejedná o žádné "vědomí", jak nám často povrchní a senzace chtiví internetoví článkaři prezentují současný nástup AI, ale pouze o sofistikované porovnání dat. Zde se také dostáváme k termínu velké jazykové modely (z anglického large language models, neboli LLM). Jsou to takové modely, které ke svému vytvoření použily dostatečně veliký jazykový korpus. 

Poznámka: Kromě jazykových modelů mohou být na podobném principu tvořeny modely pro rastry, audio a další datové typy. Viz seznam dostupných OpenAI modelů.

ad 3. S kolika rozměrným prostorem pracujeme a jaký je význam jednotlivých dimenzí?

Celou dobu se bavíme o vektorech z n-rozměrného prostoru, který jsme si dosud blíže nepopsali. Záměrně jsem zatím využíval vádní označení n-rozměrný prostor, ve kterém využíváme "něco" k určení vzdálenosti prvků - vektorů. Vektorové databáze mohou využívat modely založené jak na vektorových prostorech, tak na metrických prostorech. Můžeme mít klasický euklidovský metrický prostor, nebo například vektorový prostor kosinové podobnosti. Rozvedu níže. A jak je to s tou dimenzionalitou? No :) Ti, co jsou (jako já) zvyklí, například ze statické klasifikace a rozpoznávání, že dimenze příznakového prostoru souvisí s konkrétními vlastnostmi objektu (třeba barva, hmotnost, délka atd. atd.), nejspíše zklamu. Protože dimenze metrických nebo vektorových prostorů používaných pro tvorbu embeddingů obvykle nemají žádný "lidsky popsatelný" význam. Tyto dimenze jsou často výsledkem optimalizační úlohy, která se snaží najít takové reprezentace dat, které nejlépe zachycují vztahy mezi nimi. Každá dimenze prostoru odpovídá různým charakteristikám nebo rysům dat, které nejsou snadno interpretovatelné lidmi. Počet dimenzí bývá určen empiricky při budování modelu a je optimalizován tak, aby co nejlépe vyhovoval potřebám konkrétního úkolu nebo modelu. Jinak řečeno. Neurové sítě větných transformátorů, které staví náš jazykový model, používají počet dimenzí jako proměnnou k tomu, aby nalezli optimální rozmístění vektorů v prostoru. Zatímco word2vec pracoval s cca 300 dimenzemi. Chat GPT pracuje přibližně s 1500 rozměrnými vektory a nové modely i s 3000 rozměrnými vektory

ad 4. Čím se měří vzdálenost? Kosinová podobnost a embedding funkce

Různé modely mohou používat různou definici vzdálenosti. Dokonce u téhož principiálního modelu je leckdy možné si "hrát" s různými vzdálenostmi a vyrábět tak různé jeho klony a testovat jejich spolehlivost. Klíčové však je, že jakmile zvolíme určitu definici vzdálenosti a použijeme ji v rámci větného transformátoru k sestavení jazykového modelu, jsme již logicky vázáni na tuto vzdálenost. Vrátíme se nyní opět k počátkům word2vec od Tomáše Mikolova. Ten využil k určení podobnosti dvou vektorů kosinus - takzvanou kosinovou podobnost. Byly k tomu hned dva dobré důvody. 

  1. Kosinus lze snadno (a z hlediska výpočetní složitosti efektivně) spočítat jako podíl skalárního součinu obou vektorů (v čitateli) a součinu velikostí obou vektorů (ve jmenovateli). 
  2. Funkční hodnoty kosinu velmi dobře odráží vzájemnou (ne)souvislost slov. Kosinus nabývá hodnoty nula pro kolmé vektory => ideální pro slova, která spolu vůbec nesouvisí. Čím více spolu slova souvisejí a jsou s významově podobnější (blíží se synonymu), tím více se kosinus jejich vektorových reprezentací blíží jedničce. Čím více jsou slova související, ale jsou významově odlišná (blíží se antonymu), tím více se kosinus jejich vektorových reprezentací blíží mínus jedničce. 
Kosinová podobnost je právě ten případ, kdy o ní nemůžeme hovořit jako o metrice, protože nesplňuje axiomy metriky (nezáportnost, symetrie, trojúhelníková nerovnost). Konkrétně nesplňuje nezápornost (nabývá hodnot -1 až 1). V dnešní době se používá celá řada metrik či podobností, včetně těch založených na modifikaci kosinové podobnosti. Vektorové databáze pracují s pojmem embedding funkce (embedding function). Skrze ni jim lze nainjektovat transformátor a "metriku" pro vybraný model tak, aby vytvořené embeddings s ním byly kompatibilní. 

ad 5. Vše dohromady polopaticky

Konkrétně pro případ textů. Vyberu vhodnou vektorovou databázi. Navrhnu po jakých logických celcích data uložím. Vyberu si jazykový model vhodný pro řešení mé úlohy. Použiji implementaci příslušného větného transformátoru a embedding function k vytvoření embeddings.

Jakou vektorovou databázi zvolit?

V TRITON IT jsme se minulý podzim začali připravovat na dva investiční projekty, které jsme se společně s investory rozhodli postavit na AI. Marek nechal naše kluky z vývoje udělat rešerši dostupných vektorových databází. Měli jsme následující požadavky na vektorovou databázi.
  • snadno integrovatelná s OpenAI API,
  • mající driver pro Javu,
  • otevřená, srozumitelná, dobře zdokumentovaná, žádná nabubřelá korporátní zlodějna,
  • dostatečně prověřená a rozšířená.
Po přečtení rozboru, který mi Maxim sestavil, byla volba vítěze jasná - ChromaDB. 

Představení ChromaDB

Základním stavebním kamenem ChromaDB jsou kolekce. Jedna databáze může obsahovat více kolekcí. Do jedné kolekce lze uložit několik dokumentů (textů). Jakou granularitu dat si zvolíme je na nás - dokumenty mohou být věty, odstavce, kapitoly. Na úrovni kolekce si lze zvolit, jakou embedding funkci pro kolekci použít. Tato funkce se pak používá pro všechny dokumenty dané kolekce. Lze tak mít různé embedding funkce pro různé kolekce, ale nikoliv pro různé dokumenty v rámci jedné a tytéž kolekce. Každý dokument v rámci kolekce má své ID, metadata a embeddingy (vektorovou reprezentaci příslušného dokumentu). ID slouží k identifikaci dokumentu v rámci kolekce, podobně jako je tomu u primárních klíčů relačních databází. Díky ID jsem schopen z obslužné aplikace přistupovat ke konkrétnímu dokumentu. Metadata slouží k filtrování. Mohu si tak popsat dokumenty pomocí jejich klíčových vlastností. A potom vybírat pouze ty dokumenty, které odpovídají požadovaným kritériím. 

Příklad; Jste výrobce elektroniky, třeba monitorů jako MISURA ;). Vytěžíte veškeré recenze vašich produktů z různých e-shopů distributorů, srovnávačů, recenzních portálů atd.. Vytvoříte v ChromaDB kolekci obsahující všechny uživatelské recenze. Co dokument, to jedna recenze. Embeddingy již byly vytvořeny při vložení recenzí do kolekce. Metadata obsahují: rok vytvoření recenze, kód recenzovaného produktu, počet hvězdiček hodnocení. Chcete vybrat taková hodnocení za minulý rok, která souvisejí s typem, počtem a zapojením napájecích kabelů. Zašlete dotaz, kterým si přes metadata omezíte rok na minulý, nastavíte počet výsledků na 5 a současně zašlete v dotazu například řetězec "dej mi hodnocení, která souvisejí s napájením monitoru, typem, počtem a zapojením napájecích kabelů". Databáze si nejprve dokumenty klasickým způsobem vyfiltruje podle roku, pro zúžené dokumenty vytáhne jejich embeddingy a porovná je s embeddingem, který vytvoří pro text zaslaný v dotazu. Výsledkem bude 5 recenzí z minulého roku, které nejvíce významově odpovídají požadavku.

Proč a jak propojit databázi s OpenAI či jinými LLM?

Vektorové databáze jsou využívány zejména pro uchování a poskytnutí vlastního kontextu pro lokální či externí (ne nutně) jazykové modely, dostupné přes API třetích stran. A to zejména v případech, když se jedná o big data a kontext je značně objemný. V takovém případě využijeme možnosti zakódovat kontext do embeddingů, efektivně ho uchovat v zakódované podobě v databázi i využít vektorové databáze k omezení kontextu, pokud je dobře strukturován pomocí metadat. Naopak pokud je kontext malý, existuje dnes celá řada nástaveb pro standardně rozšířené AI chaty, nebo specializovanější softwary. Navíc tento obor se extrémně rychle rozvíjí. Co nebylo k dispozici dnes, bude zítra. 

Příklad; Vezměme si předchozí příklad s recenzemi. Tentokrát však chceme odpověď na otázku: "Co zákazníci nejvíce vyčítají produktu <kód produktu>?", nebo požadujeme: "Napiš mi normostranu textu o tom s čím jsou zákazníci spokojeni u produktů <značka-kategorie>." Potom se nám hodí využít například OpenAI ChatGPT a jako kontext použít natěžené recenze. Vzhledem k tomu, že se jedná o velké množství textu, bude pro nás efektivní i ekonomicky výhodné (přístup k OpenAI API je objemově zpoplatněná služba), když recenze zašleme ve formě embeddingů. V případě prvního dotazu můžeme navíc zaslat jen embeddingy z dokumentů, jejichž metadata jsou spojena s daným kódem produktu. Ve druhém případě zase můžeme pomocí metadat odstranit recenze se špatným hodnocením, protože správným kontextem pro AI jsou pouze pozitivní recenze.

Efektivita komunikace s OpenAI a dostupné embedding funkce

Kontext můžeme do OpenAI zasílat jako klasické řetězce. Nicméně výhodnost tohoto přístupu dramaticky klesá s délkou řetězce (textu). Zaslat kontext v podobě embeddingů má následující výhody:
  1. Embeddingy jsou z hlediska objemu dat výrazně úspornější pro přenos dat => větší efektivita
  2. Embeddingy již v sobě nesou nemalou investici výpočetního času na jejich zakódování => není nutné provádět na serveru třetí strany => opět vyšší efektivita
Protože čas jsou peníze, zejména v případě OpenAI. Jsou k dispozici v OpenAI různé embedding funkce na míru potřebám uživatele. Správná volba embedding funkce dokáže ušetřit cenný čas zpracování a tím i prostředky vynaložené na kredit pro OpenAI. OpenAI své embedding funkce pravidelně zdokonaluje a poskytuje detailní informace o nových embedding funkcích. Jít v tomto ohledu s dobou znamená ušetřit peníze. Například:
  • text-embedding-3-small nahrazuje původní text-embedding-ada-002 a je výrazně efektivnější pro zpracování než zmíněný předchůdce. To umožňuje při jejím použití ušetřit až 5x tolik kreditu.
  • text-embedding-3-large naopak umožňuje lépe zachytit význam z velmi dlouhých textů pomocí 3072 dimenzionálního prostoru.

První dojem z KDE 6? Neskutečně rychlé!

bře 11 2024

Už to tak bývá zvykem, že s každým upgradem operačního systému si člověk pokládá otázky: "Tak kolik nepotřebných fíčurek zase přidali? a "O co pomalejší to zas celé bude?". Ty nejhorší sajrajty se zpravidla už roky protlačují pod záminkami větší bezpečnosti, nebo údajně více přívětivého uživatelského prostředí. Ano, mé konzervativní srdce potěší jen málo co :)) Proto už skoro 18 let používám Linux jako svůj hlavní operační systém. Z toho cca 14 let Archlinux, který vyniká svižností, stabilitou a naprostou bezúdržbovostí. 

KDE 6

Obr. 1: Grafické prostředí KDE 6 po upgrade

Jaká grafická prostředí jsem používal

Jako grafické prostředí jsem používal všelicos. Na začátku to bylo Gnome. Potom jsem se zhlédl v minimalističnosti Xfce, pro něž jsem založil zápis na české Wikipedii. Následovalo další minimalistické prostředí LXQt do nějž jsem svého času přispíval jako programátor zdokonalováním správce souborů Qtfm. Pak mě posedlost minimalističností přestala bavit a již natrvalo jsem zakotvil u KDE.

Přechod z KDE 5 na KDE 6

KDE 5 tady bylo 10 let. Svižné, plnohodnotné grafické prostředí, které se díky Plasmě srovnalo se svými komerčními konkurenty. A v lecčems je i překonalo. Minulý týden jsem zjistil, že mi do archovských repozitářů doputovalo KDE 6. S trochou obavy jsem do Yakuake podvědomě psal archlinuxákům notoricky známé "pacman -Syu". V paměti jsem měl ještě přechod z KDE 4 na KDE 5, kdy jsem si pak dva dny dával dohromady pracovní prostředí. Obavy vystřídal úžas. Do 10 minut nainstalováno i s rebootem. Naprosto hladký přechod, bez jediného problému. A ta rychlost! Mám klasický kancelářský T-čkový Thinkpad se čtyřjádrovým Intel i5 a 48 GB RAM, na nedostatečný výkon si nemůžu stěžovat ani se stovkami tabů v Chrome. Ale ten rozdíl byl stejně cítit. Okamžitá odezva čehokoliv. Žádná prodleva nikde. 

KDE 6 oživilo i starý stroj

O víkendu jsem doma šel pozlobit i svůj vysloužilý, stařičký Thinkpad T460, který řádně funí a laguje, když na něm současně běží integrační testy WebMedea jobů pro zpracování dat a současně mám otevřeny 3 robustní IDE a mraky záložek v prohlížeči. Po instalaci KDE 6 nastala opět dramatická změna. Už jsem měl pro něj rezervované místo v našem pohřebišti vysloužilých Thinkpadů, ze kterého si Marek bere součástky, když někomu z rodiny či kolegů potřebuje opravit notebook. Ale stal se tak použitelným. KDE 6 vřele doporučuji.

Smazané domény - co dělám s odkazy na ně?

bře 02 2024

Dnes jsem věnoval trochu času údržbě blogu. Prošel jsem staré články a opravil odkazy vedoucí z nich. Bylo zajímavé podívat se na to, co se za ta léta změnilo. V zásadě...

  1. Řada webů i větších portálů, institucí (například caves.cz) při svých redesignech kašlou na zachování původní struktury URL, nebo vyřešení přesměrování původních URL na nové. A pak se třeba leckdy díví, že jim klesá organická návštěvnost. To, co ve své informační bublině považujeme za dnes již samozřejmé, řada webařů pořád nedodržuje, ke škodě své a svých klientů. 
  2. Odkazoval jsem restaurace napříč republikou, které jsem v průběhu let navštívil. Většina jich už neexistuje. Nejspíše nepřežily Covid. Jejich weby zmizely v propadlišti dějin. Příslušné domény posloužily jako mršiny pro internetové affiliate supy. Ti koupili smazané domény a přesměrovali je na různé online byznysy. Například doménu restaurace cernyjanek.cz na zonky.cz.

Rád odkazuji cokoliv mě zaujme, takový odkaz pak již neměním dokud existuje původní stránka s původním obsahem. Jinak se rozhoduji podle výše uvedených případů. V tom prvním opravím odkaz na novou URL, na které je původní obsah. V tom druhém odkaz většinou smažu. Když afiláci zachovají, nebo dokonce vylepší, původní obsah a v něm si najdou tématický můstek pro odkazování čehokoliv, odkaz nechávám. Pokud ale mrtvolu vykuchají a vyzvrací do ní skladiště PR textů, nebo rovnou přesměrují na pro ně aktuálně výhodný handl, pak tomuto nehodlám sloužit.

Skladiště PR textů

Obr. 1: Vytvářet skladiště PR textů má dnes asi stejný význam jako vozit odpad to lesa, vytvořeno v Midjourney

Vnímám webové prostředí jako ekosystém. Weby neustále vznikají i zanikají. Pokud je smysluplný obsah tvořený pro lidi, vždy má svůj smysl bez ohledu zda ho tvoří člověk nebo mu s tím pomáhá umělá inteligence. Naopak výroba bezduchých skladišť odkazů a nic neříkajících textů pro "oklamání" Google nikam nevede. Ať už tyto texty tvoří copywriter za 40 Kč za normostranu, nebo OpenAI. Stejně tak jako pouhé přesměrovávání mrtvých domén není dlouhodobá výhra. Více se tomuto tématu budu věnovat v budoucnu. Dat z WebMedea máme již dost i spoustu zajímavých zjištění. 

UPDATE 5. 3. 2024

Já o vlku a Google v aktuálním update vyhledávače oznámil, že se zaměřil na "expired domain abuse" tedy manipulaci s expirovanými doménami, kterou jsem popsal výše. 

expired domain abuse

Obr. 2: Update Google o "expired domain abuse"

SEO šmejdi a jiní šejdíři

úno 24 2024

Před 7 lety jsem na micropage SEO analytika publikoval čtyři archetypy takzvaných SEO šmejdů. Na sklonku roku 2019 jsem sem na svůj blog postupně sepsal zkušenosti se zmíněnými šmejdy. Dnes jsem se k těmto článkům vrátil. Za prvé kvůli opravě a doplnění odkazů, za druhé z nostalgie, protože zmíněné zkušenosti jsou spojeny s našimi začátky a letos bude TRITON IT slavit 10 let. 

Když už jsem se k článkům vrátil, rozhodl jsem se, že ty suché odstavce textu (slovy Petra Kulhánka "chleby") obarvím. Že zkusím vygenerovat přes AI zosobnění zmíněných archetypů SEO šmejdů. To, jak přesné karikatury mi na základě mého popisu zhuštěného do několika promptů vypadly, mě samotného zaskočilo :D. Oni to chování mají vepsané do očí, přesně jako ve skutečnosti...

SEO šmejdi

Obr. 1: SEO šmejdi

Tak schválně - který je který? Přidávám odkazy na popisy SEO šmejdů...

S odstupem času jsem si uvědomil, že se mi možná trochu povedlo vystihnout obecné archetypy šejdířů. Doba se přecijen změnila. A online prostor se za ta léta zvětšil. Nejen SEO, ale i jiné obory jako AI, koučink všeho možného, nebo oborový influenceři mají dnes svá temná zákoutí, ve kterých se zmíněné archetypy pohybují. Možná jste už na ně narazili. Upozornila mě na to například moje manželka Káťa, která má vystudovanou biochemii na VŠCHT (nutnou podmínkou pro její kvalifikaci je ovládat biochemické cykly řídící metabolismus látek v lidském těle) a léta klinické praxe v nemocnici na Homolce. A to v momentě, kdy se na sítích začali objevovat oblíbení influenceři takzvaní "proroci jednoho prvku". Ti si vyberou jeden prvek periodické soustavy, ten glorifikují a tvoří o něm obsah založený z části na veřejně dostupných informacích a z části na smyšlených bludech. Ve svém "shopíku" pak prodávají produkty založené na tomto prvku. V četných rozhovorech se pak prezentují jako ti kdo objevili / prohlédli jakési "hlubší souvislosti a podstatu", nebo, že se dostali k informacím, které "doktoři zamlčují". Tedy typičtí reprezentanti archetypu pana Tajemného. Útěchou budiž, že si dnes vybírají prvky typu hořčík nebo selen. Od zázračného léku radithoru, jsme snad přecijen někam za těch 100 let dospěli.

Karlové jako klíč k úspěšnému obsahu

úno 23 2024

V TRITON IT nedáme dopustit na školení od Michelle Losekoot. Byli jsme na "Jak na sítě" i "Jak na obsah, jako profesionální kreativci". A protože teď máme na sociální sítě nového šikovného kolegu Seržu, posíláme ho na "Jak na sítě". Myslím, že se z toho tady stane taková tradice. Samozřejmě za prvotní výběr Michelle patří velký dík Lucce. 

Michelle mne na školení zaujala, mimo jiné, přístupem, kdy si prochází příspěvky na sociálních sítích, vybírá ty zajímavé, podrobuje je analýze a používá je k výuce. Analýza spočívá v konfrontaci sdělení s jedním nebo více Karly (Karel je alegorie typického reprezentanta určité cílové skupiny). Pokud příspěvek projde u jednotlivých Karlů, včetně Karla - věčně remcajícího mrzouta, nebo Karla - znuděného týpka co už všechno viděl a všechno zná, tak má šanci obstát. 

Jednu takovou malou ukázku perfektního příspěvku mám z LinkedIn. Autorkou příspěvku je Moni Jiroušková, která nabízí angličtinu a pohybuje se mezi manažery na LinkedIn. Představte si Karla, který je manažer. Angličtinu se několikrát v životě učil a běžně ji používá při obchodních jednáních, zároveň podvědomě cítí, že by na ni mohl ještě zapracovat. Pravidelně ho bombarduje reklama a příspěvky s texty "angličtina snadno a rychle, zaručeně jen u nás, my jsme lepší než nejlepší, u nás na to jdeme jinak". A pak uvidí příspěvek od Moniky "Cítíte se někdy v hovorech v angličtině nekomfortně?" Kdo má největší šanci trefit se do Karlových potřeb a zaujmout ho?

Obr. 1: Perfektní zacílení příspěvku na manažery

Proč je to tak důležité? Který příspěvek s větší pravděpodobností dosáhne lepších výsledků po naboostování kreditem? Ten co má vyladěný obsah a prošel přes Karly, nebo ten co byl vytvořen podle chvilkové emoce či domněnky? A to je důvod, proč i když TRITON IT je primárně analytická firma, tak dbáme na to, abychom se cvičili v údernosti komunikace. Cvičíme si ty naše Karly v hlavě.

Když prodeje předčí očekávání

led 11 2024

Mám za sebou dnešní poradu výsledků v MISURA. Je 11. ledna a řešíme, že jsme ve stolních monitorech takřka vyprodali sklad na první kvartál 2024.

Už v létě, když jsme nové portfolio plánovali, lámali jsme si hlavu. Pochopí nás spotřebitel? Všimne si poměru nižší cena / lepší parametry? Zorientuje se v našich produktech? Jsme přecijen ještě relativně neznámá značka. Když na spotřebitele vyskočí náš stolní monitor, bude mít ve značku důvěru, bude vůbec ochoten se parametry zabývat? Patrně pochopil a velmi rychle.

Sezóna funguje

Kromě monitorů opět funguje sezóna. Posilovny jsou přeplněné takzvanými ledňáčky. A produktová kategorie MISURA body (i na trhu několikrát brutálně mrzačeném levnými šumty a cenovými válkami) opět ukazuje schopnost maximalizovat sezónní prodeje tak, aby se  březnu prohodila s kategorií MISURA automotive

Využití aplikace WebMedea

Produktové popisky tvoříme na základě analýz klíčových slov v naší aplikaci WebMedea. Například prohnutý monitor hledá dvojnásobek lidí než zahnutý monitor. První příčky v Google svým obsahem standardně obsazuje Alza. Ale Smarty je zatím největším skokanem. Na záda mu dýchá Okay. Všichni tři jsou naši distributoři. Speciálně Smarty na to v online hezky šlape.

Trendy na klíčové slovo

Obr. 1: Trendy na klíčové slovo "prohnutý monitor" ve WebMedea.

Pořád je co zlepšovat

Například, podobně jako my v rámci rádce kompatibility monitorů s notebooky, Smarty vytvořili dopadovou stránku s monitory vhodnými pro daný notebook. My v rámci našeho rádce máme vytvořeny pravidelné aktualizace o nové řady nejprodávanějších notebooků. Na základě  počtu a typu konektorů, typů procesorů a rozměrů dipleje notebooku automatizovaně sestavujeme tip na nejvhodnější přenosný monitor MISURA pro daný notebook. Dále tabulku dalších kompatibilních monitorů. Samozřejmě toto je jedna z částí, kterou hodláme automatizovat pomocí AI.

Když Miro definoval marketingový archetyp MISURA, zvolil "Smart guy", který je na půli cesty mezi pečovatelem a kouzelníkem. Z kouzelníka si bere důraz na inovace, touhu ohromit, přinést přidanou hodnotu i trošku jeho drzosti. Z pečovatele zase ochotu vysvětlit, poradit, na čemž si zakládá zákaznická podpora a což se snažíme odrážet do magazínu MISURA

A právě takový MISURA Smart guy by mohl být náš budoucí AI influencer, který by na základě množství know how o našich produktech radil zákazníkům s výběrem. Ale nejprve je nutné načerpat ty správné informace. Proto se již příští týden těším na workshop Tvoříme AI influencera od ČAUI.

Do nového roku s větším přehledem

led 03 2024

Tak už mám v kanceláři na stole nový 34 palcový prohnutý monitor MISURA. Nemusím ho už chodit obdivovat přes chodbu k Jirkovi :). Zbývá dovybavit kolegy z TRITON IT, kteří ho budou také chtít. Zatímco třeba Mára se těší, jak se mu na tomhle monitoru budou spravovat PPC-čka. Tak třeba Sergej dává zatím přednost dvěma klasickým.

Prohnutý monitor MISURA EG34RWA

Obr. 1: Prohnutý monitor MISURA EG34RWA

Proč MISURA rozšířila portfolio i o stolní monitory?

Už jsem to lehce naťukl, když jsem psal o vývoji e-commerce a ve svém shrnutí roku 2023. V segmentu přenosných dvojmonitorů se nám podařilo prosadit. Navíc, nejvíce ze všech produktových kategorií brandu MISURA jsme si sedli právě s cílovou skupinou zákazníků monitorů a ergo stojanů - vzdělaní geeci z kanceláří, kteří se zajímají o ergonomii svého pracovního místa. Po třech letech postupného budování značky MISURA v nás uzrálo, že právě tohle je cílová skupina, se kterou se chceme rozvíjet nejvíce. A v neposlední řadě Jirka přijal výzvu Alzy. Na jaře 2023 se dohodli, že pokud MISURA dokáže přijít se zástupci všech hlavních kategorií stolních monitorů. Každý zástupce bude v parametrech minimálně shodný (a v některých lepší), než nejprodávanější monitor dané kategorie. A současně bude levnější, než zmíněný nejprodávanější monitor dané kategorie. Potom Alza díky monitorům MISURA přinese přidanou hodnotu zákazníkům a naskladní celé portfolio monitorů. O tom zda se to povedlo se lze snadno přesvědčit na Alze, která se již plní našimi monitory.

Co se aktuálně děje

Rozjetí propagace nových monitorů je v přípravě. Od podzimu se v režii Mira Hranického a jeho lidí připravovaly specifikace, manuály, obaly. Ve druhé polovině prosince dorazily z výroby první kusy. Po update eshopu a produktových feedů, kolegové updatovali shoppingové performance max kampaně. Chystá se spuštění propagace na sociálních sítích, které povede Lucka ve spolupráci s novou externí agenturou MVKM, vedenou Martinem Staňkem, který má již zkušenosti s prací pro značky NiceBoy nebo Sennheiser. Uvidíme, jestli se nám do rozpočtu vejde nativka u Skliku, která se na představování produktů hodí. Klíčovým textem, který jsme s kolegy pro naše distributory a klienty připravili je návod, jak se vyznat a jak správně vybrat monitor MISURA. Tahle dopadovka provede čtenáře téměř celým portfoliem monitorů MISURA, představuje jednotlivé typy, uvádí jejich parametry, k čemu a pro koho jsou vhodné, obsahuje dynamické produktové CTA boxy, směřující uživatele do eshopu. Čerpáme zde již ze zkušeností z prodeje přenosných monitorů, kdy, i přes veškerou tvorbu obsahu, byla zákaznická podpora často pod palbou zvědavých zájemců, kteří se pořebovali na všechny parametry a vhodnost produktu pro ně pořádně vyptat.

Jaký je nájezd prodejů monitorů

Ještě před pořádným spuštěním propagace už máme bestseller. Jeden z monitorů, sotva se dostal na pulty, se začal automaticky prodávat. Je to prohnutý herní monitor MISURA MM24DFA. To, že po něm spotřebitel ihned skočil si vysvětlujeme poměrem cena / výkon. Teď je samozřejmě na nás výzva odkomunikovat zajímavější kousky v portfoliu :)). Pokud se nepletu, k vidění už by měly být i v showroomu MISURA.

Jaká je moje osobní zkušenost s monitorem

MISURA EG34RWA ze zadu

Obr. 2: MISURA EG34RWA ze zadu, na mém stole

Samozřejmě jsem viděl a ošahal téměř všechny monitory v portfoliu. Už když jsme s Jirkou procházeli prototypy, vybral jsem si jako svůj budoucí pracovní monitor MISURA EG34RWA. Musím říci, že pro člověka, který doteď používal v kanceláři k displeji notebooku navíc klasický 24 palcový DELL, je ten prostor skutečně velkolepý. To zakřivení mne nijak neiirituje, naopak, úplně mě to vtáhne do "děje". Práce v tabulkových procesorech je prostě luxus. Monitor ani jeho adaptér samozřejmě nijak nehučí, nebzučí, nesyčí, jako se mi kdysi stávalo na mém prvním LCD-čku - 24 palcovém Aceru. Zapojení v Linuxu bylo bezproblémové. Jen pozor. Ti co používají na Linuxu ve svém grafickém prostředí Wayland místo Xorg musí v GRUB přidat jako výchozí poměr hran 21:9. Připravíme na to v brzké době návod do MISURA stories. Abych šetřil oči, rozlišení jsem si nastavil na nižší 2560x1080, i tak je ten prostor parádní.

U EG34RWA je sranda, že kdokoliv ho u Jirky na stole viděl, tak ho chtěl taky :D. Takže už během podzimu se vytvořila čekací listina kolegů a známých. Jakube a spol, brzo se dostane i na Vás ;) :D. U nových přenosných podobné emoce budil  MISURA style s celohliníkovým šasi. U něj jsem hodně zvědav, jak na něj zareaguje trh, třeba si ho na chalupu také ještě pořídím.