{"id":16288,"date":"2023-06-27T11:16:51","date_gmt":"2023-06-27T09:16:51","guid":{"rendered":"https:\/\/vived.io\/?p=16288"},"modified":"2023-07-03T21:03:56","modified_gmt":"2023-07-03T19:03:56","slug":"jvms-open-source-all-stars-june-2023-llm-edition-jvm-weekly-vol-140","status":"publish","type":"post","link":"https:\/\/vived.io\/pl\/jvms-open-source-all-stars-june-2023-llm-edition-jvm-weekly-vol-140\/","title":{"rendered":"JVM\u2019s Open Source All-Stars, June 2023: LLM Edition &#8211; JVM Weekly vol. 140"},"content":{"rendered":"\n<p>Ostatnimi czasy zastanawia\u0142em si\u0119 jak urozmaici\u0107 nasze edycje, i od d\u0142u\u017cszego czasu przymierza\u0142em si\u0119 do tego, \u017ceby ostatnia edycja ka\u017cdego miesi\u0105ca by\u0142a po\u015bwi\u0119cona ciekawym projektom JVM-owego Open-Source, kt\u00f3re pojawi\u0142y si\u0119 (lub zacz\u0119\u0142y trendowa\u0107, bo to te\u017c si\u0119 zdarza) przed ostatni miesi\u0105c. Ale nie takiego Open-Source jak Micronaut czy Smallrye &#8211; raczej takich Hidden Pearls naszego community. Jako, \u017ce wakacje jak zawsze s\u0105 nieco spokojniejszym okresem, akurat przydarza si\u0119 dobra okazja. Dodatkowo, pewnym zaskoczeniem (cho\u0107 w\u0142a\u015bciwie nie wiem dlaczego, mog\u0142em si\u0119 spodziewa\u0107) jest fakt, \u017ce wysz\u0142o nam bardzo tematycznie.<\/p>\n\n\n\n<p>2023 to rok LLM\u00f3w, i cho\u0107 JVM nie do ko\u0144ca kojarzy si\u0119 z tym ekosystemem, to jednak r\u00f3wnie\u017c i jego nie omin\u0119\u0142a fala hype. Dlatego mam dla was dzisiaj czterech projekt\u00f3w, a ka\u017cdy z nich w jakim\u015b stopniu dotyka tematu modeli j\u0119zykowych. Przy okazji porozmawiamy sobie o projektach i koncepcjach, na kt\u00f3rych ka\u017cda z zaprezentowanych bibliotek bazuje.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"512\" height=\"386\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/1675814275992.jpeg\" alt=\"\" class=\"wp-image-16306\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/1675814275992.jpeg 512w, https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/1675814275992-300x226.jpeg 300w\" sizes=\"auto, (max-width: 512px) 100vw, 512px\" \/><figcaption class=\"wp-element-caption\">No, i teraz mo\u017cemy zaczyna\u0107<\/figcaption><\/figure><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 id=\"vertexai-kt\" data-num=1>VertexAI-kt<\/h2>\n\n\n\n<p>Ja wiem, \u017ce w masowej \u015bwiadomo\u015bci istnieje g\u0142\u00f3wnie OpenAI i ChatGPT, ale pozostali gracze te\u017c posiadaj\u0105 swoje rozwi\u0105zania. Taki Vertex AI od Google to wszechstronna platforma do uczenia maszynowego, rozwijana od lat (pami\u0119tacie, gdy to Google kojarzy\u0142 si\u0119 z &#8222;The AI Company?), kt\u00f3ra teraz zosta\u0142a wzbogacona r\u00f3wnie\u017c o wsparcie dla LLM i generatywnej sztucznej inteligencji. Obejmuje to zaawansowane modele, takie jak PaLM 2 (odpowiednik GPT od OpenAI), Imagen (model Text-to-Image) i Codey, kt\u00f3ry jest odpowiedzi\u0105 firmy na GitHub Copilota. Taki GitLab podzieli\u0142 si\u0119 na przyk\u0142ad, \u017ce <a href=\"https:\/\/about.gitlab.com\/blog\/2023\/05\/02\/explain-this-vulnerability\/\">korzysta przyk\u0142adowo Codey do swojej funkcji &#8222;explain this vulnerability&#8221;<\/a>.<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/hexascribe\/vertexai-kt\">hexascribe\/vertexai-kt<\/a> to za\u015b biblioteka Kotlin Multiplatform, zaprojektowana w celu u\u0142atwienia integracji z API Vertex AI, a wszystko w spos\u00f3b natywny dla Kotlina. VertexAI-kt skupia si\u0119 g\u0142\u00f3wnie na aplikacjach mobilnych, ale cz\u0119\u015bci wsp\u00f3lnej powinno da\u0107 si\u0119 u\u017cy\u0107 w zasadzie ka\u017cdym projekcie, r\u00f3wnie\u017c serwerowym. W ko\u0144cu MultiPlatform to MultiPlatform.<\/p>\n\n\n\n<p>Ale je\u017celi budujecie w\u0142asne aplikacje mobilne, ta sama organizacja w swoich repozytoriach posiada te\u017c zestaw komponent\u00f3w opartych na Kotlin MultiPlatform, umo\u017cliwiaj\u0105cych \u0142atwe tworzenie chatbot\u00f3w opartych o OpenAI &#8211; <a href=\"https:\/\/github.com\/hexascribe\/chatbot-builder\">hexascribe\/chatbot-builder<\/a>.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/bard-1024x525.jpg\" alt=\"\" class=\"wp-image-16300\" width=\"768\" height=\"394\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/bard-1024x525.jpg 1024w, https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/bard-300x154.jpg 300w, https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/bard-768x394.jpg 768w, https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/bard-1536x787.jpg 1536w, https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/bard-2048x1049.jpg 2048w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><figcaption class=\"wp-element-caption\">A, i wbrew obiegowej opinii, Vertex AI dzia\u0142a w Europie. Takiego Barda niestety nie potestujecie \ud83e\udd37\u200d\u2642\ufe0f<\/figcaption><\/figure><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 id=\"langchain4j\" data-num=2>langchain4j<\/h2>\n\n\n\n<p>LangChain to framework stworzony przez Harrisona Chase&#8217;a, skoncentrowany na Du\u017cych Modelach J\u0119zykowych (LLMach &#8211; Large Language Models), kt\u00f3re zdoby\u0142y ogromn\u0105 popularno\u015b\u0107 po wydaniu GPT-3 (a pewnie nawet bardziej GPT-3.5 i GPT-4) przez OpenAI. LangChain, kt\u00f3ry pojawi\u0142 si\u0119 pod koniec pa\u017adziernika 2022 roku, wykorzystuje te rozwi\u0105zania, oferuj\u0105c platform\u0119 do tworzenia nie eksperyment\u00f3w, a production-ready aplikacji opartych na LLMach.<\/p>\n\n\n\n<p>Podstawowym konceptem stoj\u0105cym za LangChain jest mo\u017cliwo\u015b\u0107 &#8222;\u0142a\u0144cuchowego&#8221; \u0142\u0105czenia r\u00f3\u017cnych komponent\u00f3w w celu tworzenia zaawansowanych zastosowa\u0144. Te \u0142a\u0144cuchy mog\u0105 zawiera\u0107 elementy z kilku modu\u0142\u00f3w, takie szablony dla r\u00f3\u017cnych typ\u00f3w prompt\u00f3w, (takich jak odpowiedzi w stylu chatbota, ELI5 itp), integracj\u0119 z r\u00f3\u017cnymi modelami LLM (GPT-3, BLOOM, itp), agenci (kt\u00f3rzy korzystaj\u0105 z LLMs, aby decydowa\u0107 o dzia\u0142aniach, zreszt\u0105 jeszcze dzi\u015b b\u0119dzie o projekcie gpt-engineer, nale\u017c\u0105cym do tej kategorii), oraz pami\u0119\u0107 (kr\u00f3tko- i d\u0142ugoterminowa). A wszystko podane w formie typowo aplikacyjnego frameworku.<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/langchain4j\/langchain4j\">langchain4j\/langchain4j<\/a> to za\u015b javowy wrapper do langchaina &#8211; taki na sterydach. Ca\u0142o\u015b\u0107 ju\u017c w tej chwili prowadzi za r\u0119k\u0119 i skupia si\u0119 na klarownym pokazaniu mo\u017cliwo\u015bci (w projekcie znajdziecie podany <a href=\"https:\/\/github.com\/langchain4j\/langchain4j-examples\/tree\/main\">katalog z przyk\u0142adami<\/a>), a tw\u00f3rcy zapowiadaj\u0105 dalszy rozw\u00f3j. Na ten moment ca\u0142o\u015b\u0107 jeszcze nie przebi\u0142a si\u0119 do masowej \u015bwiadomo\u015bci, ale osobi\u015bcie trzymam kciuki &#8211; a \u017ce nawet podczas pisania tego tekstu pojawi\u0142y si\u0119 nowe commity, a tw\u00f3rcy dostali w Issues zaproszenie na Devoxx Belgium, my\u015bl\u0119 \u017ce o langchain4j jeszcze us\u0142yszymy.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 id=\"midjourney-proxy\" data-num=3>midjourney-proxy<\/h2>\n\n\n\n<p>O ile o poprzednich dw\u00f3ch projektach mogli\u015bcie nie s\u0142ysze\u0107, o tyle zak\u0142adam, \u017ce Midjourney jest znane w zasadzie ka\u017cdemu, kto nie schowa\u0142 si\u0119 pod kamieniem. LLM do generowania jest wiele&#8230; ale Midjourney jest jedno. YMMV, ale dla mnie ani Stable Diffusion, ani Dalle projekt nie maj\u0105 startu do tego projektu &#8211; nawet taki laik jak ja jest w stanie osi\u0105gn\u0105\u0107 naprawd\u0119 dobre efekty.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/Vived_cyberpunk_jesus_2bc09eb1-2176-4ed0-823f-b0ba77cefd1b.png\" alt=\"\" width=\"672\" height=\"448\"\/><figcaption class=\"wp-element-caption\">Ja przynajmniej jestem dumny ze swojego Cyberpunk Jezusa.<\/figcaption><\/figure><\/div>\n\n\n<p>Midjourney ma jednak jedn\u0105 wad\u0119 &#8211; nie posiada API. Jedynym interfejsem obs\u0142ugi tego projektu jest bowiem Discord, pozwalaj\u0105cy na u\u017cywanie bota do generowania obraz\u00f3w. Wiadomo jednak, \u017ce w luk\u0119 po brakuj oficjalnych rozwi\u0105za\u0144 pojawi\u0105 si\u0119 takie&#8230; mniej oficjalne. Tym jest w\u0142a\u015bnie trzeci z opisywanych dzi\u015b projekt\u00f3w &#8211; <a href=\"https:\/\/github.com\/novicezk\/midjourney-proxy\">novicezk\/midjourney-proxy<\/a>. To takie &#8222;fanowskim&#8221; API, pod postaci\u0105 zar\u00f3wno kodu \u017ar\u00f3d\u0142owego, jak i dockerowego obrazu, do kt\u00f3rego trzeba przekaza\u0107 klucz autoryzacyjny wykradziony z header\u00f3w Discorda, a kt\u00f3re zarz\u0105dza generowaniem obrazu, udost\u0119pniaj\u0105c odpowiednie endpointy i hooki, kt\u00f3re mo\u017cemy u\u017cywa\u0107 do sprawdzania, czy mamy ju\u017c wygenerowany odpowiedni obrazek.<\/p>\n\n\n\n<p>A, i \u017ceby nie by\u0142o za prosto, repozytorium jak i ca\u0142a dokumentacja s\u0105&#8230; po chi\u0144sku. Na szcz\u0119\u015bcie nie jest jako\u015b skomplikowane, a przebijanie si\u0119 przez instrukcje uruchomienia da\u0142a mi najwi\u0119cej zabawy od czasu potrzeby reverse-engineeringu integracji z azjatyckimi smart-gniazdkami za 15$.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"500\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/image-15.png\" alt=\"\" class=\"wp-image-16296\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/image-15.png 750w, https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/image-15-300x200.png 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><figcaption class=\"wp-element-caption\">Mog\u0142emu kupi\u0107 Hue za 30$, ale where is fun in that.<\/figcaption><\/figure><\/div>\n\n\n<p>PS: Kocham Midjourney, to w\u0142a\u015bnie ono generuje dla mnie obrazki do zajawek post\u00f3w. Dzisiejszy wygenerowa\u0142em w\u0142a\u015bnie za pomoc\u0105 <a href=\"https:\/\/github.com\/novicezk\/midjourney-proxy\">midjourney-proxy<\/a>.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/Untitled-3-1024x587.jpg\" alt=\"\" class=\"wp-image-16294\" width=\"768\" height=\"440\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/Untitled-3-1024x587.jpg 1024w, https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/Untitled-3-300x172.jpg 300w, https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/Untitled-3-768x440.jpg 768w, https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/Untitled-3-1536x881.jpg 1536w, https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/Untitled-3.jpg 1604w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><figcaption class=\"wp-element-caption\">Ciekawostka &#8211; tak ca\u0142\u0105 sytuacje wyobrazi\u0142 sobie AI.<\/figcaption><\/figure><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 id=\"chat2db\" data-num=4>Chat2DB<\/h2>\n\n\n\n<p>Pozostaj\u0105c w chi\u0144skiej strefie wp\u0142yw\u00f3w (aczkolwiek tym raz ju\u017c takiej z angielsk\u0105 dokumentacj\u0105), kolejnym projektem jest stworzony przez Alibab\u0119 klient do baz danych SQL. Zgodnie jednak z tematyk\u0105 tej edycji, nie mo\u017ce to by\u0107 &#8222;zwyk\u0142y&#8221;, klasyczny klient.<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/chat2db\/Chat2DB\">chat2db\/Chat2DB<\/a> charakteryzuje si\u0119 bowiem integracj\u0105 z OpenAI (dokumentacja podpowiada te\u017c, jak pod\u0142\u0105czy\u0107 si\u0119 do niego z terenu Chin za pomoc\u0105 VPN), co pozwala na konwersj\u0119 j\u0119zyka naturalnego na SQL i odwrotnie, co znacznie poprawi\u0107 ma wydajno\u015b\u0107 deweloper\u00f3w. Przyznam, \u017ce mia\u0142em przyjemno\u015b\u0107 bawi\u0107 si\u0119 ju\u017c w generowanie zapyta\u0144 SQL z poziomu takiego ChatGPT, i to rzeczywi\u015bcie bywa pomocne. R\u00f3wnocze\u015bnie jednak poza integracj\u0105&nbsp;z API, program ma r\u00f3wnie\u017c &#8222;klasyczne&#8221; funkcje, takie jak zarz\u0105dzania danymi, obs\u0142uguj\u0105c r\u00f3\u017cne rodzaje baz danych.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 id=\"bonus\" data-num=5>Bonus<\/h2>\n\n\n\n<p>Dwa ostatnie projekty dostajecie za\u015b niejako w bonusie, poniewa\u017c mimo \u017ce nie s\u0105 w Javie, wpisuj\u0105 mi si\u0119 w tematyk\u0119. Je\u015bli wi\u0119c po powy\u017cszej czw\u00f3rce macie ochot\u0119 na wi\u0119cej, czytajcie do ko\u0144ca.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">GPT Engineer<\/h3>\n\n\n\n<p><a href=\"https:\/\/github.com\/AntonOsika\/gpt-engineer\">AntonOsika\/gpt-engineer<\/a> to &#8222;adaptowalne i rozszerzalne narz\u0119dzie AI przeznaczone do zada\u0144 programistycznych&#8221; &#8211; taki Developer-as-a-Sevice. Generuje ono projekty programistyczne na podstawie instrukcji u\u017cytkownika, umo\u017cliwiaj\u0105c \u0142atwe przekazanie pocz\u0105tkowej specyfikacji (plik tekstowy, w kt\u00f3rym mo\u017cna te\u017c zasugerowa\u0107, jak\u0105 specjalizacje ma za\u0142o\u017cy\u0107 bot) i p\u00f3\u017aniejsz\u0105 interakcje w konsoli, w wypadku gdy bot b\u0119dzie wymaga\u0142 klaryfikacji.<\/p>\n\n\n\n<p>Mamy wi\u0119c do czynienia z nieco bardziej wyspecjalizowan\u0105 wersj\u0105 Auto-GPT &#8211; kto siedzia\u0142 w temacie LLM to na pewno si\u0119 na ten projekt nadzia\u0142. Powiem Wam szczerze, \u017ce nie mam za bardzo cierpliwo\u015bci do tego typu narz\u0119dzi (aczkolwiek buduj\u0105 empati\u0119 &#8211; jak bardzo sfrustrowani musz\u0105 by\u0107 czasem PMi, nie mog\u0105c klarownie przekaza\u0107 co chc\u0105 osi\u0105gn\u0105\u0107). Ale wiecie co&#8230; prostego scrappera projekt\u00f3w javowych Open Source z GitHuba mi napisa\u0142. I to takiego co rzeczywi\u015bcie zadzia\u0142a\u0142 &#8211; b\u0119d\u0119 mia\u0142 jak ula\u0142 na za miesi\u0105c.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/jsoup-1024x729.jpg\" alt=\"\" class=\"wp-image-16298\" width=\"768\" height=\"547\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/jsoup-1024x729.jpg 1024w, https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/jsoup-300x214.jpg 300w, https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/jsoup-768x547.jpg 768w, https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/jsoup-1536x1094.jpg 1536w, https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/jsoup-2048x1458.jpg 2048w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><figcaption class=\"wp-element-caption\">I nawet u\u017cy\u0142 Jsoup do tego &#8211; cwaniak.<\/figcaption><\/figure><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">AI For Beginners<\/h3>\n\n\n\n<p>Dla tych za\u015b, kt\u00f3rzy nie czuj\u0105 si\u0119 komfortowo z tym co zobaczyli powy\u017cej i chcieliby nieco bardziej zg\u0142\u0119bi\u0107 temat, a dodatkowo maj\u0105 troch\u0119 czasu &#8211; dla nich jest ostatnimi link, <a href=\"https:\/\/github.com\/microsoft\/AI-For-Beginners\">microsoft\/AI-For-Beginners<\/a>. Pracownicy Microsoftu stworzyli bowiem 12-tygodniowy program nauczania sk\u0142adaj\u0105cy si\u0119 z 24 lekcji, skoncentrowany na Sztucznej Inteligencji. Program pokrywa r\u00f3\u017cne podej\u015bcia do AI, w tym symboliczne AI, sieci neuronowe i Deep Learning, wykorzystuj\u0105c popularne frameworki, takie jak TensorFlow i PyTorch. W\u0142\u0105czono r\u00f3wnie\u017c inne aspekty, takie jak NLP, analiza obraz\u00f3w, algorytmy genetyczne i systemy wieloagentowe. <\/p>\n\n\n\n<p>Co te\u017c ciekawe, program celowo nie skupia si\u0119 na praktycznych zastosowaniach, nie chc\u0105c wpycha\u0107 przez gard\u0142o u\u017cytkownikowi konkretnych rozwi\u0105za\u0144. Dla tych, kt\u00f3rzy chc\u0105 pozna\u0107 jednak teoretyczne podstawy podej\u015bcia do AI (klasyczne, historyczne podej\u015bcia s\u0105 celowo pomini\u0119te), kurs b\u0119dzie interesuj\u0105cym \u017ar\u00f3d\u0142em dla os\u00f3b chc\u0105cych zrozumie\u0107 podstawowe koncepcje i zastosowania AI.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>Mam nadzieje, \u017ce si\u0119 podoba\u0142o \ud83d\ude04. Ju\u017c za tydzie\u0144 kolejna edycja (zamiast czwartku\/pi\u0105tku planuje teraz publikowa\u0107 po weekendzie &#8211; we wtorek) i tym razem powr\u00f3cimy do klasycznego przegl\u0105du.<\/p>\n\n\n\n<p>A na sam koniec, je\u015bli jeste\u015bcie mocno sceptyczni do AI, polecam stron\u0119 <a href=\"http:\/\/pessimistsarchive.org\">pessimistsarchive.org<\/a> &#8211; pozwoli to uzmys\u0142owi\u0107, jak bardzo przewidywalna jest nasza ka\u017cda reakcja na now\u0105 technologie.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"525\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/image-17-1024x525.png\" alt=\"\" class=\"wp-image-16311\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/image-17-1024x525.png 1024w, https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/image-17-300x154.png 300w, https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/image-17-768x394.png 768w, https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/image-17.png 1536w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Je\u015bli my\u015blisz, \u017ce Java nie wsiad\u0142a do hype train zwi\u0105zanymi z LLM &#8211; \u017ale my\u015blisz. Dlatego dzisiaj zrobimy sobie przegl\u0105d po narz\u0119dziach.<\/p>\n","protected":false},"author":10,"featured_media":16315,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[23],"tags":[],"class_list":["post-16288","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-jvm"],"acf":{"estimated_reading_time":"7","feature_image_blog":{"ID":16318,"id":16318,"title":"JVM Weekly 1200x628_V2","filename":"JVM-Weekly-1200x628_V2-9.png","filesize":474734,"url":"https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/JVM-Weekly-1200x628_V2-9.png","link":"https:\/\/vived.io\/pl\/jvms-open-source-all-stars-june-2023-llm-edition-jvm-weekly-vol-140\/jvm-weekly-1200x628_v2-44-2\/","alt":"","author":"10","description":"","caption":"","name":"jvm-weekly-1200x628_v2-44-2","status":"inherit","uploaded_to":16288,"date":"2023-06-27 09:15:37","modified":"2023-06-27 11:14:14","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/vived.io\/wp-includes\/images\/media\/default.png","width":1200,"height":628,"sizes":{"thumbnail":"https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/JVM-Weekly-1200x628_V2-9-150x150.png","thumbnail-width":150,"thumbnail-height":150,"medium":"https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/JVM-Weekly-1200x628_V2-9-300x157.png","medium-width":300,"medium-height":157,"medium_large":"https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/JVM-Weekly-1200x628_V2-9-768x402.png","medium_large-width":768,"medium_large-height":402,"large":"https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/JVM-Weekly-1200x628_V2-9-1024x536.png","large-width":1024,"large-height":536,"1536x1536":"https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/JVM-Weekly-1200x628_V2-9.png","1536x1536-width":1200,"1536x1536-height":628,"2048x2048":"https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/JVM-Weekly-1200x628_V2-9.png","2048x2048-width":1200,"2048x2048-height":628,"gform-image-choice-sm":"https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/JVM-Weekly-1200x628_V2-9.png","gform-image-choice-sm-width":300,"gform-image-choice-sm-height":157,"gform-image-choice-md":"https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/JVM-Weekly-1200x628_V2-9.png","gform-image-choice-md-width":400,"gform-image-choice-md-height":209,"gform-image-choice-lg":"https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/JVM-Weekly-1200x628_V2-9.png","gform-image-choice-lg-width":600,"gform-image-choice-lg-height":314}},"weekly_summary":true,"push_notification_image":"https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/JVM-Weekly-1200x628_V2-9.png","feature_image_visible":false},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>JVM\u2019s Open Source All-Stars, June 2023: LLM Edition - JVM Weekly vol. 140 - Vived<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vived.io\/pl\/jvms-open-source-all-stars-june-2023-llm-edition-jvm-weekly-vol-140\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"JVM\u2019s Open Source All-Stars, June 2023: LLM Edition - JVM Weekly vol. 140 - Vived\" \/>\n<meta property=\"og:description\" content=\"Je\u015bli my\u015blisz, \u017ce Java nie wsiad\u0142a do hype train zwi\u0105zanymi z LLM - \u017ale my\u015blisz. Dlatego dzisiaj zrobimy sobie przegl\u0105d po narz\u0119dziach.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vived.io\/pl\/jvms-open-source-all-stars-june-2023-llm-edition-jvm-weekly-vol-140\/\" \/>\n<meta property=\"og:site_name\" content=\"Vived\" \/>\n<meta property=\"article:published_time\" content=\"2023-06-27T09:16:51+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-07-03T19:03:56+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/JVM-Weekly-1200x628_V2-8.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Artur Skowro\u0144ski\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/vived.io\/pl\/jvms-open-source-all-stars-june-2023-llm-edition-jvm-weekly-vol-140\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/vived.io\/pl\/jvms-open-source-all-stars-june-2023-llm-edition-jvm-weekly-vol-140\/\"},\"author\":{\"name\":\"Artur Skowro\u0144ski\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3\"},\"headline\":\"JVM\u2019s Open Source All-Stars, June 2023: LLM Edition &#8211; JVM Weekly vol. 140\",\"datePublished\":\"2023-06-27T09:16:51+00:00\",\"dateModified\":\"2023-07-03T19:03:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/vived.io\/pl\/jvms-open-source-all-stars-june-2023-llm-edition-jvm-weekly-vol-140\/\"},\"wordCount\":1514,\"publisher\":{\"@id\":\"https:\/\/vived.io\/pl\/#organization\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/jvms-open-source-all-stars-june-2023-llm-edition-jvm-weekly-vol-140\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/JVM-Weekly-1200x628_V2-8.png\",\"articleSection\":[\"JVM\"],\"inLanguage\":\"pl-PL\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/vived.io\/pl\/jvms-open-source-all-stars-june-2023-llm-edition-jvm-weekly-vol-140\/\",\"url\":\"https:\/\/vived.io\/pl\/jvms-open-source-all-stars-june-2023-llm-edition-jvm-weekly-vol-140\/\",\"name\":\"JVM\u2019s Open Source All-Stars, June 2023: LLM Edition - JVM Weekly vol. 140 - Vived\",\"isPartOf\":{\"@id\":\"https:\/\/vived.io\/pl\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/vived.io\/pl\/jvms-open-source-all-stars-june-2023-llm-edition-jvm-weekly-vol-140\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/jvms-open-source-all-stars-june-2023-llm-edition-jvm-weekly-vol-140\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/JVM-Weekly-1200x628_V2-8.png\",\"datePublished\":\"2023-06-27T09:16:51+00:00\",\"dateModified\":\"2023-07-03T19:03:56+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/vived.io\/pl\/jvms-open-source-all-stars-june-2023-llm-edition-jvm-weekly-vol-140\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/vived.io\/pl\/jvms-open-source-all-stars-june-2023-llm-edition-jvm-weekly-vol-140\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/vived.io\/pl\/jvms-open-source-all-stars-june-2023-llm-edition-jvm-weekly-vol-140\/#primaryimage\",\"url\":\"https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/JVM-Weekly-1200x628_V2-8.png\",\"contentUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/JVM-Weekly-1200x628_V2-8.png\",\"width\":1200,\"height\":628},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/vived.io\/pl\/jvms-open-source-all-stars-june-2023-llm-edition-jvm-weekly-vol-140\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\/\/vived.io\/pl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"JVM\u2019s Open Source All-Stars, June 2023: LLM Edition &#8211; JVM Weekly vol. 140\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/vived.io\/pl\/#website\",\"url\":\"https:\/\/vived.io\/pl\/\",\"name\":\"Vived\",\"description\":\"platform empowering IT people and technology companies to synergic growth\",\"publisher\":{\"@id\":\"https:\/\/vived.io\/pl\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/vived.io\/pl\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pl-PL\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/vived.io\/pl\/#organization\",\"name\":\"Vived\",\"url\":\"https:\/\/vived.io\/pl\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/vived.io\/wp-content\/uploads\/2020\/03\/logo_vived_color.png\",\"contentUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2020\/03\/logo_vived_color.png\",\"width\":136,\"height\":45,\"caption\":\"Vived\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3\",\"name\":\"Artur Skowro\u0144ski\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/29055786486c8b9dc1507f2744221c5bdb8d7ef6e6217ced0326dd3296aea6ed?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/29055786486c8b9dc1507f2744221c5bdb8d7ef6e6217ced0326dd3296aea6ed?s=96&d=mm&r=g\",\"caption\":\"Artur Skowro\u0144ski\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"JVM\u2019s Open Source All-Stars, June 2023: LLM Edition - JVM Weekly vol. 140 - Vived","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vived.io\/pl\/jvms-open-source-all-stars-june-2023-llm-edition-jvm-weekly-vol-140\/","og_locale":"pl_PL","og_type":"article","og_title":"JVM\u2019s Open Source All-Stars, June 2023: LLM Edition - JVM Weekly vol. 140 - Vived","og_description":"Je\u015bli my\u015blisz, \u017ce Java nie wsiad\u0142a do hype train zwi\u0105zanymi z LLM - \u017ale my\u015blisz. Dlatego dzisiaj zrobimy sobie przegl\u0105d po narz\u0119dziach.","og_url":"https:\/\/vived.io\/pl\/jvms-open-source-all-stars-june-2023-llm-edition-jvm-weekly-vol-140\/","og_site_name":"Vived","article_published_time":"2023-06-27T09:16:51+00:00","article_modified_time":"2023-07-03T19:03:56+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/JVM-Weekly-1200x628_V2-8.png","type":"image\/png"}],"author":"Artur Skowro\u0144ski","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/vived.io\/pl\/jvms-open-source-all-stars-june-2023-llm-edition-jvm-weekly-vol-140\/#article","isPartOf":{"@id":"https:\/\/vived.io\/pl\/jvms-open-source-all-stars-june-2023-llm-edition-jvm-weekly-vol-140\/"},"author":{"name":"Artur Skowro\u0144ski","@id":"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3"},"headline":"JVM\u2019s Open Source All-Stars, June 2023: LLM Edition &#8211; JVM Weekly vol. 140","datePublished":"2023-06-27T09:16:51+00:00","dateModified":"2023-07-03T19:03:56+00:00","mainEntityOfPage":{"@id":"https:\/\/vived.io\/pl\/jvms-open-source-all-stars-june-2023-llm-edition-jvm-weekly-vol-140\/"},"wordCount":1514,"publisher":{"@id":"https:\/\/vived.io\/pl\/#organization"},"image":{"@id":"https:\/\/vived.io\/pl\/jvms-open-source-all-stars-june-2023-llm-edition-jvm-weekly-vol-140\/#primaryimage"},"thumbnailUrl":"https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/JVM-Weekly-1200x628_V2-8.png","articleSection":["JVM"],"inLanguage":"pl-PL"},{"@type":"WebPage","@id":"https:\/\/vived.io\/pl\/jvms-open-source-all-stars-june-2023-llm-edition-jvm-weekly-vol-140\/","url":"https:\/\/vived.io\/pl\/jvms-open-source-all-stars-june-2023-llm-edition-jvm-weekly-vol-140\/","name":"JVM\u2019s Open Source All-Stars, June 2023: LLM Edition - JVM Weekly vol. 140 - Vived","isPartOf":{"@id":"https:\/\/vived.io\/pl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vived.io\/pl\/jvms-open-source-all-stars-june-2023-llm-edition-jvm-weekly-vol-140\/#primaryimage"},"image":{"@id":"https:\/\/vived.io\/pl\/jvms-open-source-all-stars-june-2023-llm-edition-jvm-weekly-vol-140\/#primaryimage"},"thumbnailUrl":"https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/JVM-Weekly-1200x628_V2-8.png","datePublished":"2023-06-27T09:16:51+00:00","dateModified":"2023-07-03T19:03:56+00:00","breadcrumb":{"@id":"https:\/\/vived.io\/pl\/jvms-open-source-all-stars-june-2023-llm-edition-jvm-weekly-vol-140\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vived.io\/pl\/jvms-open-source-all-stars-june-2023-llm-edition-jvm-weekly-vol-140\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/vived.io\/pl\/jvms-open-source-all-stars-june-2023-llm-edition-jvm-weekly-vol-140\/#primaryimage","url":"https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/JVM-Weekly-1200x628_V2-8.png","contentUrl":"https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/JVM-Weekly-1200x628_V2-8.png","width":1200,"height":628},{"@type":"BreadcrumbList","@id":"https:\/\/vived.io\/pl\/jvms-open-source-all-stars-june-2023-llm-edition-jvm-weekly-vol-140\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/vived.io\/pl\/"},{"@type":"ListItem","position":2,"name":"JVM\u2019s Open Source All-Stars, June 2023: LLM Edition &#8211; JVM Weekly vol. 140"}]},{"@type":"WebSite","@id":"https:\/\/vived.io\/pl\/#website","url":"https:\/\/vived.io\/pl\/","name":"Vived","description":"platform empowering IT people and technology companies to synergic growth","publisher":{"@id":"https:\/\/vived.io\/pl\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vived.io\/pl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pl-PL"},{"@type":"Organization","@id":"https:\/\/vived.io\/pl\/#organization","name":"Vived","url":"https:\/\/vived.io\/pl\/","logo":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/vived.io\/pl\/#\/schema\/logo\/image\/","url":"https:\/\/vived.io\/wp-content\/uploads\/2020\/03\/logo_vived_color.png","contentUrl":"https:\/\/vived.io\/wp-content\/uploads\/2020\/03\/logo_vived_color.png","width":136,"height":45,"caption":"Vived"},"image":{"@id":"https:\/\/vived.io\/pl\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3","name":"Artur Skowro\u0144ski","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/vived.io\/pl\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/29055786486c8b9dc1507f2744221c5bdb8d7ef6e6217ced0326dd3296aea6ed?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/29055786486c8b9dc1507f2744221c5bdb8d7ef6e6217ced0326dd3296aea6ed?s=96&d=mm&r=g","caption":"Artur Skowro\u0144ski"}}]}},"blocks_vived":[{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Ostatnimi czasy zastanawia\u0142em si\u0119 jak urozmaici\u0107 nasze edycje, i od d\u0142u\u017cszego czasu przymierza\u0142em si\u0119 do tego, \u017ceby ostatnia edycja ka\u017cdego miesi\u0105ca by\u0142a po\u015bwi\u0119cona ciekawym projektom JVM-owego Open-Source, kt\u00f3re pojawi\u0142y si\u0119 (lub zacz\u0119\u0142y trendowa\u0107, bo to te\u017c si\u0119 zdarza) przed ostatni miesi\u0105c. Ale nie takiego Open-Source jak Micronaut czy Smallrye - raczej takich Hidden Pearls naszego community. Jako, \u017ce wakacje jak zawsze s\u0105 nieco spokojniejszym okresem, akurat przydarza si\u0119 dobra okazja. Dodatkowo, pewnym zaskoczeniem (cho\u0107 w\u0142a\u015bciwie nie wiem dlaczego, mog\u0142em si\u0119 spodziewa\u0107) jest fakt, \u017ce wysz\u0142o nam bardzo tematycznie.<\/p>\n","innerContent":["\n<p>Ostatnimi czasy zastanawia\u0142em si\u0119 jak urozmaici\u0107 nasze edycje, i od d\u0142u\u017cszego czasu przymierza\u0142em si\u0119 do tego, \u017ceby ostatnia edycja ka\u017cdego miesi\u0105ca by\u0142a po\u015bwi\u0119cona ciekawym projektom JVM-owego Open-Source, kt\u00f3re pojawi\u0142y si\u0119 (lub zacz\u0119\u0142y trendowa\u0107, bo to te\u017c si\u0119 zdarza) przed ostatni miesi\u0105c. Ale nie takiego Open-Source jak Micronaut czy Smallrye - raczej takich Hidden Pearls naszego community. Jako, \u017ce wakacje jak zawsze s\u0105 nieco spokojniejszym okresem, akurat przydarza si\u0119 dobra okazja. Dodatkowo, pewnym zaskoczeniem (cho\u0107 w\u0142a\u015bciwie nie wiem dlaczego, mog\u0142em si\u0119 spodziewa\u0107) jest fakt, \u017ce wysz\u0142o nam bardzo tematycznie.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>2023 to rok LLM\u00f3w, i cho\u0107 JVM nie do ko\u0144ca kojarzy si\u0119 z tym ekosystemem, to jednak r\u00f3wnie\u017c i jego nie omin\u0119\u0142a fala hype. Dlatego mam dla was dzisiaj czterech projekt\u00f3w, a ka\u017cdy z nich w jakim\u015b stopniu dotyka tematu modeli j\u0119zykowych. Przy okazji porozmawiamy sobie o projektach i koncepcjach, na kt\u00f3rych ka\u017cda z zaprezentowanych bibliotek bazuje.<\/p>\n","innerContent":["\n<p>2023 to rok LLM\u00f3w, i cho\u0107 JVM nie do ko\u0144ca kojarzy si\u0119 z tym ekosystemem, to jednak r\u00f3wnie\u017c i jego nie omin\u0119\u0142a fala hype. Dlatego mam dla was dzisiaj czterech projekt\u00f3w, a ka\u017cdy z nich w jakim\u015b stopniu dotyka tematu modeli j\u0119zykowych. Przy okazji porozmawiamy sobie o projektach i koncepcjach, na kt\u00f3rych ka\u017cda z zaprezentowanych bibliotek bazuje.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":16306,"sizeSlug":"full","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/1675814275992.jpeg\" alt=\"\" class=\"wp-image-16306\"\/><figcaption class=\"wp-element-caption\">No, i teraz mo\u017cemy zaczyna\u0107<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/1675814275992.jpeg\" alt=\"\" class=\"wp-image-16306\"\/><figcaption class=\"wp-element-caption\">No, i teraz mo\u017cemy zaczyna\u0107<\/figcaption><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/separator","attrs":[],"innerBlocks":[],"innerHTML":"\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n","innerContent":["\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":[],"innerBlocks":[],"innerHTML":"\n<h2 class=\"wp-block-heading\">VertexAI-kt<\/h2>\n","innerContent":["\n<h2 class=\"wp-block-heading\">VertexAI-kt<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Ja wiem, \u017ce w masowej \u015bwiadomo\u015bci istnieje g\u0142\u00f3wnie OpenAI i ChatGPT, ale pozostali gracze te\u017c posiadaj\u0105 swoje rozwi\u0105zania. Taki Vertex AI od Google to wszechstronna platforma do uczenia maszynowego, rozwijana od lat (pami\u0119tacie, gdy to Google kojarzy\u0142 si\u0119 z \"The AI Company?), kt\u00f3ra teraz zosta\u0142a wzbogacona r\u00f3wnie\u017c o wsparcie dla LLM i generatywnej sztucznej inteligencji. Obejmuje to zaawansowane modele, takie jak PaLM 2 (odpowiednik GPT od OpenAI), Imagen (model Text-to-Image) i Codey, kt\u00f3ry jest odpowiedzi\u0105 firmy na GitHub Copilota. Taki GitLab podzieli\u0142 si\u0119 na przyk\u0142ad, \u017ce <a href=\"https:\/\/about.gitlab.com\/blog\/2023\/05\/02\/explain-this-vulnerability\/\">korzysta przyk\u0142adowo Codey do swojej funkcji \"explain this vulnerability\"<\/a>.<\/p>\n","innerContent":["\n<p>Ja wiem, \u017ce w masowej \u015bwiadomo\u015bci istnieje g\u0142\u00f3wnie OpenAI i ChatGPT, ale pozostali gracze te\u017c posiadaj\u0105 swoje rozwi\u0105zania. Taki Vertex AI od Google to wszechstronna platforma do uczenia maszynowego, rozwijana od lat (pami\u0119tacie, gdy to Google kojarzy\u0142 si\u0119 z \"The AI Company?), kt\u00f3ra teraz zosta\u0142a wzbogacona r\u00f3wnie\u017c o wsparcie dla LLM i generatywnej sztucznej inteligencji. Obejmuje to zaawansowane modele, takie jak PaLM 2 (odpowiednik GPT od OpenAI), Imagen (model Text-to-Image) i Codey, kt\u00f3ry jest odpowiedzi\u0105 firmy na GitHub Copilota. Taki GitLab podzieli\u0142 si\u0119 na przyk\u0142ad, \u017ce <a href=\"https:\/\/about.gitlab.com\/blog\/2023\/05\/02\/explain-this-vulnerability\/\">korzysta przyk\u0142adowo Codey do swojej funkcji \"explain this vulnerability\"<\/a>.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p><a href=\"https:\/\/github.com\/hexascribe\/vertexai-kt\">hexascribe\/vertexai-kt<\/a> to za\u015b biblioteka Kotlin Multiplatform, zaprojektowana w celu u\u0142atwienia integracji z API Vertex AI, a wszystko w spos\u00f3b natywny dla Kotlina. VertexAI-kt skupia si\u0119 g\u0142\u00f3wnie na aplikacjach mobilnych, ale cz\u0119\u015bci wsp\u00f3lnej powinno da\u0107 si\u0119 u\u017cy\u0107 w zasadzie ka\u017cdym projekcie, r\u00f3wnie\u017c serwerowym. W ko\u0144cu MultiPlatform to MultiPlatform.<\/p>\n","innerContent":["\n<p><a href=\"https:\/\/github.com\/hexascribe\/vertexai-kt\">hexascribe\/vertexai-kt<\/a> to za\u015b biblioteka Kotlin Multiplatform, zaprojektowana w celu u\u0142atwienia integracji z API Vertex AI, a wszystko w spos\u00f3b natywny dla Kotlina. VertexAI-kt skupia si\u0119 g\u0142\u00f3wnie na aplikacjach mobilnych, ale cz\u0119\u015bci wsp\u00f3lnej powinno da\u0107 si\u0119 u\u017cy\u0107 w zasadzie ka\u017cdym projekcie, r\u00f3wnie\u017c serwerowym. W ko\u0144cu MultiPlatform to MultiPlatform.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Ale je\u017celi budujecie w\u0142asne aplikacje mobilne, ta sama organizacja w swoich repozytoriach posiada te\u017c zestaw komponent\u00f3w opartych na Kotlin MultiPlatform, umo\u017cliwiaj\u0105cych \u0142atwe tworzenie chatbot\u00f3w opartych o OpenAI - <a href=\"https:\/\/github.com\/hexascribe\/chatbot-builder\">hexascribe\/chatbot-builder<\/a>.<\/p>\n","innerContent":["\n<p>Ale je\u017celi budujecie w\u0142asne aplikacje mobilne, ta sama organizacja w swoich repozytoriach posiada te\u017c zestaw komponent\u00f3w opartych na Kotlin MultiPlatform, umo\u017cliwiaj\u0105cych \u0142atwe tworzenie chatbot\u00f3w opartych o OpenAI - <a href=\"https:\/\/github.com\/hexascribe\/chatbot-builder\">hexascribe\/chatbot-builder<\/a>.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":16300,"width":768,"height":394,"sizeSlug":"large","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/bard-1024x525.jpg\" alt=\"\" class=\"wp-image-16300\" width=\"768\" height=\"394\"\/><figcaption class=\"wp-element-caption\">A, i wbrew obiegowej opinii, Vertex AI dzia\u0142a w Europie. Takiego Barda niestety nie potestujecie \ud83e\udd37\u200d\u2642\ufe0f<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/bard-1024x525.jpg\" alt=\"\" class=\"wp-image-16300\" width=\"768\" height=\"394\"\/><figcaption class=\"wp-element-caption\">A, i wbrew obiegowej opinii, Vertex AI dzia\u0142a w Europie. Takiego Barda niestety nie potestujecie \ud83e\udd37\u200d\u2642\ufe0f<\/figcaption><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/separator","attrs":[],"innerBlocks":[],"innerHTML":"\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n","innerContent":["\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":[],"innerBlocks":[],"innerHTML":"\n<h2 class=\"wp-block-heading\">langchain4j<\/h2>\n","innerContent":["\n<h2 class=\"wp-block-heading\">langchain4j<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>LangChain to framework stworzony przez Harrisona Chase'a, skoncentrowany na Du\u017cych Modelach J\u0119zykowych (LLMach - Large Language Models), kt\u00f3re zdoby\u0142y ogromn\u0105 popularno\u015b\u0107 po wydaniu GPT-3 (a pewnie nawet bardziej GPT-3.5 i GPT-4) przez OpenAI. LangChain, kt\u00f3ry pojawi\u0142 si\u0119 pod koniec pa\u017adziernika 2022 roku, wykorzystuje te rozwi\u0105zania, oferuj\u0105c platform\u0119 do tworzenia nie eksperyment\u00f3w, a production-ready aplikacji opartych na LLMach.<\/p>\n","innerContent":["\n<p>LangChain to framework stworzony przez Harrisona Chase'a, skoncentrowany na Du\u017cych Modelach J\u0119zykowych (LLMach - Large Language Models), kt\u00f3re zdoby\u0142y ogromn\u0105 popularno\u015b\u0107 po wydaniu GPT-3 (a pewnie nawet bardziej GPT-3.5 i GPT-4) przez OpenAI. LangChain, kt\u00f3ry pojawi\u0142 si\u0119 pod koniec pa\u017adziernika 2022 roku, wykorzystuje te rozwi\u0105zania, oferuj\u0105c platform\u0119 do tworzenia nie eksperyment\u00f3w, a production-ready aplikacji opartych na LLMach.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Podstawowym konceptem stoj\u0105cym za LangChain jest mo\u017cliwo\u015b\u0107 \"\u0142a\u0144cuchowego\" \u0142\u0105czenia r\u00f3\u017cnych komponent\u00f3w w celu tworzenia zaawansowanych zastosowa\u0144. Te \u0142a\u0144cuchy mog\u0105 zawiera\u0107 elementy z kilku modu\u0142\u00f3w, takie szablony dla r\u00f3\u017cnych typ\u00f3w prompt\u00f3w, (takich jak odpowiedzi w stylu chatbota, ELI5 itp), integracj\u0119 z r\u00f3\u017cnymi modelami LLM (GPT-3, BLOOM, itp), agenci (kt\u00f3rzy korzystaj\u0105 z LLMs, aby decydowa\u0107 o dzia\u0142aniach, zreszt\u0105 jeszcze dzi\u015b b\u0119dzie o projekcie gpt-engineer, nale\u017c\u0105cym do tej kategorii), oraz pami\u0119\u0107 (kr\u00f3tko- i d\u0142ugoterminowa). A wszystko podane w formie typowo aplikacyjnego frameworku.<\/p>\n","innerContent":["\n<p>Podstawowym konceptem stoj\u0105cym za LangChain jest mo\u017cliwo\u015b\u0107 \"\u0142a\u0144cuchowego\" \u0142\u0105czenia r\u00f3\u017cnych komponent\u00f3w w celu tworzenia zaawansowanych zastosowa\u0144. Te \u0142a\u0144cuchy mog\u0105 zawiera\u0107 elementy z kilku modu\u0142\u00f3w, takie szablony dla r\u00f3\u017cnych typ\u00f3w prompt\u00f3w, (takich jak odpowiedzi w stylu chatbota, ELI5 itp), integracj\u0119 z r\u00f3\u017cnymi modelami LLM (GPT-3, BLOOM, itp), agenci (kt\u00f3rzy korzystaj\u0105 z LLMs, aby decydowa\u0107 o dzia\u0142aniach, zreszt\u0105 jeszcze dzi\u015b b\u0119dzie o projekcie gpt-engineer, nale\u017c\u0105cym do tej kategorii), oraz pami\u0119\u0107 (kr\u00f3tko- i d\u0142ugoterminowa). A wszystko podane w formie typowo aplikacyjnego frameworku.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p><a href=\"https:\/\/github.com\/langchain4j\/langchain4j\">langchain4j\/langchain4j<\/a> to za\u015b javowy wrapper do langchaina - taki na sterydach. Ca\u0142o\u015b\u0107 ju\u017c w tej chwili prowadzi za r\u0119k\u0119 i skupia si\u0119 na klarownym pokazaniu mo\u017cliwo\u015bci (w projekcie znajdziecie podany <a href=\"https:\/\/github.com\/langchain4j\/langchain4j-examples\/tree\/main\">katalog z przyk\u0142adami<\/a>), a tw\u00f3rcy zapowiadaj\u0105 dalszy rozw\u00f3j. Na ten moment ca\u0142o\u015b\u0107 jeszcze nie przebi\u0142a si\u0119 do masowej \u015bwiadomo\u015bci, ale osobi\u015bcie trzymam kciuki - a \u017ce nawet podczas pisania tego tekstu pojawi\u0142y si\u0119 nowe commity, a tw\u00f3rcy dostali w Issues zaproszenie na Devoxx Belgium, my\u015bl\u0119 \u017ce o langchain4j jeszcze us\u0142yszymy.<\/p>\n","innerContent":["\n<p><a href=\"https:\/\/github.com\/langchain4j\/langchain4j\">langchain4j\/langchain4j<\/a> to za\u015b javowy wrapper do langchaina - taki na sterydach. Ca\u0142o\u015b\u0107 ju\u017c w tej chwili prowadzi za r\u0119k\u0119 i skupia si\u0119 na klarownym pokazaniu mo\u017cliwo\u015bci (w projekcie znajdziecie podany <a href=\"https:\/\/github.com\/langchain4j\/langchain4j-examples\/tree\/main\">katalog z przyk\u0142adami<\/a>), a tw\u00f3rcy zapowiadaj\u0105 dalszy rozw\u00f3j. Na ten moment ca\u0142o\u015b\u0107 jeszcze nie przebi\u0142a si\u0119 do masowej \u015bwiadomo\u015bci, ale osobi\u015bcie trzymam kciuki - a \u017ce nawet podczas pisania tego tekstu pojawi\u0142y si\u0119 nowe commity, a tw\u00f3rcy dostali w Issues zaproszenie na Devoxx Belgium, my\u015bl\u0119 \u017ce o langchain4j jeszcze us\u0142yszymy.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/separator","attrs":[],"innerBlocks":[],"innerHTML":"\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n","innerContent":["\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":[],"innerBlocks":[],"innerHTML":"\n<h2 class=\"wp-block-heading\">midjourney-proxy<\/h2>\n","innerContent":["\n<h2 class=\"wp-block-heading\">midjourney-proxy<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>O ile o poprzednich dw\u00f3ch projektach mogli\u015bcie nie s\u0142ysze\u0107, o tyle zak\u0142adam, \u017ce Midjourney jest znane w zasadzie ka\u017cdemu, kto nie schowa\u0142 si\u0119 pod kamieniem. LLM do generowania jest wiele... ale Midjourney jest jedno. YMMV, ale dla mnie ani Stable Diffusion, ani Dalle projekt nie maj\u0105 startu do tego projektu - nawet taki laik jak ja jest w stanie osi\u0105gn\u0105\u0107 naprawd\u0119 dobre efekty.<\/p>\n","innerContent":["\n<p>O ile o poprzednich dw\u00f3ch projektach mogli\u015bcie nie s\u0142ysze\u0107, o tyle zak\u0142adam, \u017ce Midjourney jest znane w zasadzie ka\u017cdemu, kto nie schowa\u0142 si\u0119 pod kamieniem. LLM do generowania jest wiele... ale Midjourney jest jedno. YMMV, ale dla mnie ani Stable Diffusion, ani Dalle projekt nie maj\u0105 startu do tego projektu - nawet taki laik jak ja jest w stanie osi\u0105gn\u0105\u0107 naprawd\u0119 dobre efekty.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","width":672,"height":448},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/Vived_cyberpunk_jesus_2bc09eb1-2176-4ed0-823f-b0ba77cefd1b.png\" alt=\"\" width=\"672\" height=\"448\"\/><figcaption class=\"wp-element-caption\">Ja przynajmniej jestem dumny ze swojego Cyberpunk Jezusa.<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/Vived_cyberpunk_jesus_2bc09eb1-2176-4ed0-823f-b0ba77cefd1b.png\" alt=\"\" width=\"672\" height=\"448\"\/><figcaption class=\"wp-element-caption\">Ja przynajmniej jestem dumny ze swojego Cyberpunk Jezusa.<\/figcaption><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Midjourney ma jednak jedn\u0105 wad\u0119 - nie posiada API. Jedynym interfejsem obs\u0142ugi tego projektu jest bowiem Discord, pozwalaj\u0105cy na u\u017cywanie bota do generowania obraz\u00f3w. Wiadomo jednak, \u017ce w luk\u0119 po brakuj oficjalnych rozwi\u0105za\u0144 pojawi\u0105 si\u0119 takie... mniej oficjalne. Tym jest w\u0142a\u015bnie trzeci z opisywanych dzi\u015b projekt\u00f3w - <a href=\"https:\/\/github.com\/novicezk\/midjourney-proxy\">novicezk\/midjourney-proxy<\/a>. To takie \"fanowskim\" API, pod postaci\u0105 zar\u00f3wno kodu \u017ar\u00f3d\u0142owego, jak i dockerowego obrazu, do kt\u00f3rego trzeba przekaza\u0107 klucz autoryzacyjny wykradziony z header\u00f3w Discorda, a kt\u00f3re zarz\u0105dza generowaniem obrazu, udost\u0119pniaj\u0105c odpowiednie endpointy i hooki, kt\u00f3re mo\u017cemy u\u017cywa\u0107 do sprawdzania, czy mamy ju\u017c wygenerowany odpowiedni obrazek.<\/p>\n","innerContent":["\n<p>Midjourney ma jednak jedn\u0105 wad\u0119 - nie posiada API. Jedynym interfejsem obs\u0142ugi tego projektu jest bowiem Discord, pozwalaj\u0105cy na u\u017cywanie bota do generowania obraz\u00f3w. Wiadomo jednak, \u017ce w luk\u0119 po brakuj oficjalnych rozwi\u0105za\u0144 pojawi\u0105 si\u0119 takie... mniej oficjalne. Tym jest w\u0142a\u015bnie trzeci z opisywanych dzi\u015b projekt\u00f3w - <a href=\"https:\/\/github.com\/novicezk\/midjourney-proxy\">novicezk\/midjourney-proxy<\/a>. To takie \"fanowskim\" API, pod postaci\u0105 zar\u00f3wno kodu \u017ar\u00f3d\u0142owego, jak i dockerowego obrazu, do kt\u00f3rego trzeba przekaza\u0107 klucz autoryzacyjny wykradziony z header\u00f3w Discorda, a kt\u00f3re zarz\u0105dza generowaniem obrazu, udost\u0119pniaj\u0105c odpowiednie endpointy i hooki, kt\u00f3re mo\u017cemy u\u017cywa\u0107 do sprawdzania, czy mamy ju\u017c wygenerowany odpowiedni obrazek.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>A, i \u017ceby nie by\u0142o za prosto, repozytorium jak i ca\u0142a dokumentacja s\u0105... po chi\u0144sku. Na szcz\u0119\u015bcie nie jest jako\u015b skomplikowane, a przebijanie si\u0119 przez instrukcje uruchomienia da\u0142a mi najwi\u0119cej zabawy od czasu potrzeby reverse-engineeringu integracji z azjatyckimi smart-gniazdkami za 15$.<\/p>\n","innerContent":["\n<p>A, i \u017ceby nie by\u0142o za prosto, repozytorium jak i ca\u0142a dokumentacja s\u0105... po chi\u0144sku. Na szcz\u0119\u015bcie nie jest jako\u015b skomplikowane, a przebijanie si\u0119 przez instrukcje uruchomienia da\u0142a mi najwi\u0119cej zabawy od czasu potrzeby reverse-engineeringu integracji z azjatyckimi smart-gniazdkami za 15$.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":16296,"sizeSlug":"full","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/image-15.png\" alt=\"\" class=\"wp-image-16296\"\/><figcaption class=\"wp-element-caption\">Mog\u0142emu kupi\u0107 Hue za 30$, ale where is fun in that.<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/image-15.png\" alt=\"\" class=\"wp-image-16296\"\/><figcaption class=\"wp-element-caption\">Mog\u0142emu kupi\u0107 Hue za 30$, ale where is fun in that.<\/figcaption><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>PS: Kocham Midjourney, to w\u0142a\u015bnie ono generuje dla mnie obrazki do zajawek post\u00f3w. Dzisiejszy wygenerowa\u0142em w\u0142a\u015bnie za pomoc\u0105 <a href=\"https:\/\/github.com\/novicezk\/midjourney-proxy\">midjourney-proxy<\/a>.<\/p>\n","innerContent":["\n<p>PS: Kocham Midjourney, to w\u0142a\u015bnie ono generuje dla mnie obrazki do zajawek post\u00f3w. Dzisiejszy wygenerowa\u0142em w\u0142a\u015bnie za pomoc\u0105 <a href=\"https:\/\/github.com\/novicezk\/midjourney-proxy\">midjourney-proxy<\/a>.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":16294,"width":768,"height":440,"sizeSlug":"large","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/Untitled-3-1024x587.jpg\" alt=\"\" class=\"wp-image-16294\" width=\"768\" height=\"440\"\/><figcaption class=\"wp-element-caption\">Ciekawostka - tak ca\u0142\u0105 sytuacje wyobrazi\u0142 sobie AI.<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/Untitled-3-1024x587.jpg\" alt=\"\" class=\"wp-image-16294\" width=\"768\" height=\"440\"\/><figcaption class=\"wp-element-caption\">Ciekawostka - tak ca\u0142\u0105 sytuacje wyobrazi\u0142 sobie AI.<\/figcaption><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/separator","attrs":[],"innerBlocks":[],"innerHTML":"\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n","innerContent":["\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":[],"innerBlocks":[],"innerHTML":"\n<h2 class=\"wp-block-heading\">Chat2DB<\/h2>\n","innerContent":["\n<h2 class=\"wp-block-heading\">Chat2DB<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Pozostaj\u0105c w chi\u0144skiej strefie wp\u0142yw\u00f3w (aczkolwiek tym raz ju\u017c takiej z angielsk\u0105 dokumentacj\u0105), kolejnym projektem jest stworzony przez Alibab\u0119 klient do baz danych SQL. Zgodnie jednak z tematyk\u0105 tej edycji, nie mo\u017ce to by\u0107 \"zwyk\u0142y\", klasyczny klient.<\/p>\n","innerContent":["\n<p>Pozostaj\u0105c w chi\u0144skiej strefie wp\u0142yw\u00f3w (aczkolwiek tym raz ju\u017c takiej z angielsk\u0105 dokumentacj\u0105), kolejnym projektem jest stworzony przez Alibab\u0119 klient do baz danych SQL. Zgodnie jednak z tematyk\u0105 tej edycji, nie mo\u017ce to by\u0107 \"zwyk\u0142y\", klasyczny klient.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p><a href=\"https:\/\/github.com\/chat2db\/Chat2DB\">chat2db\/Chat2DB<\/a> charakteryzuje si\u0119 bowiem integracj\u0105 z OpenAI (dokumentacja podpowiada te\u017c, jak pod\u0142\u0105czy\u0107 si\u0119 do niego z terenu Chin za pomoc\u0105 VPN), co pozwala na konwersj\u0119 j\u0119zyka naturalnego na SQL i odwrotnie, co znacznie poprawi\u0107 ma wydajno\u015b\u0107 deweloper\u00f3w. Przyznam, \u017ce mia\u0142em przyjemno\u015b\u0107 bawi\u0107 si\u0119 ju\u017c w generowanie zapyta\u0144 SQL z poziomu takiego ChatGPT, i to rzeczywi\u015bcie bywa pomocne. R\u00f3wnocze\u015bnie jednak poza integracj\u0105&nbsp;z API, program ma r\u00f3wnie\u017c \"klasyczne\" funkcje, takie jak zarz\u0105dzania danymi, obs\u0142uguj\u0105c r\u00f3\u017cne rodzaje baz danych.<\/p>\n","innerContent":["\n<p><a href=\"https:\/\/github.com\/chat2db\/Chat2DB\">chat2db\/Chat2DB<\/a> charakteryzuje si\u0119 bowiem integracj\u0105 z OpenAI (dokumentacja podpowiada te\u017c, jak pod\u0142\u0105czy\u0107 si\u0119 do niego z terenu Chin za pomoc\u0105 VPN), co pozwala na konwersj\u0119 j\u0119zyka naturalnego na SQL i odwrotnie, co znacznie poprawi\u0107 ma wydajno\u015b\u0107 deweloper\u00f3w. Przyznam, \u017ce mia\u0142em przyjemno\u015b\u0107 bawi\u0107 si\u0119 ju\u017c w generowanie zapyta\u0144 SQL z poziomu takiego ChatGPT, i to rzeczywi\u015bcie bywa pomocne. R\u00f3wnocze\u015bnie jednak poza integracj\u0105&nbsp;z API, program ma r\u00f3wnie\u017c \"klasyczne\" funkcje, takie jak zarz\u0105dzania danymi, obs\u0142uguj\u0105c r\u00f3\u017cne rodzaje baz danych.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/separator","attrs":[],"innerBlocks":[],"innerHTML":"\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n","innerContent":["\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":[],"innerBlocks":[],"innerHTML":"\n<h2 class=\"wp-block-heading\">Bonus<\/h2>\n","innerContent":["\n<h2 class=\"wp-block-heading\">Bonus<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Dwa ostatnie projekty dostajecie za\u015b niejako w bonusie, poniewa\u017c mimo \u017ce nie s\u0105 w Javie, wpisuj\u0105 mi si\u0119 w tematyk\u0119. Je\u015bli wi\u0119c po powy\u017cszej czw\u00f3rce macie ochot\u0119 na wi\u0119cej, czytajcie do ko\u0144ca.<\/p>\n","innerContent":["\n<p>Dwa ostatnie projekty dostajecie za\u015b niejako w bonusie, poniewa\u017c mimo \u017ce nie s\u0105 w Javie, wpisuj\u0105 mi si\u0119 w tematyk\u0119. Je\u015bli wi\u0119c po powy\u017cszej czw\u00f3rce macie ochot\u0119 na wi\u0119cej, czytajcie do ko\u0144ca.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":{"level":3},"innerBlocks":[],"innerHTML":"\n<h3 class=\"wp-block-heading\">GPT Engineer<\/h3>\n","innerContent":["\n<h3 class=\"wp-block-heading\">GPT Engineer<\/h3>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p><a href=\"https:\/\/github.com\/AntonOsika\/gpt-engineer\">AntonOsika\/gpt-engineer<\/a> to \"adaptowalne i rozszerzalne narz\u0119dzie AI przeznaczone do zada\u0144 programistycznych\" - taki Developer-as-a-Sevice. Generuje ono projekty programistyczne na podstawie instrukcji u\u017cytkownika, umo\u017cliwiaj\u0105c \u0142atwe przekazanie pocz\u0105tkowej specyfikacji (plik tekstowy, w kt\u00f3rym mo\u017cna te\u017c zasugerowa\u0107, jak\u0105 specjalizacje ma za\u0142o\u017cy\u0107 bot) i p\u00f3\u017aniejsz\u0105 interakcje w konsoli, w wypadku gdy bot b\u0119dzie wymaga\u0142 klaryfikacji.<\/p>\n","innerContent":["\n<p><a href=\"https:\/\/github.com\/AntonOsika\/gpt-engineer\">AntonOsika\/gpt-engineer<\/a> to \"adaptowalne i rozszerzalne narz\u0119dzie AI przeznaczone do zada\u0144 programistycznych\" - taki Developer-as-a-Sevice. Generuje ono projekty programistyczne na podstawie instrukcji u\u017cytkownika, umo\u017cliwiaj\u0105c \u0142atwe przekazanie pocz\u0105tkowej specyfikacji (plik tekstowy, w kt\u00f3rym mo\u017cna te\u017c zasugerowa\u0107, jak\u0105 specjalizacje ma za\u0142o\u017cy\u0107 bot) i p\u00f3\u017aniejsz\u0105 interakcje w konsoli, w wypadku gdy bot b\u0119dzie wymaga\u0142 klaryfikacji.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Mamy wi\u0119c do czynienia z nieco bardziej wyspecjalizowan\u0105 wersj\u0105 Auto-GPT - kto siedzia\u0142 w temacie LLM to na pewno si\u0119 na ten projekt nadzia\u0142. Powiem Wam szczerze, \u017ce nie mam za bardzo cierpliwo\u015bci do tego typu narz\u0119dzi (aczkolwiek buduj\u0105 empati\u0119 - jak bardzo sfrustrowani musz\u0105 by\u0107 czasem PMi, nie mog\u0105c klarownie przekaza\u0107 co chc\u0105 osi\u0105gn\u0105\u0107). Ale wiecie co... prostego scrappera projekt\u00f3w javowych Open Source z GitHuba mi napisa\u0142. I to takiego co rzeczywi\u015bcie zadzia\u0142a\u0142 - b\u0119d\u0119 mia\u0142 jak ula\u0142 na za miesi\u0105c.<\/p>\n","innerContent":["\n<p>Mamy wi\u0119c do czynienia z nieco bardziej wyspecjalizowan\u0105 wersj\u0105 Auto-GPT - kto siedzia\u0142 w temacie LLM to na pewno si\u0119 na ten projekt nadzia\u0142. Powiem Wam szczerze, \u017ce nie mam za bardzo cierpliwo\u015bci do tego typu narz\u0119dzi (aczkolwiek buduj\u0105 empati\u0119 - jak bardzo sfrustrowani musz\u0105 by\u0107 czasem PMi, nie mog\u0105c klarownie przekaza\u0107 co chc\u0105 osi\u0105gn\u0105\u0107). Ale wiecie co... prostego scrappera projekt\u00f3w javowych Open Source z GitHuba mi napisa\u0142. I to takiego co rzeczywi\u015bcie zadzia\u0142a\u0142 - b\u0119d\u0119 mia\u0142 jak ula\u0142 na za miesi\u0105c.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":16298,"width":768,"height":547,"sizeSlug":"large","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/jsoup-1024x729.jpg\" alt=\"\" class=\"wp-image-16298\" width=\"768\" height=\"547\"\/><figcaption class=\"wp-element-caption\">I nawet u\u017cy\u0142 Jsoup do tego - cwaniak.<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/jsoup-1024x729.jpg\" alt=\"\" class=\"wp-image-16298\" width=\"768\" height=\"547\"\/><figcaption class=\"wp-element-caption\">I nawet u\u017cy\u0142 Jsoup do tego - cwaniak.<\/figcaption><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/separator","attrs":[],"innerBlocks":[],"innerHTML":"\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n","innerContent":["\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":{"level":3},"innerBlocks":[],"innerHTML":"\n<h3 class=\"wp-block-heading\">AI For Beginners<\/h3>\n","innerContent":["\n<h3 class=\"wp-block-heading\">AI For Beginners<\/h3>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Dla tych za\u015b, kt\u00f3rzy nie czuj\u0105 si\u0119 komfortowo z tym co zobaczyli powy\u017cej i chcieliby nieco bardziej zg\u0142\u0119bi\u0107 temat, a dodatkowo maj\u0105 troch\u0119 czasu - dla nich jest ostatnimi link, <a href=\"https:\/\/github.com\/microsoft\/AI-For-Beginners\">microsoft\/AI-For-Beginners<\/a>. Pracownicy Microsoftu stworzyli bowiem 12-tygodniowy program nauczania sk\u0142adaj\u0105cy si\u0119 z 24 lekcji, skoncentrowany na Sztucznej Inteligencji. Program pokrywa r\u00f3\u017cne podej\u015bcia do AI, w tym symboliczne AI, sieci neuronowe i Deep Learning, wykorzystuj\u0105c popularne frameworki, takie jak TensorFlow i PyTorch. W\u0142\u0105czono r\u00f3wnie\u017c inne aspekty, takie jak NLP, analiza obraz\u00f3w, algorytmy genetyczne i systemy wieloagentowe. <\/p>\n","innerContent":["\n<p>Dla tych za\u015b, kt\u00f3rzy nie czuj\u0105 si\u0119 komfortowo z tym co zobaczyli powy\u017cej i chcieliby nieco bardziej zg\u0142\u0119bi\u0107 temat, a dodatkowo maj\u0105 troch\u0119 czasu - dla nich jest ostatnimi link, <a href=\"https:\/\/github.com\/microsoft\/AI-For-Beginners\">microsoft\/AI-For-Beginners<\/a>. Pracownicy Microsoftu stworzyli bowiem 12-tygodniowy program nauczania sk\u0142adaj\u0105cy si\u0119 z 24 lekcji, skoncentrowany na Sztucznej Inteligencji. Program pokrywa r\u00f3\u017cne podej\u015bcia do AI, w tym symboliczne AI, sieci neuronowe i Deep Learning, wykorzystuj\u0105c popularne frameworki, takie jak TensorFlow i PyTorch. W\u0142\u0105czono r\u00f3wnie\u017c inne aspekty, takie jak NLP, analiza obraz\u00f3w, algorytmy genetyczne i systemy wieloagentowe. <\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Co te\u017c ciekawe, program celowo nie skupia si\u0119 na praktycznych zastosowaniach, nie chc\u0105c wpycha\u0107 przez gard\u0142o u\u017cytkownikowi konkretnych rozwi\u0105za\u0144. Dla tych, kt\u00f3rzy chc\u0105 pozna\u0107 jednak teoretyczne podstawy podej\u015bcia do AI (klasyczne, historyczne podej\u015bcia s\u0105 celowo pomini\u0119te), kurs b\u0119dzie interesuj\u0105cym \u017ar\u00f3d\u0142em dla os\u00f3b chc\u0105cych zrozumie\u0107 podstawowe koncepcje i zastosowania AI.<\/p>\n","innerContent":["\n<p>Co te\u017c ciekawe, program celowo nie skupia si\u0119 na praktycznych zastosowaniach, nie chc\u0105c wpycha\u0107 przez gard\u0142o u\u017cytkownikowi konkretnych rozwi\u0105za\u0144. Dla tych, kt\u00f3rzy chc\u0105 pozna\u0107 jednak teoretyczne podstawy podej\u015bcia do AI (klasyczne, historyczne podej\u015bcia s\u0105 celowo pomini\u0119te), kurs b\u0119dzie interesuj\u0105cym \u017ar\u00f3d\u0142em dla os\u00f3b chc\u0105cych zrozumie\u0107 podstawowe koncepcje i zastosowania AI.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/separator","attrs":[],"innerBlocks":[],"innerHTML":"\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n","innerContent":["\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Mam nadzieje, \u017ce si\u0119 podoba\u0142o \ud83d\ude04. Ju\u017c za tydzie\u0144 kolejna edycja (zamiast czwartku\/pi\u0105tku planuje teraz publikowa\u0107 po weekendzie - we wtorek) i tym razem powr\u00f3cimy do klasycznego przegl\u0105du.<\/p>\n","innerContent":["\n<p>Mam nadzieje, \u017ce si\u0119 podoba\u0142o \ud83d\ude04. Ju\u017c za tydzie\u0144 kolejna edycja (zamiast czwartku\/pi\u0105tku planuje teraz publikowa\u0107 po weekendzie - we wtorek) i tym razem powr\u00f3cimy do klasycznego przegl\u0105du.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>A na sam koniec, je\u015bli jeste\u015bcie mocno sceptyczni do AI, polecam stron\u0119 <a href=\"http:\/\/pessimistsarchive.org\">pessimistsarchive.org<\/a> - pozwoli to uzmys\u0142owi\u0107, jak bardzo przewidywalna jest nasza ka\u017cda reakcja na now\u0105 technologie.<\/p>\n","innerContent":["\n<p>A na sam koniec, je\u015bli jeste\u015bcie mocno sceptyczni do AI, polecam stron\u0119 <a href=\"http:\/\/pessimistsarchive.org\">pessimistsarchive.org<\/a> - pozwoli to uzmys\u0142owi\u0107, jak bardzo przewidywalna jest nasza ka\u017cda reakcja na now\u0105 technologie.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"id":16311,"sizeSlug":"large","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image size-large\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/image-17-1024x525.png\" alt=\"\" class=\"wp-image-16311\"\/><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image size-large\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/06\/image-17-1024x525.png\" alt=\"\" class=\"wp-image-16311\"\/><\/figure>\n"]}],"_links":{"self":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/16288","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/comments?post=16288"}],"version-history":[{"count":16,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/16288\/revisions"}],"predecessor-version":[{"id":16336,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/16288\/revisions\/16336"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/media\/16315"}],"wp:attachment":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/media?parent=16288"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/categories?post=16288"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/tags?post=16288"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}