From 5844985ce5f1a0f5c50cb282ecee1e755b3415c2 Mon Sep 17 00:00:00 2001 From: Gilbert Kwan Date: Tue, 6 Feb 2024 17:55:56 -0500 Subject: [PATCH 01/67] drafted blog for langchain4j example --- img/blog/langchain4j-example-chat-room.png | Bin 0 -> 229501 bytes ...open-liberty-with-langchain4j-example.adoc | 129 ++++++++++++++++++ 2 files changed, 129 insertions(+) create mode 100644 img/blog/langchain4j-example-chat-room.png create mode 100644 posts/2024-02-29-open-liberty-with-langchain4j-example.adoc diff --git a/img/blog/langchain4j-example-chat-room.png b/img/blog/langchain4j-example-chat-room.png new file mode 100644 index 0000000000000000000000000000000000000000..ccba2133d35371a7b51fbda56251ee1459bcaafa GIT binary patch literal 229501 zcmdqJhhJ08);3I&DpCa%LMTcvVnJ#GQbLj5R7wOyx^x5#M5GGRq$(vK9i&PZ2+{?l z2~w5bK}bSLAS7?N&vVXu?)&-Pf8gWy+px3up4l_AX0COuYfX4#pa)^3zeZ0+M#iY6 zsb)k*MzugXjA*GzSLmAJFOiXvn>(qh8fdAi@)~%#KXY=mCnFP1^i7b~>@;9kcXzHe zrI(kLje07qUKKq~FE7KQwqa2ATK;{0_2sdHBsCLD-?7|<6+vGw&M)%KasSnE10PB6~Vt|4rKm%N5kZo&8Dl2DhF(D z$Q&8je*8;zIJzs)!G+O&P&WGW*<@@Ck`OnUc8@#jh(`CmLp=j+Ue`1r&GYvSp4v^} zCA*;uh+$b55VT%#KrS2`;jb)J8n8r@T~fChE+hGV_GFR~e^P8yF7BE2?8>c+4q3?e(6&fqSZV;w}9Lv9%p3H9(^3LZ0uS#aub=~L}_%C0S#mqzAzsM8fi28hg#2cb;(3Y=d@(xkxpb(q%(5TagB74kx{;jAfqAuWhEVI zITZiCOSORSJ}yf94|NTA zRo%Vpd1WMTO5WrL(ev{1DtbMACU2ys@jt~$pOp9=eSAFRrKDcGcp>@Xwxqk4gOs$K zoSf9nTT-`fNsyk9@D6zHW8*LJ+*{yZmHfLNHG6M6FDDNlC->*P=k?myy8HSl@$;X* z=s!RIYNx%w)Bk`(`A!y1W|n#rQE2+uYJf3`zK;{t%>x}RwFTihoT#%ifuoe~n- zGIR-;tQYY0!R$=8Z_oYi;gn7Th6fcfgP1}5(CLuEdV@RNS6iyLuUKwUXtdK_As2Y^ z|ECW=Y!r8YvA@uzXXqJN`gxD*PJmD8_K#$UzIFW=#8hj9uQnxX%!CD8^=+3M`S$Xa zkTldWVSTw$_R^hU56gr}7=MsS%5{YK(;^d%sTIF$cz^n97XJVO3crl&#V}!Btvy=1 zfc~Ig5MTOk1yj0{+)tY^H-vG&YJ8JIY8aUfS0V-y4)L=mxJcaCm^$rE@<%g~WI}Ed zKDF(mZxk!p3OA}OW|Ey*^1~A^;U8v&d9~RT$zTmG)(NPa6!Lu27mahrw-PV+=EmIs z!n+l71M-CLB3_yZ4Js1-35U2Me5cj=vp4`i3`FF({bmxl8q~2ZRf%jNpigwx8HQM_ z;T-F9S@&YzO(GT&-Ep8FS=;Ve!*zt^(~s`18ynu%LIi!~q)i7(at!w|#+glgKKw!|){RkOEsbYacs;Vs0Jdn)*())Jp@utZh1~E(|wd=FyDt-}DIgGR>a;~#v-P3G6Z{4Yiw6_@o zj0uWpiMv50i0!iq{_-WP%C3FkZEF)NFA=fer=WPMOBo7yRqe8#KUYad1!#}0{-kJ% z)636_NsbK#enreAlA+9 z^N~C_`64TL2mI;Jw)@XmZldN8lKsQom86hLx{kE(4LeXW?hEz@;zuF-UVm-a61!Gq|xdn4F~uGQ@T=FR#6b)@FX;- z>)dR2I1~6EyCfc;u(9{2zhcSwX{CL4KJaYyFl`cQ4R-=P`O~+~usNCt9mPnwnY*x1 zHZ?OE360~y;@9%@1b4Wj^aLeR7|NE6Wp=J$b0sWR<33{1vE^N;m{8M)^m(cM9kC`d zJ@coCcX_5;C2U3l4ev*9z1BtQHWQsDYuk9|qgQ?jY%b1=;W*g5CTG zArT0fxi^BtTkulqWy2Z7u}^tM+j4J-P?(iY5()w!B}dW|MG>YmA`$Qwzc7KQ)z0t^;E$&5PvyUt)Nta=WV5cW&AJ7%C3zd821PotLJkAV!=R z8PaYg41@sMnjl<>;BJ2Vf#r2Sbcw%nQJcZAh9a(A<4`(-V`z)1J|JtE3%&eG0@6k8U<}Xc47d z774v%NTqJD0xJ;gypAQA9S8|KH+*-?7Onv%?qP|=Q__cTaPMK<0|1m9*6>>RS#S2r zp?N^X;YnV)1&koE$JRmd6h;s^VzSBgW-3`@Imfg*8K)Td6YyAYr{~Wf>(Ij#lYpZj zwbi&k#M*8MC^#i$>5DlX?|~o-Hb1H#M!qwcobvHUnw2iFOo!iMr%%9H=e_R3uXx+Y zg#JrPGTKggZBL5)HpE`AZ)#36<8H(cp;SJ;6$n^{{?@OZ7qLg62aGO$KYT?3NvDR5l@ zX;KnDe!!O0rW{oAkk)4muVctHVLXHs4k{UEV5lP@ekCk2*E(kKhBV?d6=-C;O0bjO zL}LSpPs>bpQ8(b&90c~&-6A0C&ShZM%=#g=C!$`H2fA!tdh{2nr^H_d!n5Iu#1s57 zrg9Q!4ZpmtS$?CHAWn=MIeA1|vUAt~hhvY;Jx#F34k4-_cfZv=_xOyT| zj>RKFo)@tf>Ce=CJsZ6h?{h752w5srz82}HWHdg_Gu<>L;+GDK%onfPylvl;Fq_+} zp}^?Nx?19p_lfZ(`o!o>jIImnjjoc2LJF+gHCq4CnJVN_wN}ZG!kUv`iCC;D*iNQ< zM7CIUKYjtquIMv|#ZM9rBZrY7 zQpYR?Kf_M&+lP@u0;Cz=8xAL4mi_c?TPp6t5vAJ_kLGBiGeGd&gO&)_Jgqmkm3sq< z1h$!$HWYFI7WVjJ?cnN(0NwhH>&`l&3R~;~d!J_xitp_C#BV*^xtK$dZ$z%IjT94_ zD%L*ACyOs`?GaJ(JwZ=hHPPqc>K-4`ylU95SAuQQpB{i%7q%X(ke0$J4Bs_5@gj~% zK77SL)ZMzL1Dkeivj^`cw1dWeqK4a+mzmh{xt^IzO7%0e7U{Hv?g5+Pap1T*ifW_d<>9mxFHo(cZN8^z5}m1L3moakPDFe zfRCV(x2@=JIYqFQtUZw+3h}mNZb$M`kP&3w+razf7L`1deHSGH&YzKU?2U-?tLe5@ z%a~C&W!;&L*5}$O?Vh}J9T))f>H5=;Jt!|gDYX5Cf5RC4$?wE-@I>JnS|ZRVMdvPS z;NL7@V7szn3HbOiT;nk>>Y9}tal>+c^pI)y`bu}!N^_<;3$f!NX}-EOD;0DqnUXQ@ zk3-O8l~S*h0VZU2Qm?dF>Wbb1r{DF1LB*Zat!jq>u!%CJv%G3rnH`obG!|YIleW& zC0=+BSENXMN#ZfR>+`m8eZx}L@cfb=+wl|;2k-ZQ@@f8OhGZl>3JIM=Si__HP=9%1 zi1W}+--*SxG3s)%To3aa_jd(t^8;+2(pd+1-s0sDF$E>U1`YaoT-nxLIu1Qpf;`o+ zif3kQ`Jy1OuSst3N`%RS_LXsDpP5Xu+?A_Ictc3`k?VL#(4Zh({*`^k=?~6A_6|mP z0C7Jw$3-9ilp7qCwAUU0vn`(2MnSKFOSSnGV9uFM`mxAy-e>HHdfHvlUMb{X>*6k$ z@I&RtLGE%_FJc`yjO@mZtRrmO$Y>Dom;gS+ZIbK!`IfZMUxuG|>GT+aJHD}gv0Uuz zbO4DoJ33Aqx;$efjD&T1B7AFSm2Y6En z8qq+l#LI7f(*b@~QoZ7#&rE(JLGuQMF0`eMcdOd&;)H9lokPNKx~?BOPiA8^$;53$ zphI)_sSY5ZyU1E*3khSA0j`DY7fx0>Y-G4!LRQjWxMlVYsKtCI<+>K#64H+gnnF|B%fr!cL z%-=ab=-g?@IX>qV2+|ClXjUy*qy2t$u;PR9UBr`^gcE#H&cpH{@D3&JxH2dYed@3R zBTl&>N89dmO%IqqR}HGe36&-lGhV<@kkUbB4R z%S#glT7ha`ibHEx=SkR4Jqik;kSo~g@O`frSsus>lU03wp^ zPmqX9fen4b$QSx3o(B)x7=4`LckYhrkd23YmCNBR!{D3|?;)@plMya!^UKny0HVn4 zjF40gTgYhX&&N87wC$h-paI%S_E;cn)wlYgs8}|>NI%~Ke z?Ccw;5Oe3@Yq63erL4+!4#TXS#~nb6nH9^ZHsBUB&Isls@f}`k3fwS$*+x{f{+%it zbyCrM{|h~MQ~3ogl%DLJvu&=_3VE91A?q$xKvvtG0vzW%%IHdbOy4dBi>=@Q0@955 z-MWQRmkOwL-J;@ooJ2r}<=vB4s_Z_Y^Vk8tt`j}+Jl}RPDC0fscck573RIgxuLs!z zTs>u*stO?54U4GxC-BQzg9!AB?H6F@zTn$%^$zC_TQ+>a1qu*|h$XpmeNShmOUheoW1FecYnfMHUza9Ia#B|4u1 zedXgt3J_gJE%i%wP>EoZO8H#MUm_G*LCkc5yeXwTFUiZZ?t{?Pw3aghQwtXL8^y~5 z0_ytFjBZ+WtHIR+%e}U&2TfUi^teLHtB8mVmKm{ZSJPA|jBg9bq?TOE0p!AwNVsiD z{59lq8j_)nav8cK@ta7`4Z~mVjU<5*eBlR)_+?Wu4e zPDP80<5Q?(8NsDJ$ZC7AV;>4dqjj|(9VUNO_RCMc40Zagk?sVETDw7vR*#m#4J?;2 zX|L+bOe`7qMilR*pu~FhU46FL>~V=wMoT4nXA_MnrB-)*Vaidq_<>W3)5v4wT5s_= z^ZmD%1dYkRX6HL3g*H-^;DO$#N#X#JFxK)lb8#M=voH@NoSA|+WI^&Lr!g|zI)nFU z?av64uuLLh(o^VV#r-5bl*oX)3lfg@OIe3+v73v4rkU#|j-`S?!9HD+{*Fb`t8IPe zG4Z>iEWW{}R0AR3RSb4uBNTc$qa5wz@5Sb^Xx|ImZB(ED*9pCoVr?j|y&6jE#_pT= z*rj!7=2D-O-!-Y`7I0S*AV7-;2yY@fFAr~*bqhrt#6izaIgj#tkZ&W7!9X|;zl3wZ zVf5qT*B*V}#=*96^Xo_${7LFWuu-<>zc|4?ED3PjgM(2d7@qH+N8$*JhY(!mEwk)628mS|49l-mvApv*BLE zTAb_+e*$@!@CUHcUliHB`V#6SuO-gTdjF(MQGbhj>Cj2)YP2?A{*C<`fM!8N~{2X^;zw8nwA#AYF;W2@`F)5S`@*xUzg zM*9PD3FVK23eL1sHZ{#-s0G^5A&C&GbfXZxN6-k@!){t`@)#hxM!*yhkfL=NvTQDA zRv?w_*QGM7mnU`OSrTv}QIy(uY5=)3n%&ah)pf}bhQ{7sFyZWtZXO z;ik(aN2f`0^_gN{e^#=o%rr+GtCe(|^(OBwaV4zeXie!p~JPiWxC8^@y4L;Z>m0?q&UYQMO2# ztx$CH3d^Zt+mc9|pKv!x&cGR4qlzb|stjQVnmh;@O?z0kpqm)ztfPp8Ea(0KcrFCR z_@`sBE*-CM!x*NQVdp*U-)0&j2|%gR`zHdrECq)`H_CB+FG+Gn(d7KH}(q%#qbT5Y15;!;@vQP-$ph|Q(tmrT#mG@f!xi0h9`$~O7~AKh1#E1 z9!))o$;q>pN4rwod6p#6+yWnuG3kuBb=af_eTOeWM5`;PwG|5?j>!SRqa{i*&TOBx z^qb1DQ~bMcDzE&-??`eHN&1^yM=aq>yz_<*7nc4Nxz)9id^}GjxRoHeM!(B6m^E1N z0dn|~uJt^Ci-f}u2=hSspIR84elIK-?-G;(B=-NvR(w~96z**3V+!s@_VEDj!?qF> zL8n*iaT=sx#UA+i8i@>4DALum`N zSbGzz-UHD?T;n*?QWamc6rgQ%6?OPwUNN{$U?B}#TNazKWNZdoT~(M|UlyuFl}L5n zM`I6|py)Cz4r>arSk<~(wj8P*5`&UDqB&yNgM$c)#5)M060xvkY#l+X+D2HgEX9-# zBQKl_1+4@ODa0T}KQZ3)7?L%u;ogeaW5_W6?84-$+8%IwfQPtwHqj~4F)N=`%R`0D zQy~PAz>BCvb`J=rfa?a9U98_oYNJL?6^OQZXH1Cxyh-ev#O;#pJ1o3eYd5{a+-0bH z1QWAs+TZCx>3uJL@FU{`=1=jD*$E|hfj30N>S6oc{SbQ+htc|`;W=*YHo6^S`bDt~ zoq}=_0@kWN&4>pA+%VW^)eOb98Pk(Qrb8>jh(H{4!Qc(oV;cwjKriALiLTyWu2duj z5JZL-2f5^UaC6(Z23dC;-Z=9GDfIK$$2Fvb@3_B;CWYt3Em*F1)VUJ3IY%NmlZZi@ zC9uz>8xsL)B&rMipkK>WS4YTctD8r5m2d!U_0ISNgU4y`TKQ=bgzFne={i~c$>{+jvuhc}| zSsvg^k$jdhZH&;@9=8({G`07MdS&{d_m3kCUjom6OSi~i3hOo{V%kdef(&No%m|}S zkZ-$p2|t$xfF;XmOi%Wey%c>t=*5Pw2;Yv4BI-m zu{~hK)uRdmroq&GKR3_CwJZ(9nV{~syrba6WVo@Ht3L^> zIAI#*pTHQ5K^^X1gw=DRYLRz_QLxkoK3=~+|IpK7u2$l$h&1!o-8~_7e9on;IQXIN z*++3hOQWrlfn_@(uGPz2t+28E7_`%RKnmVEXq+CZL?)7WL1GiSmgC zcf`ol)Rk2A%DZ>(N?UzE>!e9CjvsC&eTj=ZJ)j%csuJm+>dDbbE2wp!ZyO!1G3kl$ zvRfV_trjf+(qWl6=RF)*UOyvx+8@1_vBx2@$CP}Ue->#n4?bl(H9(!+E8P21;^Zu) zL^wGt(>i5{WIZ(*y@cp`Gn1Zr+%T><&0e1j0Jg-!_kI(j1CntK?lVZap0VG6Bs413 zWE!LC2AFY)20! z#GlpeiCfV-eYx|lG(66V<@F#bebyc=VBq1F;1sk3R*Qzey6Is2%!oPmtXyjCnB9die8GT4f8mAAtxuGIx(vf-5|?yxJ?}NPAV5-&2{tLv1_?+)+Ok zaSN~iT-93M(-0G=@rR390Tvfq;5O$%}$1lrv6F#)8yGip9r3v?aT;rx69xZ#)) z8m<>AB*kT0riapEfpx{qZvAXsjK~DH2OMJ>Em;EeS4`QaBX+ zJ#V-%N?R4@@Ny$JQc~_)nsgo7z5vtG<@ne22fqJm? z)=?~1;-h?`57q#-g#j5@^M%Z9iL(q8lP{zxQs#Viy=F3)8YRzoF`?QNQI+yUV9hAF zI4^c*!uqhbh;cZO3wJs{ANX@fVedmuGru-c86)u(pzbD|F}{yA0%%jdHc-ladP7vQPB z!A=P{3{cqeCRR6k@uQtrTaqn)1iZ?@_}l?L6&JKI*kIYYKp~~pMzQaSh4KZKBxbcrB-%VU+5EvKXF}ouF*q?k$OGMLZqDU)VNwf!_}XH*EcB$+!DnJ zMcvy$4MYG@TG#@{KrJ4G;-Q#C)*=;13Q=E&FZ8uGVmy0-#LBAGaL4 z9JgGF|I~d+wz}l+OX4Pl5;ZxG!fo5GC|x8bYj2lLp*t&a$ycrCjc_Q_eHwV!69^B1 zh9!+^RFG@NRwzzW#xP|^BqsiTkzdm#IQHAD?X1lsCz?lUAz|8NZxX4lhp8|dA8w=+ zwUVg`!LP~gq6rjFhMtrLnFt}0T^gpJZT|{**w#(!BSX>R!Ph1)_sef)x@~uu_DaYW ztw+YaUO+DtSKc|{R{p={hJ!#mX2HMhbR?)7yYl8f|-Gi;#qIVlBgQKdYZ;{lUivSO4e)P zdAeyt3VEr$Apby7t7zrRx1%V|N#nn&M9CAt9t~3kI^RuSvL0-+yr%L?roZ9@eJ3?wE2lGOs*mLlN zQ|<-Tve6`Acmrg@ zWaI=MpWJeG+5WkteItft14fmKqt6_onc#_4&Y)!{nk-^tgqT3$|J>1W@R+L6#dCil zq;rX^3uCejUkK;|m@dP4gS#%Q;@KKk@(l=-{OgE(NFqajp zV&;v2{mf#7F5|{^kmiJE>9`YmoR1mu@uqQ_~WDaYnA<9X{b zDnehO)~Ub$*Mj`duqZPrlTlQ-&#TQxO|lHD?G-;^+f)63QIjL8SxJ_%fv zovG}G4^R)sN}x45J-cVcJC-kJSsv^lW{U0dvGz%f0W&vgec1u_Y5_ZU4ajU%M;6Vw z(gbY9Mphs}ywtNsU|#UYC;ynn|J4Td9DSf;?)9f#y9v?6M9Fpd$k($G>foqb0Wv#Y z1g&6GA;Oy)tkBF4y|xwToY^Ps*KM62XYVS^Bn%Z}=-+x^kv!Tq1t$mGnp38y{rt(ZP zDoS0W+_hU*e-asxUkFG0YqeK%t8+njB%Pux>|hyos)4Jws?#JSE+vM9Qir25;u(q% zfv!__@yC9q4Lg(nUmJ&%h%-7guuDvyKEjG94kHVMm zWZ4=;8c^>?G%kipq>V=wN=Z*DAg}T5mqD$#c>-2O{bDx|L>MSD_(W*de)hda0|8aJ zSR+PcUTeGEfNv*B{kL75Pa09<}^POyjY!72lVn_=oU+UasHeXi6Ur4Q}I1(AH} z|K19UeH{bS;Ck-o<4Y^cR%h!FUc@^}>f>3pVR#RSC z4ed{oGnUx^_Vt%j?HL(uP{8Mx7?0<8QXd4$;WqF2S#BVQ$#ehYblyi0w)9T#i(5Pf za)9AZ#qiY#1L9Axao!AzMfi+v9IdZKCi}@jxf>!+u4Gp0qvXQ<{( z`A;5T+!b#F*?^?w`)>1bhn1>dUq+#d4Fx)pXR{?X>sc=x>mczUdFhs;nH4j)=2CRe zJW)>kVdKrF$~nI2#K?<0te50`_NspA3EW2n$8=Qjb#^X9$t-m#3H{CC*Q^?e9CuV!B-4c}6T<|0fj-LOcee;~p{9;IKa z&O{7jvaQawOS*Lb0urqo{ls|7b*vVXmlwNH{F?1`JO7vQN4}YX)cHen+!H@8jq<9s zk<-hE+i^k}DvNz$#kuCk=f>RZkGADwfbk?hp^2#%lEWbPd7 zK@;p4QAc0pP}+sK?N3}0!F!P0;bPyJb@#>bo5z2aJ8}w=Iv=|*($)EfBTu?V=Q9Ir zROT5wM}jKpgQzR!CE>=Lx(vOF{?08L&e~TLKQ$q7dxH#n(eTNgql_xTE8p4GVU1nY zg|^c_@eMV9-oKrPc{``ybupXr9{%;%4b~0;r#)A&8mqeg%j?5)aBSM7Oplk9713i% z=+Z?lx28Md+s442_+Oy67VeW~XH8?YpEhad;KWdymA*uqz62Z8mC_i@?V^yBB>kYR zAB$ij24k~b-e4&QdG7X)U46=tEDQ9Fbw95S#&2tRvguRBhqcosMy{(Ar!k5gF2&f^ z`_yp-%7mHJ?`y0~XxO8SsznoB`Im*oB4o?wqz>Ks`|-}XdDqB7#_5dID226Gb(e0mk^0$+nIK+Nm24EYrkgxTaruksei|OX3Hz0J!C5z}I2OzUskGqyoh^5Fu<3N_ z=1#l9eZ+@mvoC!q?g{S3r)^g?-d>yd1jk<~w{TESm&bhfIG`*F|8mqOIqtjP-)t6o zoY3!p2$Hmfp;i}n8|JqR;v<-VEFj!BHnYum*WVlO{2uMTFW@<*qk;JkSK(fsgz-`S zr1R#`W5}DFxica8Je_O6xC7t)qf;ogWJln3IVbd&2}pp!$-A* zxOC8P-4_MSv8-mQ8gU=2r1ZGH6AUg{(MOHz`IQ#}ZY*q2-Dj?jPazj!xJf;nqj{HX ziRTIk9|+-LHDu zb6`M>w7CBZ5-)CQIv^grSmU#r(bv!~If`4%`$?};*vi9!^bfdFwJI_(m+X`FpjqAu zXU0FD%4NGVU%a>&yIC2jBV@&<$MwRtWOwUb)5gcB&72UMhF_O9MiR39mrB&;&Nd+H zKE+n+*N(M@Uvnu1KArNdWbBX^n7p)I(Q5DS@O9f}EA!1_E?kMj8bPp32f1h~I&XED z$7PS$Vs)fi#bL)^<{2?--x*>!BrXRft+k!72kDO@P%0bLNdD1Gk0ba~` zE|!*6h$ea@xQ~^4zVdJXk0bw!0rILYgwXKNyEZBIL&eLSP6P&md-!fy!v96{Rfd4E~Kl83suT5nA{#EeqyEs;l zEra`oBCn|nF69>H(S|0EaOB1{PW^b)Un4LaR6mwP5fvo^dlExRYevWGovB7zeWz#f zK)rVtSavJIrMQopd%qFC)=;PyTkpo=aVP}^YV^$NZ93h+MHu^B46`sU(wMEMZQK@` z|L|Nvm+`7o!S!D?PeXUNG~2&tpZQG%9Uq4a#L3or9k`_u4~k}IYd1wH+ddTNq($V0 zMn;?+{Sp|zlyP-UW{^&*)yKgfcL)!=SNMSGbD()@N-EQ;Z``yVfrr`b1#myo_ zoH=W-DE=5ud?941?nNmQoytQzs4M-AS5h zvtNw-#BXXJ4Zy%R1x9-C8@nhGfW5KYGh-e=Ff(lR@PGyyMg2(@tbAgD$ahzeq z@wQE!x7|lNXF5{(7P_;}Uw4ZSiGkG;pAEpmF;ixzXx@u(qRi&E9}R4JvV1LgG?HJ-3nshQ0!)Ri zTz&3oKkL~G=v<71-%&g?sYZfGCa@vtRg5l`t$x}fIu%I5NxMYU0r{9c0go$*wqOFE zZR$fhJTSE?e{|EU%+a2BRBvR2zgVOFp$f0iV&FAg&ui*{!-;QYOba}3{+kadSE{@! z`>pm#rNb$xpG@>yLuy6B_T5mo+&s%-)^LWJgv*QYacW5aGQ$wvH=K|U|5)ETK4}M) z2Q0ubVYCTiAL{hIgmzsFecoOg4UqrV&MXhP%BQ>0ovcz#N3~Pe?dmkLa^W>hq`bD5 zgLeb$8x7&^-#|??y1s8_(aDlXtlh9^5pD2R?CdzSO03Ke^w&%Y4w4^+9ttbz41|t* zlK>04*8O|{V|5WAf1Nu3``ZQsSP$zZ9+vG7s#b>GgIchzeSdV#{VHkJSIkRY2Os1C3(MwK1oSy2E!jE5A0|9k zZ{4k*?HGjsvr3u3_^9zT3-`02#{CWk0l61y{(qX_5u8w%bf#yIL+9Znl(U|MaE_S0 zMFuF=7W>^j81S3q%GinDgb)`wEj?74o%brf{E2q|$j#+$JSXQ7KL6*-UUuY*-?X3Z zP$+`Yy zhAiWy*e;Z^qw?0qeQ_+$btHu@jEy@%R)j@G^oJgdWtYWuJoRKw$R1^!KY^7xykXX$ zFW*1psO*y*Vjx)Dzk-Q#9x=4y|JEl!!4FKP=0zq~vk6Bt-Q4#kM~s5Z?Y{8qBfxal@}aBze? zU^HoqU4a`UC(nW}c^C>P~D>2A2g6EsfKS^OPAH;G3T?r+6lIy(YTWYLhm zoZO(!h>T+<-!tk6X#p7~h386qZH&H=RYz5Z62YwpU)q8_Kc`8Wa1AU*0<(W}$k}v+ z`COPOt8BaG_d8%+^K}r2m2tADp%J~)c<;Br0L#+}*ou6Vd^S-dBa{gwtE5a!F&7M< z{_GGr9DMXS#2k`Dk_V3|PiT1jZzejv{L|#%h3S?G=HvD?QJKk=U5XMIyM1Y6KE>Sn z{YgadfJ6iB?Pr76T^{K&7sJ*pURYh|wa^Qgb&@2}EL6{Jws|69Eq||v%RM@D z+I%rYn^iBw>;*d3Q^ty%CX#Z}7xuY+NwhL%Z|p&Bm(LcpNrRv%Wg(JiTA!R_C#19xn!88bSPmh|Ef$)UKT9DYdZI& zr+t+zLBzNyaOYdn5(H!?bKqoa_^rX>WY1eU9WyjH_1LO(?9NY{P&W&sFW*>fhBEu= z)m}_k3R->Yq@Jx`iIS!X$L%dJMVfvZ?Ur|~vPueb=vcMTzj9hrFwjB0UCH%xz7b^U z`Q3N1sdqi{g6FX|E3zzC;3T3)-PdM#_c!p;^l_(6r?g$i%6t8YSs+fgakY}ORyORo z?YI@So5+?iK|;Fi#oS09$xZ4@+zJt7P_A3Zr2+pG0`C8y&QWl;@*7b zwM$9|RsIv!NVRMgHGu^8favU5P0Vb2fSg*ei<4V<#m%_ej(&HYehbPSLMk=zJS&bqyTKhVgOTDfv`ayj-p{)tM`e-SrTj4dej0jz7DubKU zVF_!^Eq2%Lcy1_C@>Rw$FsIm=ma@%iK6;wjr!d2;ic;?rspv`W*A*8Ho{{jS0bJvF z`&ei&_;mLQ-M!1KzT@Ay?#e%zO&yN~OAqcT2(~DB>um-6xwUFXyR~*4VBTIYf$I|N zjbKcTrTgq4b11dPA8^9C{S#WR(*ASojP}kQak@i{OJ_~DOMwHqWNcd7T@9JHJ}1dH zY);127r*u*=qG>s=`2YYw0{$VX8BcG!{QQLF zZeZ)odhvVImP=Gn52ona@XK$JYaXjHgJ48I-bkZCCWT(WnKt?pukwH$I@i)fe5v^zdvYjd_{y4w~KR za|QKkq}v}TNYg3Cpb}E@Je(U7RV!j_i;PCc!c zpUD%#g`VQWj;-EaDard(FU{qAaqS zvcN_(mI&gl&(((4q*DA4T~MS!;wfb@(2=-8;tm)IaJuP~?Z3ZZmH^h(VR%0!PIA{xARJ z-+V!sO@z6;9e!EH5K422j?y`@XZ?`zZ3Evi)8}V{O!}asXD#8FZ?(69je9nxH2Ytf zf^UKbwve4gAYbj~QrDr(=|z&BAKfq+RPwa4Y%G7F`xXQkWYV}(GcYDmV%PgT)4C@o z(0Z%g?W1v#9wUjJKQfX^ivuXgWP0_NEPnbtL{FmUkj9g(GRon!)46pJ;(0(T>C+he zCW-ZA?328lzz&iaIX1voKjU1s|7G6lOC}N&&RC+!3TD=W7IEkUBJWW zf?G0JL&bgxZ9TI(M|LsVQstUFi42MoJG7Q))zh+i?UJI;wf3rB%$Lo(cn+@#`%=)h z&g2U5tX6+^82;j*Uhz7{t+U4ebZ*JQ{US*K;@A?>y?@!cH!ijzD_C|M0Q0{--$g7a zl>w(plrzO3kk`e7S6}2VmUF%fBC;&2{t|?QH%ow6_R@B*JTgPp@>$~hO&6QL-HTjz zAd2B;ZFhA$6S;UeKuzB~bL-uEPbSyM0u#ukEEWRX=bq27G%ZG0bRY;mFCUJk-JW|f ze}>Y{dRdq-7yZrDf#h;5%B*A$-+FiCYgG!N{rVO{Y<`UjbXMh33MkA8iC0uIVb+G? z8-T;Hvza&VwejYH+Pag2IMA-~N`7=mS>kN@NzprpFXf+y4f92d>uTEHElf5L7#Lgh}+~VO_-qb2F|G4i?e^rC}RYc-mLxQ)f@azU@xAyvCl* z*y~nwp5Oah^3F_x!cwvBXhv12tJuAZ@#BLoE_|H75LVz|LzBga)-vJuW9_R-yU9lJ z(3zTCP6u^s(CF&!Q{aS_KA>$p;+9N)xi%!YZs7sIkc@&KYs2gFTHYw%s3^`ZFSdT= zuKx^g^9Nmf*Q#!s`xnWF?Cn9HJ$7r>I?hAJ3##?lw}t z-kq0G5^)2#|N3GvKEX(PB^|d8UE<@ytcXi&<8m& zk_1bulPXT9!^O2kJAUMMaIk`r zpZQ9BB4qnE@L*#hrte2;VE?{Ft%^PmOXPKcNCxalsKoAQiR80c4i>ZWN6|h5l(xf9 zMnoF>^RHFSXqbK`|DpF}#1lO=7N>ZhXVl(u!@le&I$mNI<7LdFC|<@z;gIPW*b=>4 z<8#*n(nF0qD$&oHN)!}xI}M>zh?wyYAM(BTo29UY@a+2UYy9Ms>6(o_JvUIg#XCR4 zyBNC1bQol2U0wO-{boEZOyx*9tQ-cGjg5&~tEtOhWd7Sv-lTBhrqGpITCP_{Dd7z` zas`HHFENn5Y?9b-nBudPIBw>*l(eF+$gvv*QP_&o=gFdNP1kKhh49ShyQ0flmU>H9 z3zVq1hdi|%)QT5PR7S;$sa39i6^sv&;My%nE5{obVv<>KIk6Sdd3t9Z5i%Q&k=9Qw zTaxsjfBac9!`tp=3nrkNT5T1BmM5Tl^Jhv<+m``;LVq*Ezh~^HK&l1rE}E}IgP(#* z_;^j(iZIpqD29(b1mXD+zS2cQKXhH%Z^j5pXjcf5X9OtNuKX zmujpq&bCOUIF?qNTUuKS&r1D9I}gkwQX)J;9Fb!cm3(V z#qI-PD*xyH$(drWfv-nch^nG`^h%6XoSOm!I#%5|7T*mm(*6p~A#kqU08Xge2p}RK zrYOC_3BZ{Z=!Q;RD{|$pQ!C6h_CT}xh$gXy){k|&_Q#Z{A(-AOx}m>z+iq^%V+jsW zKu-xoCy_lG<-EyWfp_}*%Ki7CkQzCXLVL$b@dhZeY=Bc_Th}+3@zv72AthJxu_^AhxyG)r9J@}9Rey%k4{D@jzmF(IQ1rbtzfye#68FoI zpc>-}UA_Ztk$qT{P*2*q`%mAL9j*LB=gPymPD~UrR~%r)Nkft}tno~^dQ#%3<0{|2 zma7CxAIthaY%dcY-Ms>l7D-BT?>9ZSShU_6xrob%Ezv_VA|Xzzn3H!b(Rrb!8>xAZ zS{qs0?Mm@3u=|E7SF8%kG;J$jAfME{3lu>o2eDLSU&{W<*uEh<&nkOfdzg|482D$~ zDwK0JQ8xQ>_&yHv>zASuJno;cPi~9SS63tUiob4$}Zr2J_4wYgq%Iv**HK1Vi2$*qw(YKPeo_6p(I(fp}2yX;Y z?8ja&_#{)(_C`I{nUoZ@q?&4Qc6Ppx`qVdc=;lt+=}aK6{*|b2WUXk<@)5=swH0>4Z@q3t>DfUmfRAKYu zZh02;3Z7{S)LjV~(l}>R1{M}v9Fmsf(-nW^=}D<&|K(WU2J?UaF96aeh_Vut+k!;< z)4Kl_OkS~Un9|-+qKpG|uCCyj0%RJ2p4z3HM7FYbQHa;@`(0wDX#J_`MW(Mz8DXGe z&>oX~%Hrp7sXCXt-Hj54k(zX2%u(&N=IwKOfXdqVwGu$!D}&w%nd8WEDh1b-hFc&% zv^U-4tKPF0{vk;3w<2i4=*i!z^!Xl}{6`@e=& zhDtkG?=B&-KT}HdDkSIzQJ{^MY@s|so1g_t#D3~19TXGc3B;9gfEzj;%3g=ot5J5! zyy)ZIjJjT_s;^)~ExPm|i!CWCTajyb8to;X8dawV@=HNs0&(t^HP`p}|A=ekcr!1^ zG?G(Nhebq0kTee>Jp+gMEtW~Sk(n44#|W}6u3paGtG!&kR-RmNp`=vEU&o^+PXw(us=I8~DeO56W?M zH@pUO`hMhQ;*EqR3|%+GWdgEhG<;dN)LL@e!Mk@1`U8knrhqm~ef88u;T={~ulsFq z9)rJlR;)6S&|G>qOg)AJ;{)p&o&k6axvcth{C zh-x{LFfo3Hp^$K-_clUoi>6&-S*ip01+xA~Q}^T|!DL|i76%J89B@_&nM}dJBN%5C zU&d9BRsJVCau;`WiLp*?;e$oCe+%?~t;Y5%G=jbRJgj4X?X>9ntTZSb+v+FK$kg@B z%E9_cl$_>B%obY_8vhU?qt!P?K(p|%n=u|b%YwyUD$kcytc{e0FBx^(ju`aKRt^V= z=$SM{ZCoK^hLAjk9|XCDAJZ@HVz!{Sja^g~oW*>#r9^Z|kL5IwqHjW01?Z6)&}`2! z=^kMR1ecbV?h}`L>r6UskeP4wR0+^lERBEZ%y8~EE;iW8>F>4ts-FA?%ozfC zYiCqT5G~@qiU$)!1CCK3>3DS-weCN@{5VADOD3XUl-cw3(A3|9b1Mc;)zlDCaSAIY ziQ0`vYQZ2XwMZMJh!CwtWQ4NjP~xWCxn)NdT_wyWi+S^*RwwjL=f+LyOygqi^LQJJ z#nxq9vVTA8OIp!*TOO<5U^At%Z_<=Tr^>R|)0}K~6Ej7F038T%VqnY3YD`5UWHx(v zt&=D8K5T~W#Gk@yqpG0vBso@Hy(m^bed3WVJM|-XM>o!XN7DQF{gEoe?91s)HCE3U z8T)i2LO!YVYaa@biGLdi33c-OWFfAWIWm^uyQTOGL)8BrF8*Oqv1h({EX(#-=w&kN zq(O1H{`cR}xnc~9hy{>20zRoSdNUtORkGf%rpu}mSA`nWNR8{ajwfhYj@L0;k#^UMyhc77X6;|#-0k>${vBY?Ny!~Fdl=sr1H7F0rj6FkSt!(olRUao>OnZjsjoQ zu6~zMnd@Nmox>CQjP2uDruNS9QMR%XSR zz4c7*{~(xuZV%s#P%&fU#>}U8sCdCjH`q6?>F@pZe%!Y|3x(oM(Y49}NiFdFE85bC zXyr75R@|K~y+Wlw?;vf3?u&zHHs-@CwhN>~k92UlP?nLE2N^^!ra!3$V_t0cjYV-g zh1@XlZ}eY&=k$)d9+`e&slGA(zs~W0xlLyN^Ve#z+e~&6N1~Qi$6)${{O|fVvHDr< zN6YcrYp@F3d&#g6s47^N1&EroZd4db7%-YT?E>YGFSC7G`aivQ^n2qgRnH~p2sf6| zKORruwt7KJ%IY>V5_NHjEZMF06d%;=JmeHgDwKQLC^YL}k;XJ)KPvGqaADa9 z(G4#Dk@)oUxE0u$^BYIE7T4VV%LW_IzNk3v<~YacT4s_udciU2N0?$1oxveIF-Fs7 zKGPd^>k74T8)`^>sB)sUmJ_S^I$ar_39G-K+2T?F>BcLdJjkY9J-x1jeXTrC_-|OW zgbD2k``u)gl8vseTF|~7sV`-8`&YkKyn8@v1U@tHRH45Q$iUPu_zd-<{S4Xd3y0DW z21|NK)&i{zEFRsx((bcBgYQJ(J1g|4b-}t^HiT{D#7dkbr7SFkXg0T-n4(jz)SGwZ zSg}(Hy)wal{Lu#Eap1@A->#(r@pmEWk!I`Lf3p@4XvJJ;mif$GvJR)E-?<@w1$G*{ zOf!&D@1W8*tNy_KMnS#paEDG|wXV<{tGZJO!bd` zXSQoX`-m6kr@Bmrdp~JrKO(J0e4oh4rHY5;>1Cr!~t z>X=!olBp;R_6mTKJ1&b@CE+*YFoP;PPay$*V}HCv*R0qx4_9M!i`nvd9S(W8+q$nSo~+PS zhlXbLC_?}4>jTCj1w9 zR=j943fS%IxJHF+7uCaa0GvAM5CPpyKxSTB>(;Vrs+l~bGy`@K(_dH$QHC7%2FFbg zO**5L^j=bD*WO$9BIojRTM~c~Y?W7GMcuvpTQKG|wY>CMBLj8GJoQpbRU-+;38t5c zK&+UK(UkW(fHix5GD@wB>{fkyXV#ggg&6myaX#2`RE0|5>wgMlA?@(o(6*1OcJlMM zF@ok4Mu; zG)%{45)^=XjE2f>>zFYwRwR)^H4oEy8>c3>ssLEm_M1%yK1AeMPxO+A=O#~npwkq^glPI(DV0><{I(GuLO^bQ9`R3)mJ|+7v{u@*1CCk7I^_MT4KC6YrMnM15NNH z4O+S?=VN#~nlF}zQwDc>0`^Q18xWg6f8{bekBm#2Rt*NqVIN|x*pgpd4t)!sPZiH~ zhnD!Ft;bFQqFt}cUr;dL(`VeSn37p8SjpWJN&<@nMC@r)QNnj?hIcn^D+#GKSikPi z?~X=0!K6YKqvvO1kYIz`!}3lYn-+D#f(4f)wzRX**v^qJi!Mco@BdxkuYrp=rR!i- zzxP8}wfY&)hfAueVzgfqqJwi7iGed1nXHX4AL08OgWe@DM#og^MXv3FlR)s&-NlLR zX0m~9X`3GdA|P+PK zq-nRGr6b*C9v9@@(c9?^NF7uqd_3pu2iQ9FJq~NqV27~Z{zvUd*g@Z88H20Z?jlve z2|U#u{}w5wGY4>&sVajhowdRowkTYZefI3TG}+q$o=Nd?gM-8Rm}((@5olq-1p!s~ zAgj8CyssZ4nZQ@;YN4L^C|hZ#*%RJBBO^yZp|mu#c&Of}2QtkngLxw7FR7$NYro4W z;#y8Gr`y97({QbD`ln-zii?-~!mB#?qk~&qS#}A6tEJ4bJ-Qx^Q>Urq;WsFMbI`He z#z~hM&zpU;&FNnAjS^;gHDMdqfE?qE(VnCv{`Os>CtJ1@H&t6{v z%9$8IRmY|N^hZ;t4A|ZFPe%rA;nxcPMPciVSR0yoS?cxaoV|L}y6un1Kkl!tLXTE= zYqO(3A6|BZ7mw6Gb~xFGmNu#Eq>{P~P!p0CW)-_s(pFID8~{HW#7+cZ$N z{_2#tOQDY{`u$ndG0Bd$-wjZPM<=tYR?)I)IqyhSTY4I603-iXyCv+&t0HB83n#fZ z|8hEhqJL%j{i~q))VQttTRU@>A7LKO3ja(6GMjLhVbvvbm%*&|LlaXdj!pX)tp^7w zYjr;D9NurrA2wtrZ16XnPSE|=?yYI?s zIJ6S(W#NwQ53o>F$FDBS)?qKgE%5f#zM~gndg7<{Plxk}=L5aIX?Wg1QY27V=2GMl#S> z6m%Ns&5u(GuRbruYUSLS&hM)m&6fEkcoG>ShV~;}SO7Pm_;Y~2XVX!KLI)rfA;bb* zb`FUFB0rZ=sl>qIvTMDn#xmwNv`Zn~rTGjijZe;h9RDtdwxspdRkgZ*D1J{eI;mrm zF4_1h?Nx`@&%W%>We)DD3mA0sxrsNmo$r_8T&1=dA$RZV_b=w~+zb{xw#*=+=i{!S z*Kbz<2{O9NqLZfJ{T3KITI5=GOK`Zk`SxONWyTbS`A0QTif4h(2*PE!yREF&qU3%r zo5X1-KJDCOrI0~NmKfBw_-pFu44i?b+ud|NsUv0Ybog4ccU->@gQJ;*()%)o^E{Ht z_dd*;&gNXw6rfXPm}8 z)waF+b@|Zd6YRGE(2guJ?)R@rMBNwI4KOZ@(3(p3Y}#%$JcDKug&d{GTwo<~_U97< z0YF6_dnic6>~&={3y`SCDx3$C+rQS`qf%jZao*fBxVP7;c<0?TUj*Ifw(c(Yi(f-y zy1}PWM)Q_whIkF0N<2D=An>r0gNMSx)C(!e>@+XGWblVc6=}i0yOc0bY%~)(Pd~Rh zf$&-?NH(s#NvDRG))bz?)igjK#(YLbUm6vqqsS%;PJeRb`~e9XUt zqs%GCrg;K-#ZuuR8&lyd8wmLJCo}EJ^QQWfQqrruO2gB62aba2Tyur>RKJt}d^}NM z6NCx`3Z;3^7XGQSKk1Zt zT0T3MpW)8jB7*eQay~CLK<=36?2o+Y3)ISL+9>?EaL71Xl$0`B6V<-k`2Nmmg#+5k zDArHm`tH?c8z5S?JyjA2q*#k@@!0319!%k50sY$eVOGWZ+0BE2N-eJ$*ZTLE)rwcs z0nzuS79$uXR$JRf!cizd;K!4f%$l?OGehvD^nIjRtLL~J?FT;z!HIbg2{b_L^Vx|`ApSfzP^$P;{N015-YBe zE_H~PCZ26rx==+JD5cD&cpbVNA!#3qfyWU*c^6!~fwQ|3hog#X7pKmc5$a4c*acpR zzWkVfUBG<&`a~kEfYn?6E_^m@_yWh)kvyN2oQcfc?^Aw;7-@izf8?Wx8K5E=#-?*t zZ5nH!iW13ocm6dni7m!yon>vng_iZ>Sm#ZJj^Pg5dMZjivs^v!b)pN-+HM=E*W%Z6 zOZqbr?aTZVWuI#M1iE?A8R^{h8+Y>7RP!&f88z!`WEhm(UnUn?dCWR?Z8lS7XmW2c zvy|2DJ#}+}Tdeq^QlW(tPX#YHFYsAbn!J+z{;RmW2N1WQVQda#H~svoFnzGFu{CdJ zv14#|cn?=M(XpvfZ}xIN{GjRoJs2*qTK~sc3>3Z`}^>7swbSjrJD~y8}=A87T0cUjO-28bv*7if7d7!f{(|Q zy-{(3XwIc!Aw`oB<0_W6Nr`;VQ9||o#iH5Vh3HylRm+uC^J}YPC@I`(LT5fhPELHG zvY;8RJk{2`Jcc_GOZ?#J9FrZZ^;GGvMY8pw_*9T#Pqq1vJEmX{?RR@0S7xkr3%f9g zpU-IH??QxjrZ1NQsB%p^ZjXYOEQaQtigA38*Ls6ZGubY4%;Tbhrht^*C9Phg^J z5fv*zWO<2so`D`0iA};7NWr%a07V&1Bc^9lITk z!Ie�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⁣H>riJw(73GN%zE0_Z|{nkLv;R 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 +:imagesdir: / +:url-prefix: +:url-about: / + + + +"Large language models (LLMs) are a category of foundation models trained on immense amounts of data making them capable of understanding and generating natural language and other types of content to perform a wide range of tasks." ... _from https://www.ibm.com/topics/large-language-models_ + +https://github.com/langchain4j/langchain4j[LangChain4J APIs] provide the capablities to intergate LLMs into your Java application for different AI platforms, such as OpenAI and Hugging Face, etc. + +If you want to experience AI technologies, you can try out the `jakartaee-microprofile-example` project in the https://github.com/langchain4j/langchain4j-examples[langchain4j-examples] GitHub repository. It is an exemplar application that demostrates how to use LangChain4j APIs in Jakarta EE and MicroProfile application on Open Liberty. + + + +image::/img/blog/cargo-tracker-ee10-home.png[Cargo Tracker Home Page,width=50%,align="left"] +image::/img/blog/cargo-tracker-ee10-map.png[Cargo Tracker Map,width=50%,align="right"] + + +== Try out the jakartaee-microprofile-example application + +Before you clone the application to your machine, install JDK 17 and ensure that your `JAVA_HOME` system variable is set. You can make use of the https://developer.ibm.com/languages/java/semeru-runtimes/downloads[IBM Semeru Runtime] as your chosen Java runtime. This runtime offers performance benefits from deep technology investment in projects such as Eclipse OpenJ9 and is available across a wide variety of hardware and software platforms. To find out more about IBM Semeru Runtime, see https://openliberty.io/blog/2022/08/19/open-liberty-semeru-performance.html[Open Liberty and Semeru Runtimes, cloud-native performance that matters]. + +The application uses Hugging Face. You need to get a Hugging Face API Key: + +* Sign up and login to https://huggingface.co +* Go to Access Tokens by https://huggingface.co/settings/tokens +* New a Read token + +To access the repository remotely you'll need to install https://git-scm.com/book/en/v2/Getting-Started-Installing-Git[Git] if you haven't already. + +You can clone the `langchain4j-examples` GitHub repository to your local machine by running: + +[source] +---- +git clone https://github.com/langchain4j/langchain4j-examples.git +---- + +=== Environment Set Up + +To run the application, navigate to the `jakartaee-microprofile-example`` directory: + +[source] +---- +cd langchain4j-examples/jakartaee-microprofile-example +---- + +and set environment variables: + +[source] +---- +export JAVA_HOME= +export HUGGING_FACE_API_KEY= +---- + +=== Start the application + +Use the provided Maven wrapper to start the application by using the https://openliberty.io/docs/latest/development-mode.html[Liberty dev mode]: + + +[source] +---- +./mvnw liberty:dev +---- + +After you see the following message, the application is ready: + +---- +************************************************************** +* Liberty is running in dev mode. +---- + +To ensure the application has started successfully, you can run the tests by pressing the `enter/return` key from the command-line session where you started dev mode. If the tests pass, you should see a similar output to the following example: + +---- +[INFO] ------------------------------------------------------- +[INFO] T E S T S +[INFO] ------------------------------------------------------- +[INFO] Running it.dev.langchan4j.example.ChatServiceIT +[INFO] ... +[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.439 s... +[INFO] ... +[INFO] Running it.dev.langchan4j.example.ModelResourceIT +[INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.733 s... +[INFO] +[INFO] Results: +[INFO] +[INFO] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0 +---- + +=== Access the application + +Once the application is running, you can access it through a browser of your choice at http://localhost:9080/ and start experimenting with it. + +image::/img/blog/langchain4j-example-chat-room.png[Chat Room of LangChain4J Jakarta EE and MicroProfile example,width=70%,align="center"] + +You can type in any text that you want to chat with the AI agent. Here are some suggested messages: + +* `What is large language models?` +* `tell me more` +* `which are the top used models?` +* `any documentation?` + + + +== Nice work! Where to next? + +Check out the https://openliberty.io/guides/[Open Liberty guides] for more information and interactive tutorials that walk you through using more Jakarta EE and MicroProfile APIs with Open Liberty. + +== Helpful links +* link:https://openliberty.io/guides/jakarta-websocket.html[Bidirectional communication between services using Jakarta WebSocket] +* link:https://openliberty.io/guides/microprofile-config.html[Configuring microservices] +* link:https://openliberty.io/guides/microprofile-metrics.html[Providing metrics from a microservice] + + From a51546dc68ddb9dcdef51c0ed585e2cfc7e1da60 Mon Sep 17 00:00:00 2001 From: Gilbert Kwan Date: Tue, 6 Feb 2024 18:05:56 -0500 Subject: [PATCH 02/67] drafted blog for langchain4j example --- posts/2024-02-29-open-liberty-with-langchain4j-example.adoc | 5 ----- 1 file changed, 5 deletions(-) diff --git a/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc b/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc index 50d650667..5ee4d5952 100644 --- a/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc @@ -26,11 +26,6 @@ https://github.com/langchain4j/langchain4j[LangChain4J APIs] provide the capabli If you want to experience AI technologies, you can try out the `jakartaee-microprofile-example` project in the https://github.com/langchain4j/langchain4j-examples[langchain4j-examples] GitHub repository. It is an exemplar application that demostrates how to use LangChain4j APIs in Jakarta EE and MicroProfile application on Open Liberty. - -image::/img/blog/cargo-tracker-ee10-home.png[Cargo Tracker Home Page,width=50%,align="left"] -image::/img/blog/cargo-tracker-ee10-map.png[Cargo Tracker Map,width=50%,align="right"] - - == Try out the jakartaee-microprofile-example application Before you clone the application to your machine, install JDK 17 and ensure that your `JAVA_HOME` system variable is set. You can make use of the https://developer.ibm.com/languages/java/semeru-runtimes/downloads[IBM Semeru Runtime] as your chosen Java runtime. This runtime offers performance benefits from deep technology investment in projects such as Eclipse OpenJ9 and is available across a wide variety of hardware and software platforms. To find out more about IBM Semeru Runtime, see https://openliberty.io/blog/2022/08/19/open-liberty-semeru-performance.html[Open Liberty and Semeru Runtimes, cloud-native performance that matters]. From 5c5cc2d596dfb7512e26cfa1c4c7c45da5e4a3c3 Mon Sep 17 00:00:00 2001 From: Gilbert Kwan Date: Tue, 6 Feb 2024 18:41:31 -0500 Subject: [PATCH 03/67] drafted blog for langchain4j example --- ...open-liberty-with-langchain4j-example.adoc | 52 ++++++++++++++++--- 1 file changed, 44 insertions(+), 8 deletions(-) diff --git a/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc b/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc index 5ee4d5952..39f32df5e 100644 --- a/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc @@ -36,9 +36,7 @@ The application uses Hugging Face. You need to get a Hugging Face API Key: * Go to Access Tokens by https://huggingface.co/settings/tokens * New a Read token -To access the repository remotely you'll need to install https://git-scm.com/book/en/v2/Getting-Started-Installing-Git[Git] if you haven't already. - -You can clone the `langchain4j-examples` GitHub repository to your local machine by running: +To access the repository remotely you'll need to install https://git-scm.com/book/en/v2/Getting-Started-Installing-Git[Git] if you haven't already. You can clone the `langchain4j-examples` GitHub repository to your local machine by running: [source] ---- @@ -47,14 +45,14 @@ git clone https://github.com/langchain4j/langchain4j-examples.git === Environment Set Up -To run the application, navigate to the `jakartaee-microprofile-example`` directory: +To run the application, navigate to the `jakartaee-microprofile-example` directory: [source] ---- cd langchain4j-examples/jakartaee-microprofile-example ---- -and set environment variables: +and set the environment variables: [source] ---- @@ -64,7 +62,7 @@ export HUGGING_FACE_API_KEY= === Start the application -Use the provided Maven wrapper to start the application by using the https://openliberty.io/docs/latest/development-mode.html[Liberty dev mode]: +To start the application, use the provided Maven wrapper to run the https://openliberty.io/docs/latest/development-mode.html[Liberty dev mode]: [source] @@ -75,11 +73,20 @@ Use the provided Maven wrapper to start the application by using the https://ope After you see the following message, the application is ready: ---- -************************************************************** +************************************************************************ * Liberty is running in dev mode. +* Automatic generation of features: [ Off ] +* h - see the help menu for available actions, type 'h' and press Enter. +* q - stop the server and quit dev mode, press Ctrl-C or type 'q' and press Enter. +* +* Liberty server port information: +* Liberty server HTTP port: [ 9080 ] +* Liberty server HTTPS port: [ 9443 ] +* Liberty debug port: [ 7777 ] +************************************************************************ ---- -To ensure the application has started successfully, you can run the tests by pressing the `enter/return` key from the command-line session where you started dev mode. If the tests pass, you should see a similar output to the following example: +To ensure the application has started successfully, you can run the tests by pressing the `enter/return` key from the command-line session. If the tests pass, you should see a similar output to the following example: ---- [INFO] ------------------------------------------------------- @@ -110,7 +117,36 @@ You can type in any text that you want to chat with the AI agent. Here are some * `which are the top used models?` * `any documentation?` +== What are Jakarta EE and MicroProfile features used? + +To connect to the AI provider, such as Hugging Face in the application, an API key is required. For security practice, it is not hard-coded in either the code or properties file. The application externalizes the API key and the langchain4j model properties with the MicroProfile Config feature that helps microservices to run in different environments without code changes. + +[java] +---- + @Inject + @ConfigProperty(name = "hugging.face.api.key") + private String HUGGING_FACE_API_KEY; + + @Inject + @ConfigProperty(name = "chat.model.id") + private String CHAT_MODEL_ID; + @Inject + @ConfigProperty(name = "chat.model.timeout") + private Integer TIMEOUT; + + @Inject + @ConfigProperty(name = "chat.model.max.token") + private Integer MAX_NEW_TOKEN; + + @Inject + @ConfigProperty(name = "chat.model.temperature") + private Double TEMPERATURE; + + @Inject + @ConfigProperty(name = "chat.memory.max.messages") + private Integer MAX_MESSAGES; +---- == Nice work! Where to next? From 57600b2336aa4a4a8146d22a22495a9687faf5ef Mon Sep 17 00:00:00 2001 From: Gilbert Kwan Date: Tue, 6 Feb 2024 18:57:54 -0500 Subject: [PATCH 04/67] drafted blog for langchain4j example --- ...open-liberty-with-langchain4j-example.adoc | 28 +++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc b/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc index 39f32df5e..6310e34a8 100644 --- a/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc @@ -21,7 +21,7 @@ Gilbert Kwan "Large language models (LLMs) are a category of foundation models trained on immense amounts of data making them capable of understanding and generating natural language and other types of content to perform a wide range of tasks." ... _from https://www.ibm.com/topics/large-language-models_ -https://github.com/langchain4j/langchain4j[LangChain4J APIs] provide the capablities to intergate LLMs into your Java application for different AI platforms, such as OpenAI and Hugging Face, etc. +https://github.com/langchain4j/langchain4j[LangChain4J APIs] provide the capabilities to intergate LLMs into your Java application for different AI platforms, such as OpenAI and Hugging Face, etc. If you want to experience AI technologies, you can try out the `jakartaee-microprofile-example` project in the https://github.com/langchain4j/langchain4j-examples[langchain4j-examples] GitHub repository. It is an exemplar application that demostrates how to use LangChain4j APIs in Jakarta EE and MicroProfile application on Open Liberty. @@ -119,7 +119,19 @@ You can type in any text that you want to chat with the AI agent. Here are some == What are Jakarta EE and MicroProfile features used? -To connect to the AI provider, such as Hugging Face in the application, an API key is required. For security practice, it is not hard-coded in either the code or properties file. The application externalizes the API key and the langchain4j model properties with the MicroProfile Config feature that helps microservices to run in different environments without code changes. +To connect to the AI provider, such as Hugging Face used in the application, an API key is required. + +[java] +---- +HuggingFaceChatModel model = HuggingFaceChatModel.builder() + .accessToken(HUGGING_FACE_API_KEY) + .modelId(CHAT_MODEL_ID) + .timeout(ofSeconds(TIMEOUT)) + .temperature(TEMPERATURE) + .maxNewTokens(MAX_NEW_TOKEN) +---- + +For security practice, it is not hard-coded in either the code or properties file. The application externalizes the API key and the langchain4j model properties with the MicroProfile Config feature that helps microservices to run in different environments without code changes. You can learn more from the https://openliberty.io/docs/latest/external-configuration.html[External configuration of microservices] document. [java] ---- @@ -148,6 +160,18 @@ To connect to the AI provider, such as Hugging Face in the application, an API k private Integer MAX_MESSAGES; ---- +To fine tune the langchain4j model or even try out another LLM, you simply update the values in the `langchain4j-examples/jakartaee-microprofile-example/src/main/resources/META-INF/microprofile-config.properties` file. + +[text] +---- +hugging.face.api.key=set it by env variable +chat.model.id=NousResearch/Nous-Hermes-2-Mixtral-8x7B-DPO +chat.model.timeout=120 +chat.model.max.token=200 +chat.model.temperature=1.0 +chat.memory.max.messages=20 +---- + == Nice work! Where to next? Check out the https://openliberty.io/guides/[Open Liberty guides] for more information and interactive tutorials that walk you through using more Jakarta EE and MicroProfile APIs with Open Liberty. From 20aa5b369a0d34c5d668c7e1ec46e350a04ab83f Mon Sep 17 00:00:00 2001 From: Gilbert Kwan Date: Wed, 7 Feb 2024 10:22:32 -0500 Subject: [PATCH 05/67] drafted blog for langchain4j example --- ...open-liberty-with-langchain4j-example.adoc | 49 ++++++++++++++----- 1 file changed, 36 insertions(+), 13 deletions(-) diff --git a/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc b/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc index 6310e34a8..d336bbe4f 100644 --- a/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc @@ -21,20 +21,20 @@ Gilbert Kwan "Large language models (LLMs) are a category of foundation models trained on immense amounts of data making them capable of understanding and generating natural language and other types of content to perform a wide range of tasks." ... _from https://www.ibm.com/topics/large-language-models_ -https://github.com/langchain4j/langchain4j[LangChain4J APIs] provide the capabilities to intergate LLMs into your Java application for different AI platforms, such as OpenAI and Hugging Face, etc. +https://github.com/langchain4j/langchain4j[LangChain4J APIs] provide the abilities to intergate LLMs into your Java application for different AI platforms, such as OpenAI and Hugging Face, etc. -If you want to experience AI technologies, you can try out the `jakartaee-microprofile-example` project in the https://github.com/langchain4j/langchain4j-examples[langchain4j-examples] GitHub repository. It is an exemplar application that demostrates how to use LangChain4j APIs in Jakarta EE and MicroProfile application on Open Liberty. +If you want to experience AI technologies, you can try out the `jakartaee-microprofile-example` project in the https://github.com/langchain4j/langchain4j-examples[langchain4j-examples] GitHub repository. It is an example that demostrates how to use LangChain4j APIs in Jakarta EE and MicroProfile application on Open Liberty. == Try out the jakartaee-microprofile-example application -Before you clone the application to your machine, install JDK 17 and ensure that your `JAVA_HOME` system variable is set. You can make use of the https://developer.ibm.com/languages/java/semeru-runtimes/downloads[IBM Semeru Runtime] as your chosen Java runtime. This runtime offers performance benefits from deep technology investment in projects such as Eclipse OpenJ9 and is available across a wide variety of hardware and software platforms. To find out more about IBM Semeru Runtime, see https://openliberty.io/blog/2022/08/19/open-liberty-semeru-performance.html[Open Liberty and Semeru Runtimes, cloud-native performance that matters]. +Before you clone the application to your machine, install JDK 17 and ensure that your `JAVA_HOME` environment variable is set. You can make use of the https://developer.ibm.com/languages/java/semeru-runtimes/downloads[IBM Semeru Runtime] as your chosen Java runtime. This runtime offers performance benefits from deep technology investment in projects such as Eclipse OpenJ9 and is available across a wide variety of hardware and software platforms. To find out more about IBM Semeru Runtime, see https://openliberty.io/blog/2022/08/19/open-liberty-semeru-performance.html[Open Liberty and Semeru Runtimes, cloud-native performance that matters]. The application uses Hugging Face. You need to get a Hugging Face API Key: * Sign up and login to https://huggingface.co * Go to Access Tokens by https://huggingface.co/settings/tokens -* New a Read token +* New a read token To access the repository remotely you'll need to install https://git-scm.com/book/en/v2/Getting-Started-Installing-Git[Git] if you haven't already. You can clone the `langchain4j-examples` GitHub repository to your local machine by running: @@ -117,24 +117,45 @@ You can type in any text that you want to chat with the AI agent. Here are some * `which are the top used models?` * `any documentation?` -== What are Jakarta EE and MicroProfile features used? -To connect to the AI provider, such as Hugging Face used in the application, an API key is required. +== Jakarta EE and MicroProfile features used in the application + +The application demostrates how to use the LangChain4J APIs, https://openliberty.io/docs/ref/feature/#cdi-4.0.html[Jakarta Contexts and Dependency Injection], https://openliberty.io/docs/latest/reference/feature/websocket-2.1.html[Jakarta WebSocket], https://openliberty.io/docs/ref/feature/#mpConfig-3.0.html[MicroProfile Config], and https://openliberty.io/docs/latest/reference/feature/mpMetrics-5.1.html[MicroProfile Metrics] features. + +=== Creating the LangChain4J AI service + +The application uses the `HuggingFaceChatModel` class to provide the model for building the AI service. Through the customized `ChatAgent` interface, the application can send messages to the LLM by the `chat()` method. [java] ---- -HuggingFaceChatModel model = HuggingFaceChatModel.builder() - .accessToken(HUGGING_FACE_API_KEY) - .modelId(CHAT_MODEL_ID) - .timeout(ofSeconds(TIMEOUT)) - .temperature(TEMPERATURE) - .maxNewTokens(MAX_NEW_TOKEN) +public class AgentManager { + ... + private ChatAgent createAgent() { + HuggingFaceChatModel model = HuggingFaceChatModel.builder() + .accessToken(HUGGING_FACE_API_KEY) + .modelId(CHAT_MODEL_ID) + .timeout(ofSeconds(TIMEOUT)) + .temperature(TEMPERATURE) + .maxNewTokens(MAX_NEW_TOKEN) + .waitForModel(true) + .build(); + ChatAgent agent = AiServices.builder(ChatAgent.class) + .chatLanguageModel(model) + .chatMemory(MessageWindowChatMemory.withMaxMessages(MAX_MESSAGES)) + .build(); ---- -For security practice, it is not hard-coded in either the code or properties file. The application externalizes the API key and the langchain4j model properties with the MicroProfile Config feature that helps microservices to run in different environments without code changes. You can learn more from the https://openliberty.io/docs/latest/external-configuration.html[External configuration of microservices] document. + +=== Externalizing the configuration + +As the above code, to access the model, an API key is required. For security practice, it is not hard-coded in the code. The application externalizes the API key and the langchain4j model properties with the MicroProfile Config feature that helps microservices to run in different environments without code changes. You can learn more from the https://openliberty.io/docs/latest/external-configuration.html[External configuration of microservices] document. [java] ---- +public class AgentManager { + + ... + @Inject @ConfigProperty(name = "hugging.face.api.key") private String HUGGING_FACE_API_KEY; @@ -158,6 +179,8 @@ For security practice, it is not hard-coded in either the code or properties fil @Inject @ConfigProperty(name = "chat.memory.max.messages") private Integer MAX_MESSAGES; + + ... ---- To fine tune the langchain4j model or even try out another LLM, you simply update the values in the `langchain4j-examples/jakartaee-microprofile-example/src/main/resources/META-INF/microprofile-config.properties` file. From 8ce1c22890cac95cf5e9c946809d9e6aa29bcf48 Mon Sep 17 00:00:00 2001 From: Gilbert Kwan Date: Wed, 7 Feb 2024 11:20:14 -0500 Subject: [PATCH 06/67] drafted blog for langchain4j example --- ...open-liberty-with-langchain4j-example.adoc | 56 ++++++++++++++++++- 1 file changed, 53 insertions(+), 3 deletions(-) diff --git a/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc b/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc index d336bbe4f..8a24fa194 100644 --- a/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc @@ -118,7 +118,7 @@ You can type in any text that you want to chat with the AI agent. Here are some * `any documentation?` -== Jakarta EE and MicroProfile features used in the application +== How the application works? The application demostrates how to use the LangChain4J APIs, https://openliberty.io/docs/ref/feature/#cdi-4.0.html[Jakarta Contexts and Dependency Injection], https://openliberty.io/docs/latest/reference/feature/websocket-2.1.html[Jakarta WebSocket], https://openliberty.io/docs/ref/feature/#mpConfig-3.0.html[MicroProfile Config], and https://openliberty.io/docs/latest/reference/feature/mpMetrics-5.1.html[MicroProfile Metrics] features. @@ -148,7 +148,7 @@ public class AgentManager { === Externalizing the configuration -As the above code, to access the model, an API key is required. For security practice, it is not hard-coded in the code. The application externalizes the API key and the langchain4j model properties with the MicroProfile Config feature that helps microservices to run in different environments without code changes. You can learn more from the https://openliberty.io/docs/latest/external-configuration.html[External configuration of microservices] document. +As the above code, to access the model, an API key is required. For security practice, it is not hard-coded in the code. The application externalizes the API key and the langchain4j model properties with the MicroProfile Config feature that helps the application to run in different environments without code changes. You can learn more from the https://openliberty.io/docs/latest/external-configuration.html[External configuration of microservices] document. [java] ---- @@ -183,7 +183,7 @@ public class AgentManager { ... ---- -To fine tune the langchain4j model or even try out another LLM, you simply update the values in the `langchain4j-examples/jakartaee-microprofile-example/src/main/resources/META-INF/microprofile-config.properties` file. +To fine tune the langchain4j model or even try out another LLM, you simply update the values in the `langchain4j-examples/jakartaee-microprofile-example/src/main/resources/META-INF/microprofile-config.properties` file or provide them through the enviroment variables. [text] ---- @@ -195,6 +195,56 @@ chat.model.temperature=1.0 chat.memory.max.messages=20 ---- +=== Communicating between the client and LLM + +The application provides the interactive UI client for users to communicate with the LLM. Jakarta WebSocket enables two-way communication between the client and the `ChatService` service. Each client makes an HTTP connection to the service and send out the message by the `send` method. + +https://github.com/gkwan-ibm/langchain4j-examples/blob/jee-mp-example/jakartaee-microprofile-example/src/main/webapp/chatroom.js[`chatroom.js`] +[java] +---- + const webSocket = new WebSocket('ws://localhost:9080/chat'); + ... + function sendMessage() { + ... + var myMessage = document.getElementById('myMessage').value; + ... + webSocket.send(myMessage); + ... + } +---- + +The service recieves the user messeages, forward them to the LLM, and then boardcast the answers back to the client + +---- +public class ChatService { + ... + @OnMessage + public void onMessage(String message, Session session) { + ... + String answer = askAgent(session, message); + ... + } + ... + private String askAgent(Session session, String userMessage) { + ... + answer = agent.chat(userMessage).trim(); + ... + } + ... + private void sendMessageToSession(Session session, String message) { + ... + manager.getSession(session.getId()) + .getBasicRemote() + .sendObject(message); + ... + } +---- + + +and then broadcast the LLM responsed messages back to the client. + + + == Nice work! Where to next? Check out the https://openliberty.io/guides/[Open Liberty guides] for more information and interactive tutorials that walk you through using more Jakarta EE and MicroProfile APIs with Open Liberty. From f32a985c1c0b3a2b233e3b71400c57dec5c5f806 Mon Sep 17 00:00:00 2001 From: Gilbert Kwan Date: Wed, 7 Feb 2024 11:57:59 -0500 Subject: [PATCH 07/67] drafted blog for langchain4j example --- ...open-liberty-with-langchain4j-example.adoc | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc b/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc index 8a24fa194..52fec53b6 100644 --- a/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc @@ -10,6 +10,7 @@ seo-description: Experience AI technology in an Jakarta EE and MicroProfile appl blog_description: "Experience AI technology in an Jakarta EE and MicroProfile application running on Open Liberty by using LangChain4J APIs." open-graph-image: https://openliberty.io/img/twitter_card.jpg open-graph-image-alt: Open Liberty Logo +example-location: https://github.com/gkwan-ibm/langchain4j-examples/blob/jee-mp-example/jakartaee-microprofile-example --- = Run LangChain4J in Jakarta EE and MicroProfile application on Open Liberty Gilbert Kwan @@ -118,7 +119,7 @@ You can type in any text that you want to chat with the AI agent. Here are some * `any documentation?` -== How the application works? +== How does the application work? The application demostrates how to use the LangChain4J APIs, https://openliberty.io/docs/ref/feature/#cdi-4.0.html[Jakarta Contexts and Dependency Injection], https://openliberty.io/docs/latest/reference/feature/websocket-2.1.html[Jakarta WebSocket], https://openliberty.io/docs/ref/feature/#mpConfig-3.0.html[MicroProfile Config], and https://openliberty.io/docs/latest/reference/feature/mpMetrics-5.1.html[MicroProfile Metrics] features. @@ -126,7 +127,8 @@ The application demostrates how to use the LangChain4J APIs, https://openliberty The application uses the `HuggingFaceChatModel` class to provide the model for building the AI service. Through the customized `ChatAgent` interface, the application can send messages to the LLM by the `chat()` method. -[java] +{{example-location}}/src/main/java/dev/langchain4j/example/chat/AgentManager.java[`AgentManager` class] +[source, java] ---- public class AgentManager { ... @@ -150,7 +152,8 @@ public class AgentManager { As the above code, to access the model, an API key is required. For security practice, it is not hard-coded in the code. The application externalizes the API key and the langchain4j model properties with the MicroProfile Config feature that helps the application to run in different environments without code changes. You can learn more from the https://openliberty.io/docs/latest/external-configuration.html[External configuration of microservices] document. -[java] +{example-location}/src/main/java/dev/langchain4j/example/chat/AgentManager.java[`AgentManager` class] +[source, java] ---- public class AgentManager { @@ -183,9 +186,8 @@ public class AgentManager { ... ---- -To fine tune the langchain4j model or even try out another LLM, you simply update the values in the `langchain4j-examples/jakartaee-microprofile-example/src/main/resources/META-INF/microprofile-config.properties` file or provide them through the enviroment variables. +To fine tune the langchain4j model or even try out another LLM, you simply update the values in the {example-location}/src/main/resources/META-INF/microprofile-config.properties[`langchain4j-examples/jakartaee-microprofile-example/src/main/resources/META-INF/microprofile-config.properties`] file or provide them through the enviroment variables. -[text] ---- hugging.face.api.key=set it by env variable chat.model.id=NousResearch/Nous-Hermes-2-Mixtral-8x7B-DPO @@ -199,8 +201,8 @@ chat.memory.max.messages=20 The application provides the interactive UI client for users to communicate with the LLM. Jakarta WebSocket enables two-way communication between the client and the `ChatService` service. Each client makes an HTTP connection to the service and send out the message by the `send` method. -https://github.com/gkwan-ibm/langchain4j-examples/blob/jee-mp-example/jakartaee-microprofile-example/src/main/webapp/chatroom.js[`chatroom.js`] -[java] +{example-location}/src/main/webapp/chatroom.js[`chatroom.js`] +[source, java] ---- const webSocket = new WebSocket('ws://localhost:9080/chat'); ... @@ -213,8 +215,10 @@ https://github.com/gkwan-ibm/langchain4j-examples/blob/jee-mp-example/jakartaee- } ---- -The service recieves the user messeages, forward them to the LLM, and then boardcast the answers back to the client +The service recieves the user messeages, forward them to the LLM, and then boardcast the LLM responsed answers back to the client. +{example-location}/src/main/java/dev/langchain4j/example/chat/ChatService.java[`ChatService` class] +[source, java] ---- public class ChatService { ... @@ -241,10 +245,6 @@ public class ChatService { ---- -and then broadcast the LLM responsed messages back to the client. - - - == Nice work! Where to next? Check out the https://openliberty.io/guides/[Open Liberty guides] for more information and interactive tutorials that walk you through using more Jakarta EE and MicroProfile APIs with Open Liberty. From 4da9d0da759e1531e03ef56ff14dc16cd6c9c23b Mon Sep 17 00:00:00 2001 From: Gilbert Kwan Date: Wed, 7 Feb 2024 12:01:32 -0500 Subject: [PATCH 08/67] drafted blog for langchain4j example --- posts/2024-02-29-open-liberty-with-langchain4j-example.adoc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc b/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc index 52fec53b6..7c518dc9b 100644 --- a/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc @@ -127,7 +127,7 @@ The application demostrates how to use the LangChain4J APIs, https://openliberty The application uses the `HuggingFaceChatModel` class to provide the model for building the AI service. Through the customized `ChatAgent` interface, the application can send messages to the LLM by the `chat()` method. -{{example-location}}/src/main/java/dev/langchain4j/example/chat/AgentManager.java[`AgentManager` class] +{{page.example-location}}/src/main/java/dev/langchain4j/example/chat/AgentManager.java[`AgentManager` class] [source, java] ---- public class AgentManager { @@ -145,6 +145,8 @@ public class AgentManager { .chatLanguageModel(model) .chatMemory(MessageWindowChatMemory.withMaxMessages(MAX_MESSAGES)) .build(); + ... +} ---- @@ -152,7 +154,7 @@ public class AgentManager { As the above code, to access the model, an API key is required. For security practice, it is not hard-coded in the code. The application externalizes the API key and the langchain4j model properties with the MicroProfile Config feature that helps the application to run in different environments without code changes. You can learn more from the https://openliberty.io/docs/latest/external-configuration.html[External configuration of microservices] document. -{example-location}/src/main/java/dev/langchain4j/example/chat/AgentManager.java[`AgentManager` class] +{page.example-location}/src/main/java/dev/langchain4j/example/chat/AgentManager.java[`AgentManager` class] [source, java] ---- public class AgentManager { From 9920d076eb7083c7a9cd48068722c1b63aca35a8 Mon Sep 17 00:00:00 2001 From: Gilbert Kwan Date: Wed, 7 Feb 2024 12:15:50 -0500 Subject: [PATCH 09/67] drafted blog for langchain4j example --- posts/2024-02-29-open-liberty-with-langchain4j-example.adoc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc b/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc index 7c518dc9b..af1c84fd0 100644 --- a/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc @@ -127,6 +127,10 @@ The application demostrates how to use the LangChain4J APIs, https://openliberty The application uses the `HuggingFaceChatModel` class to provide the model for building the AI service. Through the customized `ChatAgent` interface, the application can send messages to the LLM by the `chat()` method. +{{page.example-location}}/src/main/java/dev/langchain4j/example/chat/AgentManager.java + +{page.example-location}/src/main/java/dev/langchain4j/example/chat/AgentManager.java + {{page.example-location}}/src/main/java/dev/langchain4j/example/chat/AgentManager.java[`AgentManager` class] [source, java] ---- @@ -145,6 +149,8 @@ public class AgentManager { .chatLanguageModel(model) .chatMemory(MessageWindowChatMemory.withMaxMessages(MAX_MESSAGES)) .build(); + ... + } ... } ---- From 5764e8b2e07daaa647b399cb211d254d6cbee0b0 Mon Sep 17 00:00:00 2001 From: Gilbert Kwan Date: Wed, 7 Feb 2024 12:34:56 -0500 Subject: [PATCH 10/67] drafted blog for langchain4j example --- .../2024-02-29-open-liberty-with-langchain4j-example.adoc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc b/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc index af1c84fd0..1bfbd18a1 100644 --- a/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc @@ -10,7 +10,7 @@ seo-description: Experience AI technology in an Jakarta EE and MicroProfile appl blog_description: "Experience AI technology in an Jakarta EE and MicroProfile application running on Open Liberty by using LangChain4J APIs." open-graph-image: https://openliberty.io/img/twitter_card.jpg open-graph-image-alt: Open Liberty Logo -example-location: https://github.com/gkwan-ibm/langchain4j-examples/blob/jee-mp-example/jakartaee-microprofile-example +examplelocation: https://github.com/gkwan-ibm/langchain4j-examples/blob/jee-mp-example/jakartaee-microprofile-example --- = Run LangChain4J in Jakarta EE and MicroProfile application on Open Liberty Gilbert Kwan @@ -127,11 +127,11 @@ The application demostrates how to use the LangChain4J APIs, https://openliberty The application uses the `HuggingFaceChatModel` class to provide the model for building the AI service. Through the customized `ChatAgent` interface, the application can send messages to the LLM by the `chat()` method. -{{page.example-location}}/src/main/java/dev/langchain4j/example/chat/AgentManager.java +{{page.examplelocation}}/src/main/java/dev/langchain4j/example/chat/AgentManager.java -{page.example-location}/src/main/java/dev/langchain4j/example/chat/AgentManager.java +{page.examplelocation}/src/main/java/dev/langchain4j/example/chat/AgentManager.java -{{page.example-location}}/src/main/java/dev/langchain4j/example/chat/AgentManager.java[`AgentManager` class] +{{page.examplelocation}}/src/main/java/dev/langchain4j/example/chat/AgentManager.java[`AgentManager` class] [source, java] ---- public class AgentManager { From 34e4b58ee7169cb2adb25f7c83243105657550f9 Mon Sep 17 00:00:00 2001 From: Gilbert Kwan Date: Wed, 7 Feb 2024 12:36:30 -0500 Subject: [PATCH 11/67] drafted blog for langchain4j example --- posts/2024-02-29-open-liberty-with-langchain4j-example.adoc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc b/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc index 1bfbd18a1..fbde2c8c8 100644 --- a/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc @@ -131,6 +131,10 @@ The application uses the `HuggingFaceChatModel` class to provide the model for b {page.examplelocation}/src/main/java/dev/langchain4j/example/chat/AgentManager.java +{{examplelocation}}/src/main/java/dev/langchain4j/example/chat/AgentManager.java + +{examplelocation}/src/main/java/dev/langchain4j/example/chat/AgentManager.java + {{page.examplelocation}}/src/main/java/dev/langchain4j/example/chat/AgentManager.java[`AgentManager` class] [source, java] ---- From a28e2445241eae2b08eb3f9f68ed7bb4f73704dd Mon Sep 17 00:00:00 2001 From: Gilbert Kwan Date: Wed, 7 Feb 2024 12:40:09 -0500 Subject: [PATCH 12/67] drafted blog for langchain4j example --- posts/2024-02-29-open-liberty-with-langchain4j-example.adoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc b/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc index fbde2c8c8..6c3b3cd50 100644 --- a/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc @@ -131,9 +131,9 @@ The application uses the `HuggingFaceChatModel` class to provide the model for b {page.examplelocation}/src/main/java/dev/langchain4j/example/chat/AgentManager.java -{{examplelocation}}/src/main/java/dev/langchain4j/example/chat/AgentManager.java +"{{examplelocation}}/src/main/java/dev/langchain4j/example/chat/AgentManager.java" -{examplelocation}/src/main/java/dev/langchain4j/example/chat/AgentManager.java +"{examplelocation}/src/main/java/dev/langchain4j/example/chat/AgentManager.java" {{page.examplelocation}}/src/main/java/dev/langchain4j/example/chat/AgentManager.java[`AgentManager` class] [source, java] From 378f631c0ea2e8d238c630030cef143cbe9fe226 Mon Sep 17 00:00:00 2001 From: Gilbert Kwan Date: Wed, 7 Feb 2024 14:00:23 -0500 Subject: [PATCH 13/67] drafted blog for langchain4j example --- ...open-liberty-with-langchain4j-example.adoc | 20 +++++-------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc b/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc index 6c3b3cd50..36e0281c1 100644 --- a/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc @@ -10,7 +10,6 @@ seo-description: Experience AI technology in an Jakarta EE and MicroProfile appl blog_description: "Experience AI technology in an Jakarta EE and MicroProfile application running on Open Liberty by using LangChain4J APIs." open-graph-image: https://openliberty.io/img/twitter_card.jpg open-graph-image-alt: Open Liberty Logo -examplelocation: https://github.com/gkwan-ibm/langchain4j-examples/blob/jee-mp-example/jakartaee-microprofile-example --- = Run LangChain4J in Jakarta EE and MicroProfile application on Open Liberty Gilbert Kwan @@ -127,18 +126,11 @@ The application demostrates how to use the LangChain4J APIs, https://openliberty The application uses the `HuggingFaceChatModel` class to provide the model for building the AI service. Through the customized `ChatAgent` interface, the application can send messages to the LLM by the `chat()` method. -{{page.examplelocation}}/src/main/java/dev/langchain4j/example/chat/AgentManager.java +:example-location: https://github.com/gkwan-ibm/langchain4j-examples/blob/jee-mp-example/jakartaee-microprofile-example -{page.examplelocation}/src/main/java/dev/langchain4j/example/chat/AgentManager.java - -"{{examplelocation}}/src/main/java/dev/langchain4j/example/chat/AgentManager.java" - -"{examplelocation}/src/main/java/dev/langchain4j/example/chat/AgentManager.java" - -{{page.examplelocation}}/src/main/java/dev/langchain4j/example/chat/AgentManager.java[`AgentManager` class] +{example-location}/src/main/java/dev/langchain4j/example/chat/AgentManager.java[`AgentManager` class] [source, java] ---- -public class AgentManager { ... private ChatAgent createAgent() { HuggingFaceChatModel model = HuggingFaceChatModel.builder() @@ -156,7 +148,6 @@ public class AgentManager { ... } ... -} ---- @@ -164,11 +155,9 @@ public class AgentManager { As the above code, to access the model, an API key is required. For security practice, it is not hard-coded in the code. The application externalizes the API key and the langchain4j model properties with the MicroProfile Config feature that helps the application to run in different environments without code changes. You can learn more from the https://openliberty.io/docs/latest/external-configuration.html[External configuration of microservices] document. -{page.example-location}/src/main/java/dev/langchain4j/example/chat/AgentManager.java[`AgentManager` class] +{example-location}/src/main/java/dev/langchain4j/example/chat/AgentManager.java[`AgentManager` class] [source, java] ---- -public class AgentManager { - ... @Inject @@ -232,7 +221,6 @@ The service recieves the user messeages, forward them to the LLM, and then board {example-location}/src/main/java/dev/langchain4j/example/chat/ChatService.java[`ChatService` class] [source, java] ---- -public class ChatService { ... @OnMessage public void onMessage(String message, Session session) { @@ -254,9 +242,11 @@ public class ChatService { .sendObject(message); ... } + ... ---- + == Nice work! Where to next? Check out the https://openliberty.io/guides/[Open Liberty guides] for more information and interactive tutorials that walk you through using more Jakarta EE and MicroProfile APIs with Open Liberty. From 7f1641dd281e223c94b9438aa8c305e7963c8b61 Mon Sep 17 00:00:00 2001 From: Gilbert Kwan Date: Wed, 7 Feb 2024 14:10:08 -0500 Subject: [PATCH 14/67] drafted blog for langchain4j example --- posts/2024-02-29-open-liberty-with-langchain4j-example.adoc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc b/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc index 36e0281c1..1a16c1fa3 100644 --- a/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc @@ -17,6 +17,7 @@ Gilbert Kwan :url-prefix: :url-about: / +:example-location: https://github.com/gkwan-ibm/langchain4j-examples/blob/jee-mp-example/jakartaee-microprofile-example "Large language models (LLMs) are a category of foundation models trained on immense amounts of data making them capable of understanding and generating natural language and other types of content to perform a wide range of tasks." ... _from https://www.ibm.com/topics/large-language-models_ @@ -126,8 +127,6 @@ The application demostrates how to use the LangChain4J APIs, https://openliberty The application uses the `HuggingFaceChatModel` class to provide the model for building the AI service. Through the customized `ChatAgent` interface, the application can send messages to the LLM by the `chat()` method. -:example-location: https://github.com/gkwan-ibm/langchain4j-examples/blob/jee-mp-example/jakartaee-microprofile-example - {example-location}/src/main/java/dev/langchain4j/example/chat/AgentManager.java[`AgentManager` class] [source, java] ---- From 39ba8172f315fcd0eccc2dc036bbc342c307ed58 Mon Sep 17 00:00:00 2001 From: Gilbert Kwan Date: Wed, 7 Feb 2024 14:22:13 -0500 Subject: [PATCH 15/67] drafted blog for langchain4j example --- .../2024-02-29-open-liberty-with-langchain4j-example.adoc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc b/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc index 1a16c1fa3..51118e6f9 100644 --- a/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc @@ -127,7 +127,7 @@ The application demostrates how to use the LangChain4J APIs, https://openliberty The application uses the `HuggingFaceChatModel` class to provide the model for building the AI service. Through the customized `ChatAgent` interface, the application can send messages to the LLM by the `chat()` method. -{example-location}/src/main/java/dev/langchain4j/example/chat/AgentManager.java[`AgentManager` class] +{example-location}/src/main/java/dev/langchain4j/example/chat/AgentManager.java[`src/main/java/dev/langchain4j/example/chat/AgentManager.java`] [source, java] ---- ... @@ -154,7 +154,7 @@ The application uses the `HuggingFaceChatModel` class to provide the model for b As the above code, to access the model, an API key is required. For security practice, it is not hard-coded in the code. The application externalizes the API key and the langchain4j model properties with the MicroProfile Config feature that helps the application to run in different environments without code changes. You can learn more from the https://openliberty.io/docs/latest/external-configuration.html[External configuration of microservices] document. -{example-location}/src/main/java/dev/langchain4j/example/chat/AgentManager.java[`AgentManager` class] +{example-location}/src/main/java/dev/langchain4j/example/chat/AgentManager.java[`src/main/java/dev/langchain4j/example/chat/AgentManager.java`] [source, java] ---- ... @@ -201,7 +201,7 @@ chat.memory.max.messages=20 The application provides the interactive UI client for users to communicate with the LLM. Jakarta WebSocket enables two-way communication between the client and the `ChatService` service. Each client makes an HTTP connection to the service and send out the message by the `send` method. -{example-location}/src/main/webapp/chatroom.js[`chatroom.js`] +{example-location}/src/main/webapp/chatroom.js[`src/main/webapp/chatroom.js`] [source, java] ---- const webSocket = new WebSocket('ws://localhost:9080/chat'); @@ -217,7 +217,7 @@ The application provides the interactive UI client for users to communicate with The service recieves the user messeages, forward them to the LLM, and then boardcast the LLM responsed answers back to the client. -{example-location}/src/main/java/dev/langchain4j/example/chat/ChatService.java[`ChatService` class] +{example-location}/src/main/java/dev/langchain4j/example/chat/ChatService.java[`src/main/java/dev/langchain4j/example/chat/ChatService.java`] [source, java] ---- ... From d7f45544f0a14adc209a40030baeebd13b2661ff Mon Sep 17 00:00:00 2001 From: Gilbert Kwan Date: Wed, 7 Feb 2024 14:36:52 -0500 Subject: [PATCH 16/67] drafted blog for langchain4j example --- posts/2024-02-29-open-liberty-with-langchain4j-example.adoc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc b/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc index 51118e6f9..d4bed3e17 100644 --- a/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc @@ -125,7 +125,7 @@ The application demostrates how to use the LangChain4J APIs, https://openliberty === Creating the LangChain4J AI service -The application uses the `HuggingFaceChatModel` class to provide the model for building the AI service. Through the customized `ChatAgent` interface, the application can send messages to the LLM by the `chat()` method. +The application uses the `HuggingFaceChatModel` class to provide the model for building the AI service. Through the customized {example-location}/src/main/java/dev/langchain4j/example/chat/ChatAgent.java[`ChatAgent`] interface, the application can send messages to the LLM by the `chat()` method. {example-location}/src/main/java/dev/langchain4j/example/chat/AgentManager.java[`src/main/java/dev/langchain4j/example/chat/AgentManager.java`] [source, java] @@ -199,7 +199,7 @@ chat.memory.max.messages=20 === Communicating between the client and LLM -The application provides the interactive UI client for users to communicate with the LLM. Jakarta WebSocket enables two-way communication between the client and the `ChatService` service. Each client makes an HTTP connection to the service and send out the message by the `send` method. +The application provides the interactive UI client for users to communicate with the LLM. Jakarta WebSocket enables two-way communication between the client and the `ChatService` service. Each client makes an HTTP connection to the service and send out the messages by the `send()` method. {example-location}/src/main/webapp/chatroom.js[`src/main/webapp/chatroom.js`] [source, java] @@ -215,7 +215,7 @@ The application provides the interactive UI client for users to communicate with } ---- -The service recieves the user messeages, forward them to the LLM, and then boardcast the LLM responsed answers back to the client. +The service recieves the user messeages through the WebSocket `onMessage()` method, forward them to the LLM by calling the `ChatAgent.chat()` method, and then boardcast the LLM responsed answers back to the client session through the `sendObect()` method. {example-location}/src/main/java/dev/langchain4j/example/chat/ChatService.java[`src/main/java/dev/langchain4j/example/chat/ChatService.java`] [source, java] From 8fc450829cf1a91976b34a833cd18c7ee873ffca Mon Sep 17 00:00:00 2001 From: Gilbert Kwan Date: Wed, 7 Feb 2024 15:03:54 -0500 Subject: [PATCH 17/67] drafted blog for langchain4j example --- ...open-liberty-with-langchain4j-example.adoc | 56 ++++++++++++++----- 1 file changed, 43 insertions(+), 13 deletions(-) diff --git a/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc b/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc index d4bed3e17..f17c36464 100644 --- a/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc @@ -1,17 +1,17 @@ --- layout: post -title: "Run LangChain4J in Jakarta EE and MicroProfile application on Open Liberty" +title: "Run LangChain4j in Jakarta EE and MicroProfile application on Open Liberty" # Do NOT change the categories section categories: blog author_picture: https://avatars3.githubusercontent.com/gkwan-ibm author_github: https://github.com/gkwan-ibm -seo-title: Run LangChain4J in Jakarta EE and MicroProfile application on Open Liberty -seo-description: Experience AI technology in an Jakarta EE and MicroProfile application running on Open Liberty by using LangChain4J APIs. -blog_description: "Experience AI technology in an Jakarta EE and MicroProfile application running on Open Liberty by using LangChain4J APIs." +seo-title: Run LangChain4j in Jakarta EE and MicroProfile application on Open Liberty +seo-description: Experience AI technology in an Jakarta EE and MicroProfile application running on Open Liberty by using LangChain4j APIs. +blog_description: "Experience AI technology in an Jakarta EE and MicroProfile application running on Open Liberty by using LangChain4j APIs." open-graph-image: https://openliberty.io/img/twitter_card.jpg open-graph-image-alt: Open Liberty Logo --- -= Run LangChain4J in Jakarta EE and MicroProfile application on Open Liberty += Run LangChain4j in Jakarta EE and MicroProfile application on Open Liberty Gilbert Kwan :imagesdir: / :url-prefix: @@ -22,7 +22,7 @@ Gilbert Kwan "Large language models (LLMs) are a category of foundation models trained on immense amounts of data making them capable of understanding and generating natural language and other types of content to perform a wide range of tasks." ... _from https://www.ibm.com/topics/large-language-models_ -https://github.com/langchain4j/langchain4j[LangChain4J APIs] provide the abilities to intergate LLMs into your Java application for different AI platforms, such as OpenAI and Hugging Face, etc. +https://github.com/langchain4j/langchain4j[LangChain4j APIs] provide the abilities to intergate LLMs into your Java application for different AI platforms, such as OpenAI and Hugging Face, etc. If you want to experience AI technologies, you can try out the `jakartaee-microprofile-example` project in the https://github.com/langchain4j/langchain4j-examples[langchain4j-examples] GitHub repository. It is an example that demostrates how to use LangChain4j APIs in Jakarta EE and MicroProfile application on Open Liberty. @@ -109,7 +109,7 @@ To ensure the application has started successfully, you can run the tests by pre Once the application is running, you can access it through a browser of your choice at http://localhost:9080/ and start experimenting with it. -image::/img/blog/langchain4j-example-chat-room.png[Chat Room of LangChain4J Jakarta EE and MicroProfile example,width=70%,align="center"] +image::/img/blog/langchain4j-example-chat-room.png[Chat Room of LangChain4j Jakarta EE and MicroProfile example,width=70%,align="center"] You can type in any text that you want to chat with the AI agent. Here are some suggested messages: @@ -121,11 +121,11 @@ You can type in any text that you want to chat with the AI agent. Here are some == How does the application work? -The application demostrates how to use the LangChain4J APIs, https://openliberty.io/docs/ref/feature/#cdi-4.0.html[Jakarta Contexts and Dependency Injection], https://openliberty.io/docs/latest/reference/feature/websocket-2.1.html[Jakarta WebSocket], https://openliberty.io/docs/ref/feature/#mpConfig-3.0.html[MicroProfile Config], and https://openliberty.io/docs/latest/reference/feature/mpMetrics-5.1.html[MicroProfile Metrics] features. +The application demostrates how to use the LangChain4j APIs, https://openliberty.io/docs/ref/feature/#cdi-4.0.html[Jakarta Contexts and Dependency Injection], https://openliberty.io/docs/latest/reference/feature/websocket-2.1.html[Jakarta WebSocket], https://openliberty.io/docs/ref/feature/#mpConfig-3.0.html[MicroProfile Config], and https://openliberty.io/docs/latest/reference/feature/mpMetrics-5.1.html[MicroProfile Metrics] features. -=== Creating the LangChain4J AI service +=== Creating the LangChain4j AI service -The application uses the `HuggingFaceChatModel` class to provide the model for building the AI service. Through the customized {example-location}/src/main/java/dev/langchain4j/example/chat/ChatAgent.java[`ChatAgent`] interface, the application can send messages to the LLM by the `chat()` method. +The application uses the `HuggingFaceChatModel` class to provide the model for building the AI service. Through the customized {example-location}/src/main/java/dev/langchain4j/example/chat/ChatAgent.java[`ChatAgent`] interface, the application can send messages to the LLM by its `chat()` method. {example-location}/src/main/java/dev/langchain4j/example/chat/AgentManager.java[`src/main/java/dev/langchain4j/example/chat/AgentManager.java`] [source, java] @@ -152,7 +152,7 @@ The application uses the `HuggingFaceChatModel` class to provide the model for b === Externalizing the configuration -As the above code, to access the model, an API key is required. For security practice, it is not hard-coded in the code. The application externalizes the API key and the langchain4j model properties with the MicroProfile Config feature that helps the application to run in different environments without code changes. You can learn more from the https://openliberty.io/docs/latest/external-configuration.html[External configuration of microservices] document. +As the above code, to access the model, an API key is required. For security practice, it is not hard-coded in the code. The application externalizes the API key and the LangChain4j model properties with the MicroProfile Config feature that helps the application to run in different environments without code changes. You can learn more from the https://openliberty.io/docs/latest/external-configuration.html[External configuration of microservices] document. {example-location}/src/main/java/dev/langchain4j/example/chat/AgentManager.java[`src/main/java/dev/langchain4j/example/chat/AgentManager.java`] [source, java] @@ -186,7 +186,7 @@ As the above code, to access the model, an API key is required. For security pra ... ---- -To fine tune the langchain4j model or even try out another LLM, you simply update the values in the {example-location}/src/main/resources/META-INF/microprofile-config.properties[`langchain4j-examples/jakartaee-microprofile-example/src/main/resources/META-INF/microprofile-config.properties`] file or provide them through the enviroment variables. +To fine tune the LangChain4j model or even try out another LLM, you simply update the values in the {example-location}/src/main/resources/META-INF/microprofile-config.properties[`langchain4j-examples/jakartaee-microprofile-example/src/main/resources/META-INF/microprofile-config.properties`] file or provide them through the enviroment variables. ---- hugging.face.api.key=set it by env variable @@ -244,13 +244,43 @@ The service recieves the user messeages through the WebSocket `onMessage()` meth ... ---- +=== Adding metrics +To determine the performance and health of the application, it uses the MicroProfile Metrics feature to collect how much processing time is needed for a chat by applying the `@Timed` annotation to the `onMessage()` method. -== Nice work! Where to next? +{example-location}/src/main/java/dev/langchain4j/example/chat/ChatService.java[`src/main/java/dev/langchain4j/example/chat/ChatService.java`] +[source, java] +---- + @OnMessage + @Timed(name = "chatProcessingTime", + absolute = true, + description = "Time needed chatting to the agent.") + public void onMessage(String message, Session session) { + ... +---- + +And, collect how many agents are created by applying the `@Counted` annotation to the `createAgent()` method of the `AgentManager` class. + +{example-location}/src/main/java/dev/langchain4j/example/chat/AgentManager.java[`src/main/java/dev/langchain4j/example/chat/AgentManager.java`] +[source, java] +---- + @Counted(name = "createChatAgentCount", + absolute = true, + description = "Number of ChatAgent are created.") + public ChatAgent createAgent(Session session) { + ... +---- + +If you interest on other simply ways to use LangChain4j APIs, you can study the REST APIs that are provided on the {example-location}/src/main/java/dev/langchain4j/example/rest/ModelResource.java[`src/main/java/dev/langchain4j/example/rest/ModelResource.java`]. + + +== Where to next? Check out the https://openliberty.io/guides/[Open Liberty guides] for more information and interactive tutorials that walk you through using more Jakarta EE and MicroProfile APIs with Open Liberty. == Helpful links +* link:https://github.com/langchain4j[LangChain4j] +* link:https://huggingface.co/models[Hugging Face LLMs] * link:https://openliberty.io/guides/jakarta-websocket.html[Bidirectional communication between services using Jakarta WebSocket] * link:https://openliberty.io/guides/microprofile-config.html[Configuring microservices] * link:https://openliberty.io/guides/microprofile-metrics.html[Providing metrics from a microservice] From d196f92e779ac8f1e0c289827e02fbebf5ec5917 Mon Sep 17 00:00:00 2001 From: Gilbert Kwan Date: Wed, 7 Feb 2024 15:13:33 -0500 Subject: [PATCH 18/67] drafted blog for langchain4j example --- .../2024-02-29-open-liberty-with-langchain4j-example.adoc | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc b/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc index f17c36464..68e5b5803 100644 --- a/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc @@ -259,7 +259,7 @@ To determine the performance and health of the application, it uses the MicroPro ... ---- -And, collect how many agents are created by applying the `@Counted` annotation to the `createAgent()` method of the `AgentManager` class. +And, collect how many agents are created by applying the `@Counted` annotation to the `AgentManager.createAgent()` method. {example-location}/src/main/java/dev/langchain4j/example/chat/AgentManager.java[`src/main/java/dev/langchain4j/example/chat/AgentManager.java`] [source, java] @@ -267,7 +267,7 @@ And, collect how many agents are created by applying the `@Counted` annotation t @Counted(name = "createChatAgentCount", absolute = true, description = "Number of ChatAgent are created.") - public ChatAgent createAgent(Session session) { + public ChatAgent createAgent(Session session) { ... ---- @@ -282,7 +282,6 @@ Check out the https://openliberty.io/guides/[Open Liberty guides] for more infor * link:https://github.com/langchain4j[LangChain4j] * link:https://huggingface.co/models[Hugging Face LLMs] * link:https://openliberty.io/guides/jakarta-websocket.html[Bidirectional communication between services using Jakarta WebSocket] +* link:https://openliberty.io/guides/cdi-intro.html[Injecting dependencies into microservices] * link:https://openliberty.io/guides/microprofile-config.html[Configuring microservices] * link:https://openliberty.io/guides/microprofile-metrics.html[Providing metrics from a microservice] - - From f7df2c69403d3f2371c29f38d99511e93cbc196e Mon Sep 17 00:00:00 2001 From: Gilbert Kwan Date: Wed, 7 Feb 2024 15:21:58 -0500 Subject: [PATCH 19/67] drafted blog for langchain4j example --- ...open-liberty-with-langchain4j-example.adoc | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc b/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc index 68e5b5803..b908c2dc4 100644 --- a/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc @@ -271,8 +271,30 @@ And, collect how many agents are created by applying the `@Counted` annotation t ... ---- +Visit the url http://localhost:9080/metrics?scope=application to check out the metrics. + +---- +# HELP createChatAgentCount_total Number of ChatAgent are created. +# TYPE createChatAgentCount_total counter +createChatAgentCount_total{mp_scope="application",} 5.0 +# HELP chatProcessingTime_seconds Time needed chatting to the agent. +# TYPE chatProcessingTime_seconds summary +chatProcessingTime_seconds{mp_scope="application",quantile="0.5",} 0.0 +chatProcessingTime_seconds{mp_scope="application",quantile="0.75",} 0.0 +chatProcessingTime_seconds{mp_scope="application",quantile="0.95",} 0.0 +chatProcessingTime_seconds{mp_scope="application",quantile="0.98",} 0.0 +chatProcessingTime_seconds{mp_scope="application",quantile="0.99",} 0.0 +chatProcessingTime_seconds{mp_scope="application",quantile="0.999",} 0.0 +chatProcessingTime_seconds_count{mp_scope="application",} 6.0 +chatProcessingTime_seconds_sum{mp_scope="application",} 31.674357666 +# HELP chatProcessingTime_seconds_max Time needed chatting to the agent. +# TYPE chatProcessingTime_seconds_max gauge +chatProcessingTime_seconds_max{mp_scope="application",} 13.191547042 + + If you interest on other simply ways to use LangChain4j APIs, you can study the REST APIs that are provided on the {example-location}/src/main/java/dev/langchain4j/example/rest/ModelResource.java[`src/main/java/dev/langchain4j/example/rest/ModelResource.java`]. +---- == Where to next? From 5db26efe79c62bad9354a90e79ef6d1d4a9948df Mon Sep 17 00:00:00 2001 From: Gilbert Kwan Date: Wed, 7 Feb 2024 15:35:59 -0500 Subject: [PATCH 20/67] drafted blog for langchain4j example --- posts/2024-02-29-open-liberty-with-langchain4j-example.adoc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc b/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc index b908c2dc4..02b15eb8e 100644 --- a/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc @@ -290,11 +290,10 @@ chatProcessingTime_seconds_sum{mp_scope="application",} 31.674357666 # HELP chatProcessingTime_seconds_max Time needed chatting to the agent. # TYPE chatProcessingTime_seconds_max gauge chatProcessingTime_seconds_max{mp_scope="application",} 13.191547042 - +---- If you interest on other simply ways to use LangChain4j APIs, you can study the REST APIs that are provided on the {example-location}/src/main/java/dev/langchain4j/example/rest/ModelResource.java[`src/main/java/dev/langchain4j/example/rest/ModelResource.java`]. ----- == Where to next? From 3f8e4c1db0fbe50b64a454f62474be873d6bc86f Mon Sep 17 00:00:00 2001 From: Gilbert Kwan Date: Wed, 7 Feb 2024 15:53:16 -0500 Subject: [PATCH 21/67] drafted blog for langchain4j example --- posts/2024-02-29-open-liberty-with-langchain4j-example.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc b/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc index 02b15eb8e..24d5ecce7 100644 --- a/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc @@ -244,7 +244,7 @@ The service recieves the user messeages through the WebSocket `onMessage()` meth ... ---- -=== Adding metrics +=== Enabling metrics To determine the performance and health of the application, it uses the MicroProfile Metrics feature to collect how much processing time is needed for a chat by applying the `@Timed` annotation to the `onMessage()` method. From d36bcb611c0ab9210d62d0634444539d9c5e2ee9 Mon Sep 17 00:00:00 2001 From: Gilbert Kwan Date: Wed, 7 Feb 2024 16:06:07 -0500 Subject: [PATCH 22/67] drafted blog for langchain4j example --- ...-29-open-liberty-with-langchain4j-example.adoc | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc b/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc index 24d5ecce7..6ce20640a 100644 --- a/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc @@ -127,7 +127,7 @@ The application demostrates how to use the LangChain4j APIs, https://openliberty The application uses the `HuggingFaceChatModel` class to provide the model for building the AI service. Through the customized {example-location}/src/main/java/dev/langchain4j/example/chat/ChatAgent.java[`ChatAgent`] interface, the application can send messages to the LLM by its `chat()` method. -{example-location}/src/main/java/dev/langchain4j/example/chat/AgentManager.java[`src/main/java/dev/langchain4j/example/chat/AgentManager.java`] +See the {example-location}/src/main/java/dev/langchain4j/example/chat/AgentManager.java[`src/main/java/dev/langchain4j/example/chat/AgentManager.java`] file. [source, java] ---- ... @@ -154,7 +154,7 @@ The application uses the `HuggingFaceChatModel` class to provide the model for b As the above code, to access the model, an API key is required. For security practice, it is not hard-coded in the code. The application externalizes the API key and the LangChain4j model properties with the MicroProfile Config feature that helps the application to run in different environments without code changes. You can learn more from the https://openliberty.io/docs/latest/external-configuration.html[External configuration of microservices] document. -{example-location}/src/main/java/dev/langchain4j/example/chat/AgentManager.java[`src/main/java/dev/langchain4j/example/chat/AgentManager.java`] +See the {example-location}/src/main/java/dev/langchain4j/example/chat/AgentManager.java[`src/main/java/dev/langchain4j/example/chat/AgentManager.java`] file. [source, java] ---- ... @@ -201,7 +201,7 @@ chat.memory.max.messages=20 The application provides the interactive UI client for users to communicate with the LLM. Jakarta WebSocket enables two-way communication between the client and the `ChatService` service. Each client makes an HTTP connection to the service and send out the messages by the `send()` method. -{example-location}/src/main/webapp/chatroom.js[`src/main/webapp/chatroom.js`] +See the {example-location}/src/main/webapp/chatroom.js[`src/main/webapp/chatroom.js`] file. [source, java] ---- const webSocket = new WebSocket('ws://localhost:9080/chat'); @@ -217,7 +217,7 @@ The application provides the interactive UI client for users to communicate with The service recieves the user messeages through the WebSocket `onMessage()` method, forward them to the LLM by calling the `ChatAgent.chat()` method, and then boardcast the LLM responsed answers back to the client session through the `sendObect()` method. -{example-location}/src/main/java/dev/langchain4j/example/chat/ChatService.java[`src/main/java/dev/langchain4j/example/chat/ChatService.java`] +See the {example-location}/src/main/java/dev/langchain4j/example/chat/ChatService.java[`src/main/java/dev/langchain4j/example/chat/ChatService.java`] file. [source, java] ---- ... @@ -248,7 +248,7 @@ The service recieves the user messeages through the WebSocket `onMessage()` meth To determine the performance and health of the application, it uses the MicroProfile Metrics feature to collect how much processing time is needed for a chat by applying the `@Timed` annotation to the `onMessage()` method. -{example-location}/src/main/java/dev/langchain4j/example/chat/ChatService.java[`src/main/java/dev/langchain4j/example/chat/ChatService.java`] +See the {example-location}/src/main/java/dev/langchain4j/example/chat/ChatService.java[`src/main/java/dev/langchain4j/example/chat/ChatService.java`] file. [source, java] ---- @OnMessage @@ -261,7 +261,7 @@ To determine the performance and health of the application, it uses the MicroPro And, collect how many agents are created by applying the `@Counted` annotation to the `AgentManager.createAgent()` method. -{example-location}/src/main/java/dev/langchain4j/example/chat/AgentManager.java[`src/main/java/dev/langchain4j/example/chat/AgentManager.java`] +See the {example-location}/src/main/java/dev/langchain4j/example/chat/AgentManager.java[`src/main/java/dev/langchain4j/example/chat/AgentManager.java`] file. [source, java] ---- @Counted(name = "createChatAgentCount", @@ -272,7 +272,6 @@ And, collect how many agents are created by applying the `@Counted` annotation t ---- Visit the url http://localhost:9080/metrics?scope=application to check out the metrics. - ---- # HELP createChatAgentCount_total Number of ChatAgent are created. # TYPE createChatAgentCount_total counter @@ -292,7 +291,7 @@ chatProcessingTime_seconds_sum{mp_scope="application",} 31.674357666 chatProcessingTime_seconds_max{mp_scope="application",} 13.191547042 ---- -If you interest on other simply ways to use LangChain4j APIs, you can study the REST APIs that are provided on the {example-location}/src/main/java/dev/langchain4j/example/rest/ModelResource.java[`src/main/java/dev/langchain4j/example/rest/ModelResource.java`]. +If you interest on other simply ways to use LangChain4j APIs, you can study the REST APIs that are provided by the {example-location}/src/main/java/dev/langchain4j/example/rest/ModelResource.java[`src/main/java/dev/langchain4j/example/rest/ModelResource.java`] file. == Where to next? From 56a6b5e5ac3059d82b5d27cc8429d40d03d415e0 Mon Sep 17 00:00:00 2001 From: Gilbert Kwan Date: Fri, 9 Feb 2024 12:32:58 -0500 Subject: [PATCH 23/67] add toc --- ...open-liberty-with-langchain4j-example.adoc | 25 +++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc b/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc index 6ce20640a..5cce5efde 100644 --- a/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc @@ -26,7 +26,19 @@ https://github.com/langchain4j/langchain4j[LangChain4j APIs] provide the abiliti If you want to experience AI technologies, you can try out the `jakartaee-microprofile-example` project in the https://github.com/langchain4j/langchain4j-examples[langchain4j-examples] GitHub repository. It is an example that demostrates how to use LangChain4j APIs in Jakarta EE and MicroProfile application on Open Liberty. - +* <> + - <> + - <> + - <> +* <> + - <> + - <> + - <> + - <> +* <> +* <> + +[#tryout] == Try out the jakartaee-microprofile-example application Before you clone the application to your machine, install JDK 17 and ensure that your `JAVA_HOME` environment variable is set. You can make use of the https://developer.ibm.com/languages/java/semeru-runtimes/downloads[IBM Semeru Runtime] as your chosen Java runtime. This runtime offers performance benefits from deep technology investment in projects such as Eclipse OpenJ9 and is available across a wide variety of hardware and software platforms. To find out more about IBM Semeru Runtime, see https://openliberty.io/blog/2022/08/19/open-liberty-semeru-performance.html[Open Liberty and Semeru Runtimes, cloud-native performance that matters]. @@ -44,6 +56,7 @@ To access the repository remotely you'll need to install https://git-scm.com/boo git clone https://github.com/langchain4j/langchain4j-examples.git ---- +[#env_setup] === Environment Set Up To run the application, navigate to the `jakartaee-microprofile-example` directory: @@ -61,6 +74,7 @@ export JAVA_HOME= export HUGGING_FACE_API_KEY= ---- +[#start_app] === Start the application To start the application, use the provided Maven wrapper to run the https://openliberty.io/docs/latest/development-mode.html[Liberty dev mode]: @@ -105,6 +119,7 @@ To ensure the application has started successfully, you can run the tests by pre [INFO] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0 ---- +[#access_app] === Access the application Once the application is running, you can access it through a browser of your choice at http://localhost:9080/ and start experimenting with it. @@ -119,10 +134,12 @@ You can type in any text that you want to chat with the AI agent. Here are some * `any documentation?` +[#how_app_work] == How does the application work? The application demostrates how to use the LangChain4j APIs, https://openliberty.io/docs/ref/feature/#cdi-4.0.html[Jakarta Contexts and Dependency Injection], https://openliberty.io/docs/latest/reference/feature/websocket-2.1.html[Jakarta WebSocket], https://openliberty.io/docs/ref/feature/#mpConfig-3.0.html[MicroProfile Config], and https://openliberty.io/docs/latest/reference/feature/mpMetrics-5.1.html[MicroProfile Metrics] features. +[#create_service] === Creating the LangChain4j AI service The application uses the `HuggingFaceChatModel` class to provide the model for building the AI service. Through the customized {example-location}/src/main/java/dev/langchain4j/example/chat/ChatAgent.java[`ChatAgent`] interface, the application can send messages to the LLM by its `chat()` method. @@ -149,7 +166,7 @@ See the {example-location}/src/main/java/dev/langchain4j/example/chat/AgentManag ... ---- - +[#external_config] === Externalizing the configuration As the above code, to access the model, an API key is required. For security practice, it is not hard-coded in the code. The application externalizes the API key and the LangChain4j model properties with the MicroProfile Config feature that helps the application to run in different environments without code changes. You can learn more from the https://openliberty.io/docs/latest/external-configuration.html[External configuration of microservices] document. @@ -197,6 +214,7 @@ chat.model.temperature=1.0 chat.memory.max.messages=20 ---- +[#communicate] === Communicating between the client and LLM The application provides the interactive UI client for users to communicate with the LLM. Jakarta WebSocket enables two-way communication between the client and the `ChatService` service. Each client makes an HTTP connection to the service and send out the messages by the `send()` method. @@ -244,6 +262,7 @@ See the {example-location}/src/main/java/dev/langchain4j/example/chat/ChatServic ... ---- +[#enable_metrics] === Enabling metrics To determine the performance and health of the application, it uses the MicroProfile Metrics feature to collect how much processing time is needed for a chat by applying the `@Timed` annotation to the `onMessage()` method. @@ -294,10 +313,12 @@ chatProcessingTime_seconds_max{mp_scope="application",} 13.191547042 If you interest on other simply ways to use LangChain4j APIs, you can study the REST APIs that are provided by the {example-location}/src/main/java/dev/langchain4j/example/rest/ModelResource.java[`src/main/java/dev/langchain4j/example/rest/ModelResource.java`] file. +[#where_to_next] == Where to next? Check out the https://openliberty.io/guides/[Open Liberty guides] for more information and interactive tutorials that walk you through using more Jakarta EE and MicroProfile APIs with Open Liberty. +[#help_links] == Helpful links * link:https://github.com/langchain4j[LangChain4j] * link:https://huggingface.co/models[Hugging Face LLMs] From 1bed626217fb9f111f69c2cb99d29b43a46b7442 Mon Sep 17 00:00:00 2001 From: Gilbert Kwan Date: Fri, 9 Feb 2024 13:28:30 -0500 Subject: [PATCH 24/67] add toc --- ...-02-29-open-liberty-with-langchain4j-example.adoc | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc b/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc index 5cce5efde..4912a6b04 100644 --- a/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc @@ -145,7 +145,7 @@ The application demostrates how to use the LangChain4j APIs, https://openliberty The application uses the `HuggingFaceChatModel` class to provide the model for building the AI service. Through the customized {example-location}/src/main/java/dev/langchain4j/example/chat/ChatAgent.java[`ChatAgent`] interface, the application can send messages to the LLM by its `chat()` method. See the {example-location}/src/main/java/dev/langchain4j/example/chat/AgentManager.java[`src/main/java/dev/langchain4j/example/chat/AgentManager.java`] file. -[source, java] +[source, java, role="no_copy"] ---- ... private ChatAgent createAgent() { @@ -172,7 +172,7 @@ See the {example-location}/src/main/java/dev/langchain4j/example/chat/AgentManag As the above code, to access the model, an API key is required. For security practice, it is not hard-coded in the code. The application externalizes the API key and the LangChain4j model properties with the MicroProfile Config feature that helps the application to run in different environments without code changes. You can learn more from the https://openliberty.io/docs/latest/external-configuration.html[External configuration of microservices] document. See the {example-location}/src/main/java/dev/langchain4j/example/chat/AgentManager.java[`src/main/java/dev/langchain4j/example/chat/AgentManager.java`] file. -[source, java] +[source, java, role="no_copy"] ---- ... @@ -220,7 +220,7 @@ chat.memory.max.messages=20 The application provides the interactive UI client for users to communicate with the LLM. Jakarta WebSocket enables two-way communication between the client and the `ChatService` service. Each client makes an HTTP connection to the service and send out the messages by the `send()` method. See the {example-location}/src/main/webapp/chatroom.js[`src/main/webapp/chatroom.js`] file. -[source, java] +[source, java, role="no_copy"] ---- const webSocket = new WebSocket('ws://localhost:9080/chat'); ... @@ -236,7 +236,7 @@ See the {example-location}/src/main/webapp/chatroom.js[`src/main/webapp/chatroom The service recieves the user messeages through the WebSocket `onMessage()` method, forward them to the LLM by calling the `ChatAgent.chat()` method, and then boardcast the LLM responsed answers back to the client session through the `sendObect()` method. See the {example-location}/src/main/java/dev/langchain4j/example/chat/ChatService.java[`src/main/java/dev/langchain4j/example/chat/ChatService.java`] file. -[source, java] +[source, java, role="no_copy"] ---- ... @OnMessage @@ -268,7 +268,7 @@ See the {example-location}/src/main/java/dev/langchain4j/example/chat/ChatServic To determine the performance and health of the application, it uses the MicroProfile Metrics feature to collect how much processing time is needed for a chat by applying the `@Timed` annotation to the `onMessage()` method. See the {example-location}/src/main/java/dev/langchain4j/example/chat/ChatService.java[`src/main/java/dev/langchain4j/example/chat/ChatService.java`] file. -[source, java] +[source, java, role="no_copy"] ---- @OnMessage @Timed(name = "chatProcessingTime", @@ -281,7 +281,7 @@ See the {example-location}/src/main/java/dev/langchain4j/example/chat/ChatServic And, collect how many agents are created by applying the `@Counted` annotation to the `AgentManager.createAgent()` method. See the {example-location}/src/main/java/dev/langchain4j/example/chat/AgentManager.java[`src/main/java/dev/langchain4j/example/chat/AgentManager.java`] file. -[source, java] +[source, java, role="no_copy"] ---- @Counted(name = "createChatAgentCount", absolute = true, From a980e04f3fc247e76ea5eea555ec3a7b8aae4880 Mon Sep 17 00:00:00 2001 From: Gilbert Kwan Date: Fri, 9 Feb 2024 13:32:21 -0500 Subject: [PATCH 25/67] update code blocks --- ...-02-29-open-liberty-with-langchain4j-example.adoc | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc b/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc index 4912a6b04..db9a7ca6b 100644 --- a/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc @@ -147,7 +147,6 @@ The application uses the `HuggingFaceChatModel` class to provide the model for b See the {example-location}/src/main/java/dev/langchain4j/example/chat/AgentManager.java[`src/main/java/dev/langchain4j/example/chat/AgentManager.java`] file. [source, java, role="no_copy"] ---- - ... private ChatAgent createAgent() { HuggingFaceChatModel model = HuggingFaceChatModel.builder() .accessToken(HUGGING_FACE_API_KEY) @@ -163,7 +162,6 @@ See the {example-location}/src/main/java/dev/langchain4j/example/chat/AgentManag .build(); ... } - ... ---- [#external_config] @@ -174,8 +172,6 @@ As the above code, to access the model, an API key is required. For security pra See the {example-location}/src/main/java/dev/langchain4j/example/chat/AgentManager.java[`src/main/java/dev/langchain4j/example/chat/AgentManager.java`] file. [source, java, role="no_copy"] ---- - ... - @Inject @ConfigProperty(name = "hugging.face.api.key") private String HUGGING_FACE_API_KEY; @@ -199,8 +195,6 @@ See the {example-location}/src/main/java/dev/langchain4j/example/chat/AgentManag @Inject @ConfigProperty(name = "chat.memory.max.messages") private Integer MAX_MESSAGES; - - ... ---- To fine tune the LangChain4j model or even try out another LLM, you simply update the values in the {example-location}/src/main/resources/META-INF/microprofile-config.properties[`langchain4j-examples/jakartaee-microprofile-example/src/main/resources/META-INF/microprofile-config.properties`] file or provide them through the enviroment variables. @@ -238,20 +232,19 @@ The service recieves the user messeages through the WebSocket `onMessage()` meth See the {example-location}/src/main/java/dev/langchain4j/example/chat/ChatService.java[`src/main/java/dev/langchain4j/example/chat/ChatService.java`] file. [source, java, role="no_copy"] ---- - ... @OnMessage public void onMessage(String message, Session session) { ... String answer = askAgent(session, message); ... } - ... + private String askAgent(Session session, String userMessage) { ... answer = agent.chat(userMessage).trim(); ... } - ... + private void sendMessageToSession(Session session, String message) { ... manager.getSession(session.getId()) @@ -259,7 +252,6 @@ See the {example-location}/src/main/java/dev/langchain4j/example/chat/ChatServic .sendObject(message); ... } - ... ---- [#enable_metrics] From 63d7dfc0e64ecc30f8067eacb8232a7b3bed5f31 Mon Sep 17 00:00:00 2001 From: Gilbert Kwan Date: Fri, 23 Feb 2024 09:09:40 -0500 Subject: [PATCH 26/67] fix review comments --- posts/2024-02-29-open-liberty-with-langchain4j-example.adoc | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc b/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc index db9a7ca6b..53516c295 100644 --- a/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc @@ -47,7 +47,7 @@ The application uses Hugging Face. You need to get a Hugging Face API Key: * Sign up and login to https://huggingface.co * Go to Access Tokens by https://huggingface.co/settings/tokens -* New a read token +* Create a new access token with "read" role To access the repository remotely you'll need to install https://git-scm.com/book/en/v2/Getting-Started-Installing-Git[Git] if you haven't already. You can clone the `langchain4j-examples` GitHub repository to your local machine by running: @@ -128,8 +128,7 @@ image::/img/blog/langchain4j-example-chat-room.png[Chat Room of LangChain4j Jaka You can type in any text that you want to chat with the AI agent. Here are some suggested messages: -* `What is large language models?` -* `tell me more` +* `What are large language models?` * `which are the top used models?` * `any documentation?` From 2274fff9da7c8b1063c4da42e2ba27e2ff133eeb Mon Sep 17 00:00:00 2001 From: Gilbert Kwan Date: Fri, 23 Feb 2024 15:30:57 -0500 Subject: [PATCH 27/67] update a question --- posts/2024-02-29-open-liberty-with-langchain4j-example.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc b/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc index 53516c295..23f3a69ef 100644 --- a/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-02-29-open-liberty-with-langchain4j-example.adoc @@ -129,7 +129,7 @@ image::/img/blog/langchain4j-example-chat-room.png[Chat Room of LangChain4j Jaka You can type in any text that you want to chat with the AI agent. Here are some suggested messages: * `What are large language models?` -* `which are the top used models?` +* `Which are the most used models?` * `any documentation?` From 7de387834b3d22b3f4ace198cc6e652d67160f1f Mon Sep 17 00:00:00 2001 From: Gilbert Kwan Date: Thu, 29 Feb 2024 15:26:12 -0500 Subject: [PATCH 28/67] improve the suggested messages --- img/blog/langchain4j-example-chat-room.png | Bin 229501 -> 219183 bytes ...pen-liberty-with-langchain4j-example.adoc} | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) rename posts/{2024-02-29-open-liberty-with-langchain4j-example.adoc => 2024-03-15-open-liberty-with-langchain4j-example.adoc} (99%) diff --git a/img/blog/langchain4j-example-chat-room.png b/img/blog/langchain4j-example-chat-room.png index ccba2133d35371a7b51fbda56251ee1459bcaafa..e5647d1f03d102fc8fd064a41576cbcaaec19148 100644 GIT binary patch literal 219183 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¬NrnWOT>W_4mp=u@zjO`8v5@!#trd$ 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

Cgo7E%05raZb|aGO43`8Ex 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 literal 229501 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�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⁣H>riJw(73GN%zE0_Z|{nkLv;R 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 Date: Thu, 14 Mar 2024 12:24:14 -0400 Subject: [PATCH 29/67] update for code change --- ...open-liberty-with-langchain4j-example.adoc | 86 +++++++++---------- 1 file changed, 40 insertions(+), 46 deletions(-) diff --git a/posts/2024-03-15-open-liberty-with-langchain4j-example.adoc b/posts/2024-03-15-open-liberty-with-langchain4j-example.adoc index 2c5eeb2de..9b4f55386 100644 --- a/posts/2024-03-15-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-03-15-open-liberty-with-langchain4j-example.adoc @@ -129,7 +129,7 @@ image::/img/blog/langchain4j-example-chat-room.png[Chat Room of LangChain4j Jaka You can type in any text that you want to chat with the AI agent. Here are some suggested messages: * `What is MicroProfile?` -* `Which companies contribute MicroProfile?` +* `Which top 10 companies contribute MicroProfile?` * `any documentation?` @@ -141,34 +141,44 @@ The application demostrates how to use the LangChain4j APIs, https://openliberty [#create_service] === Creating the LangChain4j AI service -The application uses the `HuggingFaceChatModel` class to provide the model for building the AI service. Through the customized {example-location}/src/main/java/dev/langchain4j/example/chat/ChatAgent.java[`ChatAgent`] interface, the application can send messages to the LLM by its `chat()` method. +The application uses the `HuggingFaceChatModel` class to provide the model for building the AI service. -See the {example-location}/src/main/java/dev/langchain4j/example/chat/AgentManager.java[`src/main/java/dev/langchain4j/example/chat/AgentManager.java`] file. +See the {example-location}/src/main/java/dev/langchain4j/example/chat/ChatAgent.java[`src/main/java/dev/langchain4j/example/chat/ChatAgent.java`] file. [source, java, role="no_copy"] ---- - private ChatAgent createAgent() { - HuggingFaceChatModel model = HuggingFaceChatModel.builder() - .accessToken(HUGGING_FACE_API_KEY) - .modelId(CHAT_MODEL_ID) - .timeout(ofSeconds(TIMEOUT)) - .temperature(TEMPERATURE) - .maxNewTokens(MAX_NEW_TOKEN) - .waitForModel(true) - .build(); - ChatAgent agent = AiServices.builder(ChatAgent.class) - .chatLanguageModel(model) - .chatMemory(MessageWindowChatMemory.withMaxMessages(MAX_MESSAGES)) - .build(); + public Assistant getAssistant() { + ... + HuggingFaceChatModel model = HuggingFaceChatModel.builder() + .accessToken(HUGGING_FACE_API_KEY) + .modelId(CHAT_MODEL_ID) + .timeout(ofSeconds(TIMEOUT)) + .temperature(TEMPERATURE) + .maxNewTokens(MAX_NEW_TOKEN) + .waitForModel(true) + .build(); + assistant = AiServices.builder(Assistant.class) + .chatLanguageModel(model) + .chatMemoryProvider( + sessionId -> MessageWindowChatMemory.withMaxMessages(MAX_MESSAGES)) + .build(); ... } ---- +Through the customized {example-location}/src/main/java/dev/langchain4j/example/chat/ChatAgent.java[`Assistant`] interface, the application can send messages to the LLM by its `chat()` method. + +---- + interface Assistant { + String chat(@MemoryId String sessionId, @UserMessage String userMessage); + } +---- + [#external_config] === Externalizing the configuration As the above code, to access the model, an API key is required. For security practice, it is not hard-coded in the code. The application externalizes the API key and the LangChain4j model properties with the MicroProfile Config feature that helps the application to run in different environments without code changes. You can learn more from the https://openliberty.io/docs/latest/external-configuration.html[External configuration of microservices] document. -See the {example-location}/src/main/java/dev/langchain4j/example/chat/AgentManager.java[`src/main/java/dev/langchain4j/example/chat/AgentManager.java`] file. +See the {example-location}/src/main/java/dev/langchain4j/example/chat/ChatAgent.java[`src/main/java/dev/langchain4j/example/chat/ChatAgent.java`] file. [source, java, role="no_copy"] ---- @Inject @@ -234,22 +244,19 @@ See the {example-location}/src/main/java/dev/langchain4j/example/chat/ChatServic @OnMessage public void onMessage(String message, Session session) { ... - String answer = askAgent(session, message); - ... - } - - private String askAgent(Session session, String userMessage) { - ... - answer = agent.chat(userMessage).trim(); - ... - } - - private void sendMessageToSession(Session session, String message) { - ... - manager.getSession(session.getId()) - .getBasicRemote() - .sendObject(message); - ... + try { + ... + answer = agent.chat(sessionId, message); + } catch (Exception e) { + ... + } + + try { + session.getBasicRemote().sendObject(answer); + } catch (Exception e) { + e.printStackTrace(); + } + } ---- @@ -271,21 +278,8 @@ See the {example-location}/src/main/java/dev/langchain4j/example/chat/ChatServic And, collect how many agents are created by applying the `@Counted` annotation to the `AgentManager.createAgent()` method. -See the {example-location}/src/main/java/dev/langchain4j/example/chat/AgentManager.java[`src/main/java/dev/langchain4j/example/chat/AgentManager.java`] file. -[source, java, role="no_copy"] ----- - @Counted(name = "createChatAgentCount", - absolute = true, - description = "Number of ChatAgent are created.") - public ChatAgent createAgent(Session session) { - ... ----- - Visit the url http://localhost:9080/metrics?scope=application to check out the metrics. ---- -# HELP createChatAgentCount_total Number of ChatAgent are created. -# TYPE createChatAgentCount_total counter -createChatAgentCount_total{mp_scope="application",} 5.0 # HELP chatProcessingTime_seconds Time needed chatting to the agent. # TYPE chatProcessingTime_seconds summary chatProcessingTime_seconds{mp_scope="application",quantile="0.5",} 0.0 From 8288e8c3bb8e30d24b386d42152f66e50b917bf4 Mon Sep 17 00:00:00 2001 From: Gilbert Kwan Date: Tue, 26 Mar 2024 11:12:59 -0400 Subject: [PATCH 30/67] update the url to official GH repo --- ...oc => 2024-03-28-open-liberty-with-langchain4j-example.adoc} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename posts/{2024-03-15-open-liberty-with-langchain4j-example.adoc => 2024-03-28-open-liberty-with-langchain4j-example.adoc} (99%) diff --git a/posts/2024-03-15-open-liberty-with-langchain4j-example.adoc b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc similarity index 99% rename from posts/2024-03-15-open-liberty-with-langchain4j-example.adoc rename to posts/2024-03-28-open-liberty-with-langchain4j-example.adoc index 9b4f55386..3ea33f852 100644 --- a/posts/2024-03-15-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc @@ -17,7 +17,7 @@ Gilbert Kwan :url-prefix: :url-about: / -:example-location: https://github.com/gkwan-ibm/langchain4j-examples/blob/jee-mp-example/jakartaee-microprofile-example +:example-location: https://github.com/langchain4j/langchain4j-examples/tree/main/jakartaee-microprofile-example "Large language models (LLMs) are a category of foundation models trained on immense amounts of data making them capable of understanding and generating natural language and other types of content to perform a wide range of tasks." ... _from https://www.ibm.com/topics/large-language-models_ From f3fda0eb1030d90524ba02bc0ca3d0b12103bb9b Mon Sep 17 00:00:00 2001 From: Grace Jansen Date: Wed, 27 Mar 2024 11:28:52 +0000 Subject: [PATCH 31/67] edits to langchain4j blog draft and addition of image to this post --- img/blog/langchain4j.png | Bin 0 -> 92127 bytes ...open-liberty-with-langchain4j-example.adoc | 56 ++++++++++++++++-- 2 files changed, 50 insertions(+), 6 deletions(-) create mode 100644 img/blog/langchain4j.png diff --git a/img/blog/langchain4j.png b/img/blog/langchain4j.png new file mode 100644 index 0000000000000000000000000000000000000000..4891938a9464e5096c36e7d907083e389cfc49cd GIT binary patch literal 92127 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 literal 0 HcmV?d00001 diff --git a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc index 3ea33f852..439a4eeaa 100644 --- a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc @@ -20,12 +20,11 @@ Gilbert Kwan :example-location: https://github.com/langchain4j/langchain4j-examples/tree/main/jakartaee-microprofile-example -"Large language models (LLMs) are a category of foundation models trained on immense amounts of data making them capable of understanding and generating natural language and other types of content to perform a wide range of tasks." ... _from https://www.ibm.com/topics/large-language-models_ - -https://github.com/langchain4j/langchain4j[LangChain4j APIs] provide the abilities to intergate LLMs into your Java application for different AI platforms, such as OpenAI and Hugging Face, etc. - -If you want to experience AI technologies, you can try out the `jakartaee-microprofile-example` project in the https://github.com/langchain4j/langchain4j-examples[langchain4j-examples] GitHub repository. It is an example that demostrates how to use LangChain4j APIs in Jakarta EE and MicroProfile application on Open Liberty. +Artificial Intelligence (AI) is an exciting and disruptive field that is already transforming businesses, and even entire industries, by enabling automation, improving decision-making and unlocking new insights from data. With the rise in large language models, or LLMs, such as ChatGPT, over the last few years there has been a significant shift in the performance of AI and its potential to drive enterprise value. So, how will this impact on software development and the creation of cloud-native Java applications for enterprises? +* <> +* <> +* <> * <> - <> - <> @@ -38,9 +37,54 @@ If you want to experience AI technologies, you can try out the `jakartaee-microp * <> * <> +[#what_Are_LLMs] +== What are LLMs? + +A language model is a model of natural language based on probabilities. They are able to generate probabilities of a series of words together. https://www.ibm.com/topics/large-language-models[Large language models (LLMs)] are simply langauge models that are categorized by their large size.They are trained on immense amounts of data, possibly billions of paramters, using self-supervised and semi-supervised learning techniques. This makes them capable of understanding and generating natural language and other types of content to perform a wide range of tasks, including: + +* *Text generation*: language generation abilities, such as writing emails, blog posts or other mid-to-long form content in response to prompts that can be refined and polished. An excellent example is retrieval-augmented generation (RAG). + +* *Content summarization*: summarize long articles, news stories, research reports, corporate documentation and even customer history into thorough texts tailored in length to the output format. + +* *AI assistants*: chatbots that answer customer queries, perform backend tasks and provide detailed information in natural language as a part of an integrated, self-serve customer care solution. + +* *Code generation*: assists developers in building applications, finding errors in code and uncovering security issues in multiple programming languages, even “translating” between them. + +* *Sentiment analysis*: analyze text to determine the customer’s tone in order understand customer feedback at scale and aid in brand reputation management. + +* *Language translation*: provides wider coverage to organizations across languages and geographies with fluent translations and multilingual capabilities. + + +See the introductory video below for more information on LLMs, including what they are, how they work and business applications. + + + +LLMs can be found in the service offerings of almost all of the major cloud service providers, e.g. IBM offers models through it's https://www.ibm.com/watsonx[watsonx] services, https://azure.microsoft.com/en-us/solutions/ai[Microsoft Azure] offers LLMs like Llama 2 and OpenAI GPT-4, and https://aws.amazon.com/bedrock/[Amazon Bedrock] offers models from a range of AI companies. + +[#Java_LLMs] +== How can we take advantage of LLMs in Java applications? + +Developing applications powered by large language models isn't always an easy task. Integrating AI/LLM capabilities into an application can be challenging. To make this easier, LangChain, an open source framework was developed in 2022 to help streamline the process of creating generative AI apps. + +LangChain provides tools and abstractions to improve the customization, accuracy, and relevancy of the information the models generate. For example, developers can use LangChain components to build new prompt chains or customize existing templates. LangChain also includes components that allow LLMs to access new data sets without retraining and organizes the large quantities of data these models require so that they can be accessed with ease. + +Although LangChain is primarily available in Python and JavaScript/TypeScript versions, there are options available to use LangChain in Java applications through community projects like https://github.com/langchain4j/langchain4j[LangChain4j]. LangChain4j APIs provide the ability to intergate LLMs into your Java application for different AI platforms, such as OpenAI and Hugging Face, etc. + +image::/img/blog/langchain4j.png[langchain4j GitHub README image,width=50%,align="center"] + +[#using_Langchain4j] +== How to use LangChain4j in a Jakarta EE and MicroProfile application + +Langchain4j has a very useful open source https://github.com/langchain4j/langchain4j-examples[langchain4j-examples] GitHub repositry where it stores example applications. However, although this repo provided useful examples of using LangChain4j in general Java apps, we could not find any examples showcasing how you could experience these AI technologies in a Jakarta EE/MicroProfile based application. So, we decided to build one ourselves called `jakartaee-microprofile-example` which can now be found in this https://github.com/langchain4j/langchain4j-examples[langchain4j-examples] GitHub repository. This demo application highlights how to use LangChain4j APIs in an application using Jakarta EE and MicroProfile on Open Liberty. + + [#tryout] == Try out the jakartaee-microprofile-example application +To see how you could apply LangChain4j to your own Jakarta EE and/or MicroProfile application, check out this example project for yourself. + +[#pre-reqs] +=== Pre-requisites Before you clone the application to your machine, install JDK 17 and ensure that your `JAVA_HOME` environment variable is set. You can make use of the https://developer.ibm.com/languages/java/semeru-runtimes/downloads[IBM Semeru Runtime] as your chosen Java runtime. This runtime offers performance benefits from deep technology investment in projects such as Eclipse OpenJ9 and is available across a wide variety of hardware and software platforms. To find out more about IBM Semeru Runtime, see https://openliberty.io/blog/2022/08/19/open-liberty-semeru-performance.html[Open Liberty and Semeru Runtimes, cloud-native performance that matters]. The application uses Hugging Face. You need to get a Hugging Face API Key: @@ -295,7 +339,7 @@ chatProcessingTime_seconds_sum{mp_scope="application",} 31.674357666 chatProcessingTime_seconds_max{mp_scope="application",} 13.191547042 ---- -If you interest on other simply ways to use LangChain4j APIs, you can study the REST APIs that are provided by the {example-location}/src/main/java/dev/langchain4j/example/rest/ModelResource.java[`src/main/java/dev/langchain4j/example/rest/ModelResource.java`] file. +If you are interested in other ways to use the LangChain4j APIs, you can study the REST APIs that are provided by the {example-location}/src/main/java/dev/langchain4j/example/rest/ModelResource.java[`src/main/java/dev/langchain4j/example/rest/ModelResource.java`] file. [#where_to_next] From 88f86aae55d3781a01ac19bfc5a738fb2cfb1bea Mon Sep 17 00:00:00 2001 From: Grace Jansen Date: Wed, 27 Mar 2024 13:28:49 +0000 Subject: [PATCH 32/67] edits to langchain4j blog --- ...open-liberty-with-langchain4j-example.adoc | 32 ++++--------------- 1 file changed, 7 insertions(+), 25 deletions(-) diff --git a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc index 439a4eeaa..9d60f3b06 100644 --- a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc @@ -10,6 +10,10 @@ seo-description: Experience AI technology in an Jakarta EE and MicroProfile appl blog_description: "Experience AI technology in an Jakarta EE and MicroProfile application running on Open Liberty by using LangChain4j APIs." open-graph-image: https://openliberty.io/img/twitter_card.jpg open-graph-image-alt: Open Liberty Logo +additional_authors: +- name: Grace Jansen + github: https://github.com/GraceJansen + image: https://avatars0.githubusercontent.com/GraceJansen --- = Run LangChain4j in Jakarta EE and MicroProfile application on Open Liberty Gilbert Kwan @@ -26,38 +30,16 @@ Artificial Intelligence (AI) is an exciting and disruptive field that is already * <> * <> * <> - - <> - - <> - - <> * <> - - <> - - <> - - <> - - <> -* <> -* <> [#what_Are_LLMs] == What are LLMs? -A language model is a model of natural language based on probabilities. They are able to generate probabilities of a series of words together. https://www.ibm.com/topics/large-language-models[Large language models (LLMs)] are simply langauge models that are categorized by their large size.They are trained on immense amounts of data, possibly billions of paramters, using self-supervised and semi-supervised learning techniques. This makes them capable of understanding and generating natural language and other types of content to perform a wide range of tasks, including: - -* *Text generation*: language generation abilities, such as writing emails, blog posts or other mid-to-long form content in response to prompts that can be refined and polished. An excellent example is retrieval-augmented generation (RAG). - -* *Content summarization*: summarize long articles, news stories, research reports, corporate documentation and even customer history into thorough texts tailored in length to the output format. - -* *AI assistants*: chatbots that answer customer queries, perform backend tasks and provide detailed information in natural language as a part of an integrated, self-serve customer care solution. - -* *Code generation*: assists developers in building applications, finding errors in code and uncovering security issues in multiple programming languages, even “translating” between them. - -* *Sentiment analysis*: analyze text to determine the customer’s tone in order understand customer feedback at scale and aid in brand reputation management. - -* *Language translation*: provides wider coverage to organizations across languages and geographies with fluent translations and multilingual capabilities. - +A language model is a model of natural language based on probabilities. They are able to generate probabilities of a series of words together. https://www.ibm.com/topics/large-language-models[Large language models (LLMs)] are simply langauge models that are categorized by their large size.They are trained on immense amounts of data, possibly billions of paramters, using self-supervised and semi-supervised learning techniques. This makes them capable of understanding and generating natural language and other types of content to perform a wide range of tasks. See the introductory video below for more information on LLMs, including what they are, how they work and business applications. - +video::5sLYAQS9sWQ[youtube] LLMs can be found in the service offerings of almost all of the major cloud service providers, e.g. IBM offers models through it's https://www.ibm.com/watsonx[watsonx] services, https://azure.microsoft.com/en-us/solutions/ai[Microsoft Azure] offers LLMs like Llama 2 and OpenAI GPT-4, and https://aws.amazon.com/bedrock/[Amazon Bedrock] offers models from a range of AI companies. @@ -70,7 +52,7 @@ LangChain provides tools and abstractions to improve the customization, accuracy Although LangChain is primarily available in Python and JavaScript/TypeScript versions, there are options available to use LangChain in Java applications through community projects like https://github.com/langchain4j/langchain4j[LangChain4j]. LangChain4j APIs provide the ability to intergate LLMs into your Java application for different AI platforms, such as OpenAI and Hugging Face, etc. -image::/img/blog/langchain4j.png[langchain4j GitHub README image,width=50%,align="center"] +image::/img/blog/langchain4j.png[langchain4j GitHub README image,width=70%,align="center"] [#using_Langchain4j] == How to use LangChain4j in a Jakarta EE and MicroProfile application From d93da1b2027f54b6ebd5b4baa9283910af631e24 Mon Sep 17 00:00:00 2001 From: Grace Jansen Date: Wed, 27 Mar 2024 14:31:16 +0000 Subject: [PATCH 33/67] editing embedded video in langchain4j blog --- .../2024-03-28-open-liberty-with-langchain4j-example.adoc | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc index 9d60f3b06..40adfcf13 100644 --- a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc @@ -26,11 +26,12 @@ Gilbert Kwan Artificial Intelligence (AI) is an exciting and disruptive field that is already transforming businesses, and even entire industries, by enabling automation, improving decision-making and unlocking new insights from data. With the rise in large language models, or LLMs, such as ChatGPT, over the last few years there has been a significant shift in the performance of AI and its potential to drive enterprise value. So, how will this impact on software development and the creation of cloud-native Java applications for enterprises? +In this blog we'll explore what LLMs are, frameworks that can be used to simplify their use in Java applications and how to get started using them in a Jakarta EE/MicroProfile app: * <> -* <> +* <> * <> * <> -* <> +* <> [#what_Are_LLMs] == What are LLMs? @@ -39,7 +40,7 @@ A language model is a model of natural language based on probabilities. They are See the introductory video below for more information on LLMs, including what they are, how they work and business applications. -video::5sLYAQS9sWQ[youtube] +video::5sLYAQS9sWQ[youtube,width=70%,align="center"] LLMs can be found in the service offerings of almost all of the major cloud service providers, e.g. IBM offers models through it's https://www.ibm.com/watsonx[watsonx] services, https://azure.microsoft.com/en-us/solutions/ai[Microsoft Azure] offers LLMs like Llama 2 and OpenAI GPT-4, and https://aws.amazon.com/bedrock/[Amazon Bedrock] offers models from a range of AI companies. From 3f6e085a8cceecf5923852eca40fa6bc6330b237 Mon Sep 17 00:00:00 2001 From: Grace Jansen Date: Wed, 27 Mar 2024 15:58:35 +0000 Subject: [PATCH 34/67] edit video in langchain4j blog --- posts/2024-03-28-open-liberty-with-langchain4j-example.adoc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc index 40adfcf13..b3f64f734 100644 --- a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc @@ -27,6 +27,7 @@ Gilbert Kwan Artificial Intelligence (AI) is an exciting and disruptive field that is already transforming businesses, and even entire industries, by enabling automation, improving decision-making and unlocking new insights from data. With the rise in large language models, or LLMs, such as ChatGPT, over the last few years there has been a significant shift in the performance of AI and its potential to drive enterprise value. So, how will this impact on software development and the creation of cloud-native Java applications for enterprises? In this blog we'll explore what LLMs are, frameworks that can be used to simplify their use in Java applications and how to get started using them in a Jakarta EE/MicroProfile app: + * <> * <> * <> @@ -40,7 +41,7 @@ A language model is a model of natural language based on probabilities. They are See the introductory video below for more information on LLMs, including what they are, how they work and business applications. -video::5sLYAQS9sWQ[youtube,width=70%,align="center"] +video::5sLYAQS9sWQ[youtube,width=100%,height=100%,align="center"] LLMs can be found in the service offerings of almost all of the major cloud service providers, e.g. IBM offers models through it's https://www.ibm.com/watsonx[watsonx] services, https://azure.microsoft.com/en-us/solutions/ai[Microsoft Azure] offers LLMs like Llama 2 and OpenAI GPT-4, and https://aws.amazon.com/bedrock/[Amazon Bedrock] offers models from a range of AI companies. From 10b78ca6fea9bb4cb823f486a6547e93f17fbf88 Mon Sep 17 00:00:00 2001 From: David Mueller Date: Thu, 28 Mar 2024 08:38:30 -0400 Subject: [PATCH 35/67] adjust video dimensions --- ...-open-liberty-with-langchain4j-example.adoc | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc index b3f64f734..984771ca3 100644 --- a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc @@ -10,7 +10,7 @@ seo-description: Experience AI technology in an Jakarta EE and MicroProfile appl blog_description: "Experience AI technology in an Jakarta EE and MicroProfile application running on Open Liberty by using LangChain4j APIs." open-graph-image: https://openliberty.io/img/twitter_card.jpg open-graph-image-alt: Open Liberty Logo -additional_authors: +additional_authors: - name: Grace Jansen github: https://github.com/GraceJansen image: https://avatars0.githubusercontent.com/GraceJansen @@ -41,16 +41,16 @@ A language model is a model of natural language based on probabilities. They are See the introductory video below for more information on LLMs, including what they are, how they work and business applications. -video::5sLYAQS9sWQ[youtube,width=100%,height=100%,align="center"] +video::5sLYAQS9sWQ[youtube, width="560", height="315", align="center"] LLMs can be found in the service offerings of almost all of the major cloud service providers, e.g. IBM offers models through it's https://www.ibm.com/watsonx[watsonx] services, https://azure.microsoft.com/en-us/solutions/ai[Microsoft Azure] offers LLMs like Llama 2 and OpenAI GPT-4, and https://aws.amazon.com/bedrock/[Amazon Bedrock] offers models from a range of AI companies. [#Java_LLMs] == How can we take advantage of LLMs in Java applications? -Developing applications powered by large language models isn't always an easy task. Integrating AI/LLM capabilities into an application can be challenging. To make this easier, LangChain, an open source framework was developed in 2022 to help streamline the process of creating generative AI apps. +Developing applications powered by large language models isn't always an easy task. Integrating AI/LLM capabilities into an application can be challenging. To make this easier, LangChain, an open source framework was developed in 2022 to help streamline the process of creating generative AI apps. -LangChain provides tools and abstractions to improve the customization, accuracy, and relevancy of the information the models generate. For example, developers can use LangChain components to build new prompt chains or customize existing templates. LangChain also includes components that allow LLMs to access new data sets without retraining and organizes the large quantities of data these models require so that they can be accessed with ease. +LangChain provides tools and abstractions to improve the customization, accuracy, and relevancy of the information the models generate. For example, developers can use LangChain components to build new prompt chains or customize existing templates. LangChain also includes components that allow LLMs to access new data sets without retraining and organizes the large quantities of data these models require so that they can be accessed with ease. Although LangChain is primarily available in Python and JavaScript/TypeScript versions, there are options available to use LangChain in Java applications through community projects like https://github.com/langchain4j/langchain4j[LangChain4j]. LangChain4j APIs provide the ability to intergate LLMs into your Java application for different AI platforms, such as OpenAI and Hugging Face, etc. @@ -121,7 +121,7 @@ After you see the following message, the application is ready: * Automatic generation of features: [ Off ] * h - see the help menu for available actions, type 'h' and press Enter. * q - stop the server and quit dev mode, press Ctrl-C or type 'q' and press Enter. -* +* * Liberty server port information: * Liberty server HTTP port: [ 9080 ] * Liberty server HTTPS port: [ 9443 ] @@ -141,9 +141,9 @@ To ensure the application has started successfully, you can run the tests by pre [INFO] ... [INFO] Running it.dev.langchan4j.example.ModelResourceIT [INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.733 s... -[INFO] +[INFO] [INFO] Results: -[INFO] +[INFO] [INFO] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0 ---- @@ -169,7 +169,7 @@ The application demostrates how to use the LangChain4j APIs, https://openliberty [#create_service] === Creating the LangChain4j AI service -The application uses the `HuggingFaceChatModel` class to provide the model for building the AI service. +The application uses the `HuggingFaceChatModel` class to provide the model for building the AI service. See the {example-location}/src/main/java/dev/langchain4j/example/chat/ChatAgent.java[`src/main/java/dev/langchain4j/example/chat/ChatAgent.java`] file. [source, java, role="no_copy"] @@ -329,7 +329,7 @@ If you are interested in other ways to use the LangChain4j APIs, you can study t [#where_to_next] == Where to next? -Check out the https://openliberty.io/guides/[Open Liberty guides] for more information and interactive tutorials that walk you through using more Jakarta EE and MicroProfile APIs with Open Liberty. +Check out the https://openliberty.io/guides/[Open Liberty guides] for more information and interactive tutorials that walk you through using more Jakarta EE and MicroProfile APIs with Open Liberty. [#help_links] == Helpful links From f48842a542696fefd151858d57e1fc99af218aff Mon Sep 17 00:00:00 2001 From: Gilbert Kwan Date: Thu, 28 Mar 2024 09:14:47 -0400 Subject: [PATCH 36/67] Update 2024-03-28-open-liberty-with-langchain4j-example.adoc --- posts/2024-03-28-open-liberty-with-langchain4j-example.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc index 984771ca3..223d45e04 100644 --- a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc @@ -59,7 +59,7 @@ image::/img/blog/langchain4j.png[langchain4j GitHub README image,width=70%,align [#using_Langchain4j] == How to use LangChain4j in a Jakarta EE and MicroProfile application -Langchain4j has a very useful open source https://github.com/langchain4j/langchain4j-examples[langchain4j-examples] GitHub repositry where it stores example applications. However, although this repo provided useful examples of using LangChain4j in general Java apps, we could not find any examples showcasing how you could experience these AI technologies in a Jakarta EE/MicroProfile based application. So, we decided to build one ourselves called `jakartaee-microprofile-example` which can now be found in this https://github.com/langchain4j/langchain4j-examples[langchain4j-examples] GitHub repository. This demo application highlights how to use LangChain4j APIs in an application using Jakarta EE and MicroProfile on Open Liberty. +Langchain4j has a very useful open source https://github.com/langchain4j/langchain4j-examples[langchain4j-examples] GitHub repositry where it stores example applications. However, although this repo provided useful examples of using LangChain4j in general Java apps, we could not find any examples showcasing how you could experience these AI technologies in a Jakarta EE/MicroProfile based application. So, we decided to build one ourselves called `jakartaee-microprofile-example` which can now be found in this https://github.com/langchain4j/langchain4j-examples/tree/main/jakartaee-microprofile-example[langchain4j-examples] GitHub repository. This demo application highlights how to use LangChain4j APIs in an application using Jakarta EE and MicroProfile on Open Liberty. [#tryout] From a490dfed07fff5865b2dff33edeba0f6dce30c6d Mon Sep 17 00:00:00 2001 From: Grace Jansen <32962135+GraceJansen@users.noreply.github.com> Date: Thu, 28 Mar 2024 21:07:49 +0000 Subject: [PATCH 37/67] Update posts/2024-03-28-open-liberty-with-langchain4j-example.adoc Co-authored-by: David Mueller <48686014+dmuelle@users.noreply.github.com> --- posts/2024-03-28-open-liberty-with-langchain4j-example.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc index 223d45e04..8a2fea6f4 100644 --- a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc @@ -26,7 +26,7 @@ Gilbert Kwan Artificial Intelligence (AI) is an exciting and disruptive field that is already transforming businesses, and even entire industries, by enabling automation, improving decision-making and unlocking new insights from data. With the rise in large language models, or LLMs, such as ChatGPT, over the last few years there has been a significant shift in the performance of AI and its potential to drive enterprise value. So, how will this impact on software development and the creation of cloud-native Java applications for enterprises? -In this blog we'll explore what LLMs are, frameworks that can be used to simplify their use in Java applications and how to get started using them in a Jakarta EE/MicroProfile app: +In this post, we'll explore what LLMs are and how to use them in Java applications. We'll also get started using them in an example Jakarta EE/MicroProfile app. * <> * <> From 9df9b9d5c90d40d1e3988de0dbdf265e966247ac Mon Sep 17 00:00:00 2001 From: Grace Jansen <32962135+GraceJansen@users.noreply.github.com> Date: Thu, 28 Mar 2024 21:08:05 +0000 Subject: [PATCH 38/67] Update posts/2024-03-28-open-liberty-with-langchain4j-example.adoc Co-authored-by: David Mueller <48686014+dmuelle@users.noreply.github.com> --- posts/2024-03-28-open-liberty-with-langchain4j-example.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc index 8a2fea6f4..692f6c8db 100644 --- a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc @@ -30,7 +30,7 @@ In this post, we'll explore what LLMs are and how to use them in Java applicatio * <> * <> -* <> +* <> * <> * <> From 87dc4d83f04fc7fa11df7dd83cd7224b41f07f79 Mon Sep 17 00:00:00 2001 From: Grace Jansen <32962135+GraceJansen@users.noreply.github.com> Date: Thu, 28 Mar 2024 21:08:23 +0000 Subject: [PATCH 39/67] Update posts/2024-03-28-open-liberty-with-langchain4j-example.adoc Co-authored-by: David Mueller <48686014+dmuelle@users.noreply.github.com> --- posts/2024-03-28-open-liberty-with-langchain4j-example.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc index 692f6c8db..3390925bd 100644 --- a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc @@ -37,7 +37,7 @@ In this post, we'll explore what LLMs are and how to use them in Java applicatio [#what_Are_LLMs] == What are LLMs? -A language model is a model of natural language based on probabilities. They are able to generate probabilities of a series of words together. https://www.ibm.com/topics/large-language-models[Large language models (LLMs)] are simply langauge models that are categorized by their large size.They are trained on immense amounts of data, possibly billions of paramters, using self-supervised and semi-supervised learning techniques. This makes them capable of understanding and generating natural language and other types of content to perform a wide range of tasks. +A language model is a model of natural language based on probabilities. They are able to generate probabilities of a series of words together. https://www.ibm.com/topics/large-language-models[Large language models (LLMs)] are simply langauge models that are categorized by their large size.They are trained on immense amounts of data, possibly billions of parameters, using self-supervised and semi-supervised learning techniques. This training enables them to generate natural language and other types of content to perform a wide range of tasks. See the introductory video below for more information on LLMs, including what they are, how they work and business applications. From e3027e3a8c6631e56611b358fb266f9dfd716144 Mon Sep 17 00:00:00 2001 From: Grace Jansen <32962135+GraceJansen@users.noreply.github.com> Date: Thu, 28 Mar 2024 21:08:35 +0000 Subject: [PATCH 40/67] Update posts/2024-03-28-open-liberty-with-langchain4j-example.adoc Co-authored-by: David Mueller <48686014+dmuelle@users.noreply.github.com> --- posts/2024-03-28-open-liberty-with-langchain4j-example.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc index 3390925bd..025601475 100644 --- a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc @@ -39,7 +39,7 @@ In this post, we'll explore what LLMs are and how to use them in Java applicatio A language model is a model of natural language based on probabilities. They are able to generate probabilities of a series of words together. https://www.ibm.com/topics/large-language-models[Large language models (LLMs)] are simply langauge models that are categorized by their large size.They are trained on immense amounts of data, possibly billions of parameters, using self-supervised and semi-supervised learning techniques. This training enables them to generate natural language and other types of content to perform a wide range of tasks. -See the introductory video below for more information on LLMs, including what they are, how they work and business applications. +See the introductory video below for more information on LLMs, including what they are, how they work, and their business applications. video::5sLYAQS9sWQ[youtube, width="560", height="315", align="center"] From cd52afc5a175081604973ce02275151d10dc0127 Mon Sep 17 00:00:00 2001 From: Grace Jansen <32962135+GraceJansen@users.noreply.github.com> Date: Thu, 28 Mar 2024 21:08:58 +0000 Subject: [PATCH 41/67] Update posts/2024-03-28-open-liberty-with-langchain4j-example.adoc Co-authored-by: David Mueller <48686014+dmuelle@users.noreply.github.com> --- posts/2024-03-28-open-liberty-with-langchain4j-example.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc index 025601475..31df1c360 100644 --- a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc @@ -43,7 +43,7 @@ See the introductory video below for more information on LLMs, including what th video::5sLYAQS9sWQ[youtube, width="560", height="315", align="center"] -LLMs can be found in the service offerings of almost all of the major cloud service providers, e.g. IBM offers models through it's https://www.ibm.com/watsonx[watsonx] services, https://azure.microsoft.com/en-us/solutions/ai[Microsoft Azure] offers LLMs like Llama 2 and OpenAI GPT-4, and https://aws.amazon.com/bedrock/[Amazon Bedrock] offers models from a range of AI companies. +You can find LLMs in the service offerings of almost all of the major cloud service providers. For example, IBM offers models through it's https://www.ibm.com/watsonx[watsonx] services, https://azure.microsoft.com/en-us/solutions/ai[Microsoft Azure] offers LLMs like Llama 2 and OpenAI GPT-4, and https://aws.amazon.com/bedrock/[Amazon Bedrock] offers models from a range of AI companies. [#Java_LLMs] == How can we take advantage of LLMs in Java applications? From d1886d74bc270179b7e554e3489c3587a03db127 Mon Sep 17 00:00:00 2001 From: Grace Jansen <32962135+GraceJansen@users.noreply.github.com> Date: Thu, 28 Mar 2024 21:09:19 +0000 Subject: [PATCH 42/67] Update posts/2024-03-28-open-liberty-with-langchain4j-example.adoc Co-authored-by: David Mueller <48686014+dmuelle@users.noreply.github.com> --- posts/2024-03-28-open-liberty-with-langchain4j-example.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc index 31df1c360..e3a75c8c5 100644 --- a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc @@ -48,7 +48,7 @@ You can find LLMs in the service offerings of almost all of the major cloud serv [#Java_LLMs] == How can we take advantage of LLMs in Java applications? -Developing applications powered by large language models isn't always an easy task. Integrating AI/LLM capabilities into an application can be challenging. To make this easier, LangChain, an open source framework was developed in 2022 to help streamline the process of creating generative AI apps. +Integrating AI/LLM capabilities into an application can be challenging. The open source LangChain framework was developed in 2022 to help streamline the process of creating generative AI apps. LangChain provides tools and abstractions to improve the customization, accuracy, and relevancy of the information the models generate. For example, developers can use LangChain components to build new prompt chains or customize existing templates. LangChain also includes components that allow LLMs to access new data sets without retraining and organizes the large quantities of data these models require so that they can be accessed with ease. From 882d4cf5d9fc8bdc44214ba763017d8db0796e20 Mon Sep 17 00:00:00 2001 From: Grace Jansen <32962135+GraceJansen@users.noreply.github.com> Date: Thu, 28 Mar 2024 21:09:30 +0000 Subject: [PATCH 43/67] Update posts/2024-03-28-open-liberty-with-langchain4j-example.adoc Co-authored-by: David Mueller <48686014+dmuelle@users.noreply.github.com> --- posts/2024-03-28-open-liberty-with-langchain4j-example.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc index e3a75c8c5..170f290e3 100644 --- a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc @@ -129,7 +129,7 @@ After you see the following message, the application is ready: ************************************************************************ ---- -To ensure the application has started successfully, you can run the tests by pressing the `enter/return` key from the command-line session. If the tests pass, you should see a similar output to the following example: +To ensure the application started successfully, you can run the tests by pressing the `enter/return` key from the command-line session. If the tests pass, you should see output similar to the following example: ---- [INFO] ------------------------------------------------------- From 22a085a4e2b29b5b632cd1403daf439402adb822 Mon Sep 17 00:00:00 2001 From: Grace Jansen <32962135+GraceJansen@users.noreply.github.com> Date: Thu, 28 Mar 2024 21:09:47 +0000 Subject: [PATCH 44/67] Update posts/2024-03-28-open-liberty-with-langchain4j-example.adoc Co-authored-by: David Mueller <48686014+dmuelle@users.noreply.github.com> --- posts/2024-03-28-open-liberty-with-langchain4j-example.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc index 170f290e3..e0c47c0b9 100644 --- a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc @@ -158,7 +158,7 @@ You can type in any text that you want to chat with the AI agent. Here are some * `What is MicroProfile?` * `Which top 10 companies contribute MicroProfile?` -* `any documentation?` +* `Any documentation?` [#how_app_work] From 7089089ceb9376829cc7ad80bbe123932af371e0 Mon Sep 17 00:00:00 2001 From: Grace Jansen <32962135+GraceJansen@users.noreply.github.com> Date: Thu, 28 Mar 2024 21:10:04 +0000 Subject: [PATCH 45/67] Update posts/2024-03-28-open-liberty-with-langchain4j-example.adoc Co-authored-by: David Mueller <48686014+dmuelle@users.noreply.github.com> --- posts/2024-03-28-open-liberty-with-langchain4j-example.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc index e0c47c0b9..301cc63db 100644 --- a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc @@ -204,7 +204,7 @@ Through the customized {example-location}/src/main/java/dev/langchain4j/example/ [#external_config] === Externalizing the configuration -As the above code, to access the model, an API key is required. For security practice, it is not hard-coded in the code. The application externalizes the API key and the LangChain4j model properties with the MicroProfile Config feature that helps the application to run in different environments without code changes. You can learn more from the https://openliberty.io/docs/latest/external-configuration.html[External configuration of microservices] document. +An API key is required to access the model. For security purposes, the key is not hard-coded in the code. The application externalizes the API key and the LangChain4j model properties with the MicroProfile Config feature that helps the application to run in different environments without code changes. You can learn more from the https://openliberty.io/docs/latest/external-configuration.html[External configuration of microservices] document. See the {example-location}/src/main/java/dev/langchain4j/example/chat/ChatAgent.java[`src/main/java/dev/langchain4j/example/chat/ChatAgent.java`] file. [source, java, role="no_copy"] From eb4d4e9f28be4a3a5eb3b32a8d53168b4d03fb71 Mon Sep 17 00:00:00 2001 From: Grace Jansen <32962135+GraceJansen@users.noreply.github.com> Date: Thu, 28 Mar 2024 21:10:17 +0000 Subject: [PATCH 46/67] Update posts/2024-03-28-open-liberty-with-langchain4j-example.adoc Co-authored-by: David Mueller <48686014+dmuelle@users.noreply.github.com> --- posts/2024-03-28-open-liberty-with-langchain4j-example.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc index 301cc63db..9cc89c6ac 100644 --- a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc @@ -264,7 +264,7 @@ See the {example-location}/src/main/webapp/chatroom.js[`src/main/webapp/chatroom } ---- -The service recieves the user messeages through the WebSocket `onMessage()` method, forward them to the LLM by calling the `ChatAgent.chat()` method, and then boardcast the LLM responsed answers back to the client session through the `sendObect()` method. +The service recieves the user messeages through the WebSocket `onMessage()` method, forwards them to the LLM by calling the `ChatAgent.chat()` method, and then broadcasts the LLM answers back to the client session through the `sendObect()` method. See the {example-location}/src/main/java/dev/langchain4j/example/chat/ChatService.java[`src/main/java/dev/langchain4j/example/chat/ChatService.java`] file. [source, java, role="no_copy"] From 532368dc8f95ef8f6ad39ed8dcb6c2d56aa910e1 Mon Sep 17 00:00:00 2001 From: Grace Jansen <32962135+GraceJansen@users.noreply.github.com> Date: Thu, 28 Mar 2024 21:10:29 +0000 Subject: [PATCH 47/67] Update posts/2024-03-28-open-liberty-with-langchain4j-example.adoc Co-authored-by: David Mueller <48686014+dmuelle@users.noreply.github.com> --- posts/2024-03-28-open-liberty-with-langchain4j-example.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc index 9cc89c6ac..83aa76311 100644 --- a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc @@ -304,7 +304,7 @@ See the {example-location}/src/main/java/dev/langchain4j/example/chat/ChatServic ... ---- -And, collect how many agents are created by applying the `@Counted` annotation to the `AgentManager.createAgent()` method. +It also collects how many agents are created by applying the `@Counted` annotation to the `AgentManager.createAgent()` method. Visit the url http://localhost:9080/metrics?scope=application to check out the metrics. ---- From d629632a025a2b53b9c59ae2e6141bf6b2ae477f Mon Sep 17 00:00:00 2001 From: Grace Jansen <32962135+GraceJansen@users.noreply.github.com> Date: Thu, 28 Mar 2024 21:10:44 +0000 Subject: [PATCH 48/67] Update posts/2024-03-28-open-liberty-with-langchain4j-example.adoc Co-authored-by: David Mueller <48686014+dmuelle@users.noreply.github.com> --- posts/2024-03-28-open-liberty-with-langchain4j-example.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc index 83aa76311..fa2b7dc36 100644 --- a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc @@ -52,7 +52,7 @@ Integrating AI/LLM capabilities into an application can be challenging. The open LangChain provides tools and abstractions to improve the customization, accuracy, and relevancy of the information the models generate. For example, developers can use LangChain components to build new prompt chains or customize existing templates. LangChain also includes components that allow LLMs to access new data sets without retraining and organizes the large quantities of data these models require so that they can be accessed with ease. -Although LangChain is primarily available in Python and JavaScript/TypeScript versions, there are options available to use LangChain in Java applications through community projects like https://github.com/langchain4j/langchain4j[LangChain4j]. LangChain4j APIs provide the ability to intergate LLMs into your Java application for different AI platforms, such as OpenAI and Hugging Face, etc. +Although LangChain is primarily available in Python and JavaScript/TypeScript versions, options are available to use LangChain in Java applications through community projects like https://github.com/langchain4j/langchain4j[LangChain4j]. LangChain4j APIs provide the ability to integrate LLMs into your Java application for different AI platforms, such as OpenAI and Hugging Face, etc. image::/img/blog/langchain4j.png[langchain4j GitHub README image,width=70%,align="center"] From 3bbf89c996c77c155060f33eaa3a0971200831c7 Mon Sep 17 00:00:00 2001 From: Grace Jansen <32962135+GraceJansen@users.noreply.github.com> Date: Thu, 28 Mar 2024 21:10:54 +0000 Subject: [PATCH 49/67] Update posts/2024-03-28-open-liberty-with-langchain4j-example.adoc Co-authored-by: David Mueller <48686014+dmuelle@users.noreply.github.com> --- posts/2024-03-28-open-liberty-with-langchain4j-example.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc index fa2b7dc36..bba3b647c 100644 --- a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc @@ -65,7 +65,7 @@ Langchain4j has a very useful open source https://github.com/langchain4j/langcha [#tryout] == Try out the jakartaee-microprofile-example application -To see how you could apply LangChain4j to your own Jakarta EE and/or MicroProfile application, check out this example project for yourself. +To see how you could apply LangChain4j to your own Jakarta EE and MicroProfile applications, check out this example project for yourself. [#pre-reqs] === Pre-requisites From b653a9b005b8474da675ceef8a81e02242aed174 Mon Sep 17 00:00:00 2001 From: Grace Jansen <32962135+GraceJansen@users.noreply.github.com> Date: Thu, 28 Mar 2024 21:11:18 +0000 Subject: [PATCH 50/67] Update posts/2024-03-28-open-liberty-with-langchain4j-example.adoc Co-authored-by: David Mueller <48686014+dmuelle@users.noreply.github.com> --- posts/2024-03-28-open-liberty-with-langchain4j-example.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc index bba3b647c..79745c22b 100644 --- a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc @@ -94,7 +94,7 @@ To run the application, navigate to the `jakartaee-microprofile-example` directo cd langchain4j-examples/jakartaee-microprofile-example ---- -and set the environment variables: +Set the following environment variables: [source] ---- From 8227c3ae3b5fb61dfb3f4c872cc6890c876fd77b Mon Sep 17 00:00:00 2001 From: Grace Jansen <32962135+GraceJansen@users.noreply.github.com> Date: Thu, 28 Mar 2024 21:11:30 +0000 Subject: [PATCH 51/67] Update posts/2024-03-28-open-liberty-with-langchain4j-example.adoc Co-authored-by: David Mueller <48686014+dmuelle@users.noreply.github.com> --- posts/2024-03-28-open-liberty-with-langchain4j-example.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc index 79745c22b..ed04fbfa3 100644 --- a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc @@ -68,7 +68,7 @@ Langchain4j has a very useful open source https://github.com/langchain4j/langcha To see how you could apply LangChain4j to your own Jakarta EE and MicroProfile applications, check out this example project for yourself. [#pre-reqs] -=== Pre-requisites +=== Prerequisites Before you clone the application to your machine, install JDK 17 and ensure that your `JAVA_HOME` environment variable is set. You can make use of the https://developer.ibm.com/languages/java/semeru-runtimes/downloads[IBM Semeru Runtime] as your chosen Java runtime. This runtime offers performance benefits from deep technology investment in projects such as Eclipse OpenJ9 and is available across a wide variety of hardware and software platforms. To find out more about IBM Semeru Runtime, see https://openliberty.io/blog/2022/08/19/open-liberty-semeru-performance.html[Open Liberty and Semeru Runtimes, cloud-native performance that matters]. The application uses Hugging Face. You need to get a Hugging Face API Key: From cb000e189ac938d83a586dd8fc358a877524efbd Mon Sep 17 00:00:00 2001 From: Grace Jansen <32962135+GraceJansen@users.noreply.github.com> Date: Thu, 28 Mar 2024 21:11:47 +0000 Subject: [PATCH 52/67] Update posts/2024-03-28-open-liberty-with-langchain4j-example.adoc Co-authored-by: David Mueller <48686014+dmuelle@users.noreply.github.com> --- posts/2024-03-28-open-liberty-with-langchain4j-example.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc index ed04fbfa3..2aab97f5b 100644 --- a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc @@ -69,7 +69,7 @@ To see how you could apply LangChain4j to your own Jakarta EE and MicroProfile a [#pre-reqs] === Prerequisites -Before you clone the application to your machine, install JDK 17 and ensure that your `JAVA_HOME` environment variable is set. You can make use of the https://developer.ibm.com/languages/java/semeru-runtimes/downloads[IBM Semeru Runtime] as your chosen Java runtime. This runtime offers performance benefits from deep technology investment in projects such as Eclipse OpenJ9 and is available across a wide variety of hardware and software platforms. To find out more about IBM Semeru Runtime, see https://openliberty.io/blog/2022/08/19/open-liberty-semeru-performance.html[Open Liberty and Semeru Runtimes, cloud-native performance that matters]. +Before you clone the application to your machine, install JDK 17 and ensure that your `JAVA_HOME` environment variable is set. You can use the https://developer.ibm.com/languages/java/semeru-runtimes/downloads[IBM Semeru Runtime] as your chosen Java runtime. This runtime offers performance benefits from deep technology investment in projects such as Eclipse OpenJ9 and is available across a wide variety of hardware and software platforms. To find out more about IBM Semeru Runtime, see https://openliberty.io/blog/2022/08/19/open-liberty-semeru-performance.html[Open Liberty and Semeru Runtimes, cloud-native performance that matters]. The application uses Hugging Face. You need to get a Hugging Face API Key: From 9d4adc7b62b547dc9f9c867c3c614c795b4c73b6 Mon Sep 17 00:00:00 2001 From: Grace Jansen <32962135+GraceJansen@users.noreply.github.com> Date: Thu, 28 Mar 2024 21:12:03 +0000 Subject: [PATCH 53/67] Update posts/2024-03-28-open-liberty-with-langchain4j-example.adoc Co-authored-by: David Mueller <48686014+dmuelle@users.noreply.github.com> --- posts/2024-03-28-open-liberty-with-langchain4j-example.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc index 2aab97f5b..6b9e073c4 100644 --- a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc @@ -74,7 +74,7 @@ Before you clone the application to your machine, install JDK 17 and ensure that The application uses Hugging Face. You need to get a Hugging Face API Key: * Sign up and login to https://huggingface.co -* Go to Access Tokens by https://huggingface.co/settings/tokens +* Go to the link:https://huggingface.co/settings/tokens[Access Tokens page] * Create a new access token with "read" role To access the repository remotely you'll need to install https://git-scm.com/book/en/v2/Getting-Started-Installing-Git[Git] if you haven't already. You can clone the `langchain4j-examples` GitHub repository to your local machine by running: From 608fb17ba8bd16f87937aea30064efb4ac38f84b Mon Sep 17 00:00:00 2001 From: Grace Jansen <32962135+GraceJansen@users.noreply.github.com> Date: Thu, 28 Mar 2024 21:12:11 +0000 Subject: [PATCH 54/67] Update posts/2024-03-28-open-liberty-with-langchain4j-example.adoc Co-authored-by: David Mueller <48686014+dmuelle@users.noreply.github.com> --- posts/2024-03-28-open-liberty-with-langchain4j-example.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc index 6b9e073c4..34f31a3e8 100644 --- a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc @@ -75,7 +75,7 @@ The application uses Hugging Face. You need to get a Hugging Face API Key: * Sign up and login to https://huggingface.co * Go to the link:https://huggingface.co/settings/tokens[Access Tokens page] -* Create a new access token with "read" role +* Create a new access token with `read` role To access the repository remotely you'll need to install https://git-scm.com/book/en/v2/Getting-Started-Installing-Git[Git] if you haven't already. You can clone the `langchain4j-examples` GitHub repository to your local machine by running: From 5382a301edb91010a91d1db4647dcaf9072caf81 Mon Sep 17 00:00:00 2001 From: Grace Jansen <32962135+GraceJansen@users.noreply.github.com> Date: Thu, 28 Mar 2024 21:12:23 +0000 Subject: [PATCH 55/67] Update posts/2024-03-28-open-liberty-with-langchain4j-example.adoc Co-authored-by: David Mueller <48686014+dmuelle@users.noreply.github.com> --- posts/2024-03-28-open-liberty-with-langchain4j-example.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc index 34f31a3e8..3189fa185 100644 --- a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc @@ -77,7 +77,7 @@ The application uses Hugging Face. You need to get a Hugging Face API Key: * Go to the link:https://huggingface.co/settings/tokens[Access Tokens page] * Create a new access token with `read` role -To access the repository remotely you'll need to install https://git-scm.com/book/en/v2/Getting-Started-Installing-Git[Git] if you haven't already. You can clone the `langchain4j-examples` GitHub repository to your local machine by running: +To access the repository remotely, install https://git-scm.com/book/en/v2/Getting-Started-Installing-Git[Git] if you haven't already. You can clone the `langchain4j-examples` GitHub repository to your local machine by running the following command: [source] ---- From 18b9b774ec29f6200df13dd0802501e816fca613 Mon Sep 17 00:00:00 2001 From: Grace Jansen <32962135+GraceJansen@users.noreply.github.com> Date: Thu, 28 Mar 2024 21:12:33 +0000 Subject: [PATCH 56/67] Update posts/2024-03-28-open-liberty-with-langchain4j-example.adoc Co-authored-by: David Mueller <48686014+dmuelle@users.noreply.github.com> --- posts/2024-03-28-open-liberty-with-langchain4j-example.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc index 3189fa185..531d50324 100644 --- a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc @@ -85,7 +85,7 @@ git clone https://github.com/langchain4j/langchain4j-examples.git ---- [#env_setup] -=== Environment Set Up +=== Environment setup To run the application, navigate to the `jakartaee-microprofile-example` directory: From bebe94edbcc312f96ad96f404460d2c822bf4bc3 Mon Sep 17 00:00:00 2001 From: Grace Jansen <32962135+GraceJansen@users.noreply.github.com> Date: Thu, 28 Mar 2024 21:13:05 +0000 Subject: [PATCH 57/67] Update posts/2024-03-28-open-liberty-with-langchain4j-example.adoc Co-authored-by: David Mueller <48686014+dmuelle@users.noreply.github.com> --- posts/2024-03-28-open-liberty-with-langchain4j-example.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc index 531d50324..baba3f014 100644 --- a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc @@ -105,7 +105,7 @@ export HUGGING_FACE_API_KEY= [#start_app] === Start the application -To start the application, use the provided Maven wrapper to run the https://openliberty.io/docs/latest/development-mode.html[Liberty dev mode]: +To start the application, use the provided Maven wrapper to run Open Liberty in https://openliberty.io/docs/latest/development-mode.html[dev mode]: [source] From ffb71924a9344911ed1c6556b4d757264db0bd7e Mon Sep 17 00:00:00 2001 From: David Mueller Date: Fri, 29 Mar 2024 09:17:47 -0400 Subject: [PATCH 58/67] edits --- ...open-liberty-with-langchain4j-example.adoc | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc index baba3f014..352c40fc5 100644 --- a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc @@ -24,7 +24,7 @@ Gilbert Kwan :example-location: https://github.com/langchain4j/langchain4j-examples/tree/main/jakartaee-microprofile-example -Artificial Intelligence (AI) is an exciting and disruptive field that is already transforming businesses, and even entire industries, by enabling automation, improving decision-making and unlocking new insights from data. With the rise in large language models, or LLMs, such as ChatGPT, over the last few years there has been a significant shift in the performance of AI and its potential to drive enterprise value. So, how will this impact on software development and the creation of cloud-native Java applications for enterprises? +Artificial Intelligence (AI) is an exciting and disruptive field that is already transforming businesses, and even entire industries, by enabling automation, improving decision-making and unlocking new insights from data. With the rise in large language models (LLMs) such as ChatGPT, there is a significant shift in the performance of AI and its potential to drive enterprise value. So, how will this impact on software development and the creation of cloud-native Java applications for enterprises? In this post, we'll explore what LLMs are and how to use them in Java applications. We'll also get started using them in an example Jakarta EE/MicroProfile app. @@ -37,13 +37,13 @@ In this post, we'll explore what LLMs are and how to use them in Java applicatio [#what_Are_LLMs] == What are LLMs? -A language model is a model of natural language based on probabilities. They are able to generate probabilities of a series of words together. https://www.ibm.com/topics/large-language-models[Large language models (LLMs)] are simply langauge models that are categorized by their large size.They are trained on immense amounts of data, possibly billions of parameters, using self-supervised and semi-supervised learning techniques. This training enables them to generate natural language and other types of content to perform a wide range of tasks. +A language model is a model of natural language based on probabilities. They are able to generate probabilities of a series of words together. https://www.ibm.com/topics/large-language-models[Large language models (LLMs)] are simply language models that are categorized by their large size. They are trained on immense amounts of data, possibly billions of parameters, by using self-supervised and semi-supervised learning techniques. This training enables them to generate natural language and other types of content to perform a wide range of tasks. -See the introductory video below for more information on LLMs, including what they are, how they work, and their business applications. +See the following introductory video for more information on LLMs, including what they are, how they work, and their business applications. video::5sLYAQS9sWQ[youtube, width="560", height="315", align="center"] -You can find LLMs in the service offerings of almost all of the major cloud service providers. For example, IBM offers models through it's https://www.ibm.com/watsonx[watsonx] services, https://azure.microsoft.com/en-us/solutions/ai[Microsoft Azure] offers LLMs like Llama 2 and OpenAI GPT-4, and https://aws.amazon.com/bedrock/[Amazon Bedrock] offers models from a range of AI companies. +You can find LLMs in the service offerings of almost all of the major cloud service providers. For example, IBM offers models through its link:https://www.ibm.com/watsonx[watsonx] services, link:https://azure.microsoft.com/en-us/solutions/ai[Microsoft Azure] offers LLMs like Llama 2 and OpenAI GPT-4, and link:https://aws.amazon.com/bedrock/[Amazon Bedrock] offers models from a range of AI companies. [#Java_LLMs] == How can we take advantage of LLMs in Java applications? @@ -52,30 +52,30 @@ Integrating AI/LLM capabilities into an application can be challenging. The open LangChain provides tools and abstractions to improve the customization, accuracy, and relevancy of the information the models generate. For example, developers can use LangChain components to build new prompt chains or customize existing templates. LangChain also includes components that allow LLMs to access new data sets without retraining and organizes the large quantities of data these models require so that they can be accessed with ease. -Although LangChain is primarily available in Python and JavaScript/TypeScript versions, options are available to use LangChain in Java applications through community projects like https://github.com/langchain4j/langchain4j[LangChain4j]. LangChain4j APIs provide the ability to integrate LLMs into your Java application for different AI platforms, such as OpenAI and Hugging Face, etc. +Although LangChain is primarily available in Python and JavaScript/TypeScript versions, options are available to use LangChain in Java applications through community projects like https://github.com/langchain4j/langchain4j[LangChain4j]. LangChain4j APIs can help integrate LLMs into your Java application for different AI platforms, such as OpenAI and Hugging Face. image::/img/blog/langchain4j.png[langchain4j GitHub README image,width=70%,align="center"] [#using_Langchain4j] == How to use LangChain4j in a Jakarta EE and MicroProfile application -Langchain4j has a very useful open source https://github.com/langchain4j/langchain4j-examples[langchain4j-examples] GitHub repositry where it stores example applications. However, although this repo provided useful examples of using LangChain4j in general Java apps, we could not find any examples showcasing how you could experience these AI technologies in a Jakarta EE/MicroProfile based application. So, we decided to build one ourselves called `jakartaee-microprofile-example` which can now be found in this https://github.com/langchain4j/langchain4j-examples/tree/main/jakartaee-microprofile-example[langchain4j-examples] GitHub repository. This demo application highlights how to use LangChain4j APIs in an application using Jakarta EE and MicroProfile on Open Liberty. +Langchain4j has a useful open source https://github.com/langchain4j/langchain4j-examples[langchain4j-examples] GitHub repository where it stores example applications. However, we could not find any examples showcasing how you could experience these AI technologies in a Jakarta EE or MicroProfile based application. So, we decided to build one ourselves called `jakartaee-microprofile-example`, which can now be found in this https://github.com/langchain4j/langchain4j-examples/tree/main/jakartaee-microprofile-example[langchain4j-examples] GitHub repository. This demo application highlights how to use LangChain4j APIs in an application by using Jakarta EE and MicroProfile on Open Liberty. [#tryout] == Try out the jakartaee-microprofile-example application -To see how you could apply LangChain4j to your own Jakarta EE and MicroProfile applications, check out this example project for yourself. +To see how you can apply LangChain4j to your own Jakarta EE and MicroProfile applications, check out this example project for yourself. [#pre-reqs] === Prerequisites -Before you clone the application to your machine, install JDK 17 and ensure that your `JAVA_HOME` environment variable is set. You can use the https://developer.ibm.com/languages/java/semeru-runtimes/downloads[IBM Semeru Runtime] as your chosen Java runtime. This runtime offers performance benefits from deep technology investment in projects such as Eclipse OpenJ9 and is available across a wide variety of hardware and software platforms. To find out more about IBM Semeru Runtime, see https://openliberty.io/blog/2022/08/19/open-liberty-semeru-performance.html[Open Liberty and Semeru Runtimes, cloud-native performance that matters]. +Before you clone the application to your machine, install JDK 17, and ensure that your `JAVA_HOME` environment variable is set. You can use the https://developer.ibm.com/languages/java/semeru-runtimes/downloads[IBM Semeru Runtime] as your chosen Java runtime. This runtime offers performance benefits from deep technology investment in projects such as Eclipse OpenJ9 and is available across a wide variety of hardware and software platforms. To find out more about IBM Semeru Runtime, see https://openliberty.io/blog/2022/08/19/open-liberty-semeru-performance.html[Open Liberty and Semeru Runtimes, cloud-native performance that matters]. The application uses Hugging Face. You need to get a Hugging Face API Key: -* Sign up and login to https://huggingface.co -* Go to the link:https://huggingface.co/settings/tokens[Access Tokens page] -* Create a new access token with `read` role +* Sign up and log in to https://huggingface.co +* Go to the link:https://huggingface.co/settings/tokens[Access Tokens page] +* Create an access token with `read` role To access the repository remotely, install https://git-scm.com/book/en/v2/Getting-Started-Installing-Git[Git] if you haven't already. You can clone the `langchain4j-examples` GitHub repository to your local machine by running the following command: @@ -129,7 +129,7 @@ After you see the following message, the application is ready: ************************************************************************ ---- -To ensure the application started successfully, you can run the tests by pressing the `enter/return` key from the command-line session. If the tests pass, you should see output similar to the following example: +To ensure that the application started successfully, you can run the tests by pressing the `enter/return` key from the command-line session. If the tests pass, you can see output similar to the following example: ---- [INFO] ------------------------------------------------------- @@ -150,7 +150,7 @@ To ensure the application started successfully, you can run the tests by pressin [#access_app] === Access the application -Once the application is running, you can access it through a browser of your choice at http://localhost:9080/ and start experimenting with it. +After the application is running, you can access it through a browser of your choice at http://localhost:9080/ and start experimenting with it. image::/img/blog/langchain4j-example-chat-room.png[Chat Room of LangChain4j Jakarta EE and MicroProfile example,width=70%,align="center"] @@ -164,7 +164,7 @@ You can type in any text that you want to chat with the AI agent. Here are some [#how_app_work] == How does the application work? -The application demostrates how to use the LangChain4j APIs, https://openliberty.io/docs/ref/feature/#cdi-4.0.html[Jakarta Contexts and Dependency Injection], https://openliberty.io/docs/latest/reference/feature/websocket-2.1.html[Jakarta WebSocket], https://openliberty.io/docs/ref/feature/#mpConfig-3.0.html[MicroProfile Config], and https://openliberty.io/docs/latest/reference/feature/mpMetrics-5.1.html[MicroProfile Metrics] features. +The application demonstrates how to use the LangChain4j APIs, https://openliberty.io/docs/ref/feature/#cdi-4.0.html[Jakarta Contexts and Dependency Injection], https://openliberty.io/docs/latest/reference/feature/websocket-2.1.html[Jakarta WebSocket], https://openliberty.io/docs/ref/feature/#mpConfig-3.0.html[MicroProfile Config], and https://openliberty.io/docs/latest/reference/feature/mpMetrics-5.1.html[MicroProfile Metrics] features. [#create_service] === Creating the LangChain4j AI service @@ -204,7 +204,7 @@ Through the customized {example-location}/src/main/java/dev/langchain4j/example/ [#external_config] === Externalizing the configuration -An API key is required to access the model. For security purposes, the key is not hard-coded in the code. The application externalizes the API key and the LangChain4j model properties with the MicroProfile Config feature that helps the application to run in different environments without code changes. You can learn more from the https://openliberty.io/docs/latest/external-configuration.html[External configuration of microservices] document. +An API key is required to access the model. For security purposes, the key is not hardcoded in the code. The application externalizes the API key and the LangChain4j model properties with the MicroProfile Config feature that helps the application to run in different environments without code changes. You can learn more from the https://openliberty.io/docs/latest/external-configuration.html[External configuration of microservices] document. See the {example-location}/src/main/java/dev/langchain4j/example/chat/ChatAgent.java[`src/main/java/dev/langchain4j/example/chat/ChatAgent.java`] file. [source, java, role="no_copy"] @@ -234,7 +234,7 @@ See the {example-location}/src/main/java/dev/langchain4j/example/chat/ChatAgent. private Integer MAX_MESSAGES; ---- -To fine tune the LangChain4j model or even try out another LLM, you simply update the values in the {example-location}/src/main/resources/META-INF/microprofile-config.properties[`langchain4j-examples/jakartaee-microprofile-example/src/main/resources/META-INF/microprofile-config.properties`] file or provide them through the enviroment variables. +To fine tune the LangChain4j model or even try out another LLM, you simply update the values in the {example-location}/src/main/resources/META-INF/microprofile-config.properties[`langchain4j-examples/jakartaee-microprofile-example/src/main/resources/META-INF/microprofile-config.properties`] file or provide them through the environment variables. ---- hugging.face.api.key=set it by env variable @@ -264,7 +264,7 @@ See the {example-location}/src/main/webapp/chatroom.js[`src/main/webapp/chatroom } ---- -The service recieves the user messeages through the WebSocket `onMessage()` method, forwards them to the LLM by calling the `ChatAgent.chat()` method, and then broadcasts the LLM answers back to the client session through the `sendObect()` method. +The service receives the user messages through the WebSocket `onMessage()` method, forwards them to the LLM by calling the `ChatAgent.chat()` method, and then broadcasts the LLM answers back to the client session through the `sendObect()` method. See the {example-location}/src/main/java/dev/langchain4j/example/chat/ChatService.java[`src/main/java/dev/langchain4j/example/chat/ChatService.java`] file. [source, java, role="no_copy"] From 9c054740171f31500c97a8d58983245189cc9439 Mon Sep 17 00:00:00 2001 From: David Mueller Date: Fri, 29 Mar 2024 09:19:21 -0400 Subject: [PATCH 59/67] change filename for new pub date #3557 --- ...adoc => 2024-04-01-open-liberty-with-langchain4j-example.adoc} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename posts/{2024-03-28-open-liberty-with-langchain4j-example.adoc => 2024-04-01-open-liberty-with-langchain4j-example.adoc} (100%) diff --git a/posts/2024-03-28-open-liberty-with-langchain4j-example.adoc b/posts/2024-04-01-open-liberty-with-langchain4j-example.adoc similarity index 100% rename from posts/2024-03-28-open-liberty-with-langchain4j-example.adoc rename to posts/2024-04-01-open-liberty-with-langchain4j-example.adoc From dd829ba77de99667f25da091a594e7cfd72591ba Mon Sep 17 00:00:00 2001 From: David Mueller Date: Fri, 29 Mar 2024 09:23:36 -0400 Subject: [PATCH 60/67] tags for langChain4j #3557 --- blog_tags.json | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/blog_tags.json b/blog_tags.json index 233ee5cd0..6ba343d4f 100644 --- a/blog_tags.json +++ b/blog_tags.json @@ -76,7 +76,8 @@ "featured": "true" },{ "name": "microprofile", - "posts": ["DevNexus24", "24.0.0.2", + "posts": ["open-liberty-with-langchain4j-example", + "DevNexus24", "24.0.0.2", "23.0.0.12", "23.0.0.11", "23.0.0.11-beta", "23.0.0.10-beta", "liberty-ide-tools-maven-gradle-plugins-for-java-developers", "23.0.0.6", @@ -335,7 +336,7 @@ }, { "name": "jakarta-ee", - "posts": ["DevNexus24", + "posts": ["open-liberty-with-langchain4j-example", "DevNexus24", "24.0.0.1-beta", "23.0.0.12-beta", "IvarJakartaData", "23.0.0.10-beta", "23.0.0.9-beta", "23.0.0.8-beta", @@ -428,7 +429,8 @@ }, { "name": "developer-experience", - "posts": ["DevNexus24", "23.0.0.12", + "posts": ["open-liberty-with-langchain4j-example", + "DevNexus24", "23.0.0.12", "23.0.0.8", "23.0.0.7", "liberty-ide-tools-maven-gradle-plugins-for-java-developers", "23.0.0.6", "rapid-startup-instanton", "running-spring-boot-3", From 6eec94e7f0b1642cc90fa53bc8c4414f6f308c2a Mon Sep 17 00:00:00 2001 From: David Mueller Date: Fri, 29 Mar 2024 10:35:52 -0400 Subject: [PATCH 61/67] update title #3557 --- .../2024-04-01-open-liberty-with-langchain4j-example.adoc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/posts/2024-04-01-open-liberty-with-langchain4j-example.adoc b/posts/2024-04-01-open-liberty-with-langchain4j-example.adoc index 352c40fc5..c640c987d 100644 --- a/posts/2024-04-01-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-04-01-open-liberty-with-langchain4j-example.adoc @@ -1,13 +1,13 @@ --- layout: post -title: "Run LangChain4j in Jakarta EE and MicroProfile application on Open Liberty" +title: "Run AI-enabled Jakarta EE and MicroProfile applications on Open Liberty # Do NOT change the categories section categories: blog author_picture: https://avatars3.githubusercontent.com/gkwan-ibm author_github: https://github.com/gkwan-ibm seo-title: Run LangChain4j in Jakarta EE and MicroProfile application on Open Liberty -seo-description: Experience AI technology in an Jakarta EE and MicroProfile application running on Open Liberty by using LangChain4j APIs. -blog_description: "Experience AI technology in an Jakarta EE and MicroProfile application running on Open Liberty by using LangChain4j APIs." +seo-description: Experience AI technology in Jakarta EE and MicroProfile applications that run on Open Liberty by using LangChain4j APIs. +blog_description: "Experience AI technology in Jakarta EE and MicroProfile applications that run on Open Liberty by using LangChain4j APIs." open-graph-image: https://openliberty.io/img/twitter_card.jpg open-graph-image-alt: Open Liberty Logo additional_authors: @@ -15,7 +15,7 @@ additional_authors: github: https://github.com/GraceJansen image: https://avatars0.githubusercontent.com/GraceJansen --- -= Run LangChain4j in Jakarta EE and MicroProfile application on Open Liberty += Run AI-enabled Jakarta EE and MicroProfile applications on Open Liberty Gilbert Kwan :imagesdir: / :url-prefix: From 5ff7fac98935fa7196f1b55359daf3dc0f849350 Mon Sep 17 00:00:00 2001 From: David Mueller Date: Fri, 29 Mar 2024 16:31:00 -0400 Subject: [PATCH 62/67] Update 2024-04-01-open-liberty-with-langchain4j-example.adoc --- posts/2024-04-01-open-liberty-with-langchain4j-example.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/posts/2024-04-01-open-liberty-with-langchain4j-example.adoc b/posts/2024-04-01-open-liberty-with-langchain4j-example.adoc index c640c987d..fbdbc6198 100644 --- a/posts/2024-04-01-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-04-01-open-liberty-with-langchain4j-example.adoc @@ -5,7 +5,7 @@ title: "Run AI-enabled Jakarta EE and MicroProfile applications on Open Liberty categories: blog author_picture: https://avatars3.githubusercontent.com/gkwan-ibm author_github: https://github.com/gkwan-ibm -seo-title: Run LangChain4j in Jakarta EE and MicroProfile application on Open Liberty +seo-title: Run AI-enabled Jakarta EE and MicroProfile applications on Open Liberty seo-description: Experience AI technology in Jakarta EE and MicroProfile applications that run on Open Liberty by using LangChain4j APIs. blog_description: "Experience AI technology in Jakarta EE and MicroProfile applications that run on Open Liberty by using LangChain4j APIs." open-graph-image: https://openliberty.io/img/twitter_card.jpg From 4b82702dbc7a3de4909ff82e72c5efe5951614e1 Mon Sep 17 00:00:00 2001 From: David Mueller Date: Fri, 29 Mar 2024 16:40:01 -0400 Subject: [PATCH 63/67] Update 2024-04-01-open-liberty-with-langchain4j-example.adoc --- ...01-open-liberty-with-langchain4j-example.adoc | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/posts/2024-04-01-open-liberty-with-langchain4j-example.adoc b/posts/2024-04-01-open-liberty-with-langchain4j-example.adoc index fbdbc6198..ebf685559 100644 --- a/posts/2024-04-01-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-04-01-open-liberty-with-langchain4j-example.adoc @@ -171,7 +171,7 @@ The application demonstrates how to use the LangChain4j APIs, https://openlibert The application uses the `HuggingFaceChatModel` class to provide the model for building the AI service. -See the {example-location}/src/main/java/dev/langchain4j/example/chat/ChatAgent.java[`src/main/java/dev/langchain4j/example/chat/ChatAgent.java`] file. +See the {example-location}/src/main/java/dev/langchain4j/example/chat/ChatAgent.java[src/main/java/dev/langchain4j/example/chat/ChatAgent.java] file. [source, java, role="no_copy"] ---- public Assistant getAssistant() { @@ -193,7 +193,7 @@ See the {example-location}/src/main/java/dev/langchain4j/example/chat/ChatAgent. } ---- -Through the customized {example-location}/src/main/java/dev/langchain4j/example/chat/ChatAgent.java[`Assistant`] interface, the application can send messages to the LLM by its `chat()` method. +Through the customized {example-location}/src/main/java/dev/langchain4j/example/chat/ChatAgent.java[Assistant] interface, the application can send messages to the LLM by its `chat()` method. ---- interface Assistant { @@ -206,7 +206,7 @@ Through the customized {example-location}/src/main/java/dev/langchain4j/example/ An API key is required to access the model. For security purposes, the key is not hardcoded in the code. The application externalizes the API key and the LangChain4j model properties with the MicroProfile Config feature that helps the application to run in different environments without code changes. You can learn more from the https://openliberty.io/docs/latest/external-configuration.html[External configuration of microservices] document. -See the {example-location}/src/main/java/dev/langchain4j/example/chat/ChatAgent.java[`src/main/java/dev/langchain4j/example/chat/ChatAgent.java`] file. +See the {example-location}/src/main/java/dev/langchain4j/example/chat/ChatAgent.java[src/main/java/dev/langchain4j/example/chat/ChatAgent.java] file. [source, java, role="no_copy"] ---- @Inject @@ -234,7 +234,7 @@ See the {example-location}/src/main/java/dev/langchain4j/example/chat/ChatAgent. private Integer MAX_MESSAGES; ---- -To fine tune the LangChain4j model or even try out another LLM, you simply update the values in the {example-location}/src/main/resources/META-INF/microprofile-config.properties[`langchain4j-examples/jakartaee-microprofile-example/src/main/resources/META-INF/microprofile-config.properties`] file or provide them through the environment variables. +To fine tune the LangChain4j model or even try out another LLM, you simply update the values in the {example-location}/src/main/resources/META-INF/microprofile-config.properties[langchain4j-examples/jakartaee-microprofile-example/src/main/resources/META-INF/microprofile-config.properties] file or provide them through the environment variables. ---- hugging.face.api.key=set it by env variable @@ -250,7 +250,7 @@ chat.memory.max.messages=20 The application provides the interactive UI client for users to communicate with the LLM. Jakarta WebSocket enables two-way communication between the client and the `ChatService` service. Each client makes an HTTP connection to the service and send out the messages by the `send()` method. -See the {example-location}/src/main/webapp/chatroom.js[`src/main/webapp/chatroom.js`] file. +See the {example-location}/src/main/webapp/chatroom.js[src/main/webapp/chatroom.js] file. [source, java, role="no_copy"] ---- const webSocket = new WebSocket('ws://localhost:9080/chat'); @@ -266,7 +266,7 @@ See the {example-location}/src/main/webapp/chatroom.js[`src/main/webapp/chatroom The service receives the user messages through the WebSocket `onMessage()` method, forwards them to the LLM by calling the `ChatAgent.chat()` method, and then broadcasts the LLM answers back to the client session through the `sendObect()` method. -See the {example-location}/src/main/java/dev/langchain4j/example/chat/ChatService.java[`src/main/java/dev/langchain4j/example/chat/ChatService.java`] file. +See the {example-location}/src/main/java/dev/langchain4j/example/chat/ChatService.java[src/main/java/dev/langchain4j/example/chat/ChatService.java] file. [source, java, role="no_copy"] ---- @OnMessage @@ -293,7 +293,7 @@ See the {example-location}/src/main/java/dev/langchain4j/example/chat/ChatServic To determine the performance and health of the application, it uses the MicroProfile Metrics feature to collect how much processing time is needed for a chat by applying the `@Timed` annotation to the `onMessage()` method. -See the {example-location}/src/main/java/dev/langchain4j/example/chat/ChatService.java[`src/main/java/dev/langchain4j/example/chat/ChatService.java`] file. +See the {example-location}/src/main/java/dev/langchain4j/example/chat/ChatService.java[src/main/java/dev/langchain4j/example/chat/ChatService.java] file. [source, java, role="no_copy"] ---- @OnMessage @@ -323,7 +323,7 @@ chatProcessingTime_seconds_sum{mp_scope="application",} 31.674357666 chatProcessingTime_seconds_max{mp_scope="application",} 13.191547042 ---- -If you are interested in other ways to use the LangChain4j APIs, you can study the REST APIs that are provided by the {example-location}/src/main/java/dev/langchain4j/example/rest/ModelResource.java[`src/main/java/dev/langchain4j/example/rest/ModelResource.java`] file. +If you are interested in other ways to use the LangChain4j APIs, you can study the REST APIs that are provided by the {example-location}/src/main/java/dev/langchain4j/example/rest/ModelResource.java[src/main/java/dev/langchain4j/example/rest/ModelResource.java] file. [#where_to_next] From bc144f75dd95681a39fae93b8d2d64364e30d855 Mon Sep 17 00:00:00 2001 From: David Mueller Date: Fri, 29 Mar 2024 16:50:31 -0400 Subject: [PATCH 64/67] Delete 2024-04-01-open-liberty-with-langchain4j-example.adoc --- ...open-liberty-with-langchain4j-example.adoc | 341 ------------------ 1 file changed, 341 deletions(-) delete mode 100644 posts/2024-04-01-open-liberty-with-langchain4j-example.adoc diff --git a/posts/2024-04-01-open-liberty-with-langchain4j-example.adoc b/posts/2024-04-01-open-liberty-with-langchain4j-example.adoc deleted file mode 100644 index ebf685559..000000000 --- a/posts/2024-04-01-open-liberty-with-langchain4j-example.adoc +++ /dev/null @@ -1,341 +0,0 @@ ---- -layout: post -title: "Run AI-enabled Jakarta EE and MicroProfile applications on Open Liberty -# Do NOT change the categories section -categories: blog -author_picture: https://avatars3.githubusercontent.com/gkwan-ibm -author_github: https://github.com/gkwan-ibm -seo-title: Run AI-enabled Jakarta EE and MicroProfile applications on Open Liberty -seo-description: Experience AI technology in Jakarta EE and MicroProfile applications that run on Open Liberty by using LangChain4j APIs. -blog_description: "Experience AI technology in Jakarta EE and MicroProfile applications that run on Open Liberty by using LangChain4j APIs." -open-graph-image: https://openliberty.io/img/twitter_card.jpg -open-graph-image-alt: Open Liberty Logo -additional_authors: -- name: Grace Jansen - github: https://github.com/GraceJansen - image: https://avatars0.githubusercontent.com/GraceJansen ---- -= Run AI-enabled Jakarta EE and MicroProfile applications on Open Liberty -Gilbert Kwan -:imagesdir: / -:url-prefix: -:url-about: / - -:example-location: https://github.com/langchain4j/langchain4j-examples/tree/main/jakartaee-microprofile-example - - -Artificial Intelligence (AI) is an exciting and disruptive field that is already transforming businesses, and even entire industries, by enabling automation, improving decision-making and unlocking new insights from data. With the rise in large language models (LLMs) such as ChatGPT, there is a significant shift in the performance of AI and its potential to drive enterprise value. So, how will this impact on software development and the creation of cloud-native Java applications for enterprises? - -In this post, we'll explore what LLMs are and how to use them in Java applications. We'll also get started using them in an example Jakarta EE/MicroProfile app. - -* <> -* <> -* <> -* <> -* <> - -[#what_Are_LLMs] -== What are LLMs? - -A language model is a model of natural language based on probabilities. They are able to generate probabilities of a series of words together. https://www.ibm.com/topics/large-language-models[Large language models (LLMs)] are simply language models that are categorized by their large size. They are trained on immense amounts of data, possibly billions of parameters, by using self-supervised and semi-supervised learning techniques. This training enables them to generate natural language and other types of content to perform a wide range of tasks. - -See the following introductory video for more information on LLMs, including what they are, how they work, and their business applications. - -video::5sLYAQS9sWQ[youtube, width="560", height="315", align="center"] - -You can find LLMs in the service offerings of almost all of the major cloud service providers. For example, IBM offers models through its link:https://www.ibm.com/watsonx[watsonx] services, link:https://azure.microsoft.com/en-us/solutions/ai[Microsoft Azure] offers LLMs like Llama 2 and OpenAI GPT-4, and link:https://aws.amazon.com/bedrock/[Amazon Bedrock] offers models from a range of AI companies. - -[#Java_LLMs] -== How can we take advantage of LLMs in Java applications? - -Integrating AI/LLM capabilities into an application can be challenging. The open source LangChain framework was developed in 2022 to help streamline the process of creating generative AI apps. - -LangChain provides tools and abstractions to improve the customization, accuracy, and relevancy of the information the models generate. For example, developers can use LangChain components to build new prompt chains or customize existing templates. LangChain also includes components that allow LLMs to access new data sets without retraining and organizes the large quantities of data these models require so that they can be accessed with ease. - -Although LangChain is primarily available in Python and JavaScript/TypeScript versions, options are available to use LangChain in Java applications through community projects like https://github.com/langchain4j/langchain4j[LangChain4j]. LangChain4j APIs can help integrate LLMs into your Java application for different AI platforms, such as OpenAI and Hugging Face. - -image::/img/blog/langchain4j.png[langchain4j GitHub README image,width=70%,align="center"] - -[#using_Langchain4j] -== How to use LangChain4j in a Jakarta EE and MicroProfile application - -Langchain4j has a useful open source https://github.com/langchain4j/langchain4j-examples[langchain4j-examples] GitHub repository where it stores example applications. However, we could not find any examples showcasing how you could experience these AI technologies in a Jakarta EE or MicroProfile based application. So, we decided to build one ourselves called `jakartaee-microprofile-example`, which can now be found in this https://github.com/langchain4j/langchain4j-examples/tree/main/jakartaee-microprofile-example[langchain4j-examples] GitHub repository. This demo application highlights how to use LangChain4j APIs in an application by using Jakarta EE and MicroProfile on Open Liberty. - - -[#tryout] -== Try out the jakartaee-microprofile-example application - -To see how you can apply LangChain4j to your own Jakarta EE and MicroProfile applications, check out this example project for yourself. - -[#pre-reqs] -=== Prerequisites -Before you clone the application to your machine, install JDK 17, and ensure that your `JAVA_HOME` environment variable is set. You can use the https://developer.ibm.com/languages/java/semeru-runtimes/downloads[IBM Semeru Runtime] as your chosen Java runtime. This runtime offers performance benefits from deep technology investment in projects such as Eclipse OpenJ9 and is available across a wide variety of hardware and software platforms. To find out more about IBM Semeru Runtime, see https://openliberty.io/blog/2022/08/19/open-liberty-semeru-performance.html[Open Liberty and Semeru Runtimes, cloud-native performance that matters]. - -The application uses Hugging Face. You need to get a Hugging Face API Key: - -* Sign up and log in to https://huggingface.co -* Go to the link:https://huggingface.co/settings/tokens[Access Tokens page] -* Create an access token with `read` role - -To access the repository remotely, install https://git-scm.com/book/en/v2/Getting-Started-Installing-Git[Git] if you haven't already. You can clone the `langchain4j-examples` GitHub repository to your local machine by running the following command: - -[source] ----- -git clone https://github.com/langchain4j/langchain4j-examples.git ----- - -[#env_setup] -=== Environment setup - -To run the application, navigate to the `jakartaee-microprofile-example` directory: - -[source] ----- -cd langchain4j-examples/jakartaee-microprofile-example ----- - -Set the following environment variables: - -[source] ----- -export JAVA_HOME= -export HUGGING_FACE_API_KEY= ----- - -[#start_app] -=== Start the application - -To start the application, use the provided Maven wrapper to run Open Liberty in https://openliberty.io/docs/latest/development-mode.html[dev mode]: - - -[source] ----- -./mvnw liberty:dev ----- - -After you see the following message, the application is ready: - ----- -************************************************************************ -* Liberty is running in dev mode. -* Automatic generation of features: [ Off ] -* h - see the help menu for available actions, type 'h' and press Enter. -* q - stop the server and quit dev mode, press Ctrl-C or type 'q' and press Enter. -* -* Liberty server port information: -* Liberty server HTTP port: [ 9080 ] -* Liberty server HTTPS port: [ 9443 ] -* Liberty debug port: [ 7777 ] -************************************************************************ ----- - -To ensure that the application started successfully, you can run the tests by pressing the `enter/return` key from the command-line session. If the tests pass, you can see output similar to the following example: - ----- -[INFO] ------------------------------------------------------- -[INFO] T E S T S -[INFO] ------------------------------------------------------- -[INFO] Running it.dev.langchan4j.example.ChatServiceIT -[INFO] ... -[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.439 s... -[INFO] ... -[INFO] Running it.dev.langchan4j.example.ModelResourceIT -[INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.733 s... -[INFO] -[INFO] Results: -[INFO] -[INFO] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0 ----- - -[#access_app] -=== Access the application - -After the application is running, you can access it through a browser of your choice at http://localhost:9080/ and start experimenting with it. - -image::/img/blog/langchain4j-example-chat-room.png[Chat Room of LangChain4j Jakarta EE and MicroProfile example,width=70%,align="center"] - -You can type in any text that you want to chat with the AI agent. Here are some suggested messages: - -* `What is MicroProfile?` -* `Which top 10 companies contribute MicroProfile?` -* `Any documentation?` - - -[#how_app_work] -== How does the application work? - -The application demonstrates how to use the LangChain4j APIs, https://openliberty.io/docs/ref/feature/#cdi-4.0.html[Jakarta Contexts and Dependency Injection], https://openliberty.io/docs/latest/reference/feature/websocket-2.1.html[Jakarta WebSocket], https://openliberty.io/docs/ref/feature/#mpConfig-3.0.html[MicroProfile Config], and https://openliberty.io/docs/latest/reference/feature/mpMetrics-5.1.html[MicroProfile Metrics] features. - -[#create_service] -=== Creating the LangChain4j AI service - -The application uses the `HuggingFaceChatModel` class to provide the model for building the AI service. - -See the {example-location}/src/main/java/dev/langchain4j/example/chat/ChatAgent.java[src/main/java/dev/langchain4j/example/chat/ChatAgent.java] file. -[source, java, role="no_copy"] ----- - public Assistant getAssistant() { - ... - HuggingFaceChatModel model = HuggingFaceChatModel.builder() - .accessToken(HUGGING_FACE_API_KEY) - .modelId(CHAT_MODEL_ID) - .timeout(ofSeconds(TIMEOUT)) - .temperature(TEMPERATURE) - .maxNewTokens(MAX_NEW_TOKEN) - .waitForModel(true) - .build(); - assistant = AiServices.builder(Assistant.class) - .chatLanguageModel(model) - .chatMemoryProvider( - sessionId -> MessageWindowChatMemory.withMaxMessages(MAX_MESSAGES)) - .build(); - ... - } ----- - -Through the customized {example-location}/src/main/java/dev/langchain4j/example/chat/ChatAgent.java[Assistant] interface, the application can send messages to the LLM by its `chat()` method. - ----- - interface Assistant { - String chat(@MemoryId String sessionId, @UserMessage String userMessage); - } ----- - -[#external_config] -=== Externalizing the configuration - -An API key is required to access the model. For security purposes, the key is not hardcoded in the code. The application externalizes the API key and the LangChain4j model properties with the MicroProfile Config feature that helps the application to run in different environments without code changes. You can learn more from the https://openliberty.io/docs/latest/external-configuration.html[External configuration of microservices] document. - -See the {example-location}/src/main/java/dev/langchain4j/example/chat/ChatAgent.java[src/main/java/dev/langchain4j/example/chat/ChatAgent.java] file. -[source, java, role="no_copy"] ----- - @Inject - @ConfigProperty(name = "hugging.face.api.key") - private String HUGGING_FACE_API_KEY; - - @Inject - @ConfigProperty(name = "chat.model.id") - private String CHAT_MODEL_ID; - - @Inject - @ConfigProperty(name = "chat.model.timeout") - private Integer TIMEOUT; - - @Inject - @ConfigProperty(name = "chat.model.max.token") - private Integer MAX_NEW_TOKEN; - - @Inject - @ConfigProperty(name = "chat.model.temperature") - private Double TEMPERATURE; - - @Inject - @ConfigProperty(name = "chat.memory.max.messages") - private Integer MAX_MESSAGES; ----- - -To fine tune the LangChain4j model or even try out another LLM, you simply update the values in the {example-location}/src/main/resources/META-INF/microprofile-config.properties[langchain4j-examples/jakartaee-microprofile-example/src/main/resources/META-INF/microprofile-config.properties] file or provide them through the environment variables. - ----- -hugging.face.api.key=set it by env variable -chat.model.id=NousResearch/Nous-Hermes-2-Mixtral-8x7B-DPO -chat.model.timeout=120 -chat.model.max.token=200 -chat.model.temperature=1.0 -chat.memory.max.messages=20 ----- - -[#communicate] -=== Communicating between the client and LLM - -The application provides the interactive UI client for users to communicate with the LLM. Jakarta WebSocket enables two-way communication between the client and the `ChatService` service. Each client makes an HTTP connection to the service and send out the messages by the `send()` method. - -See the {example-location}/src/main/webapp/chatroom.js[src/main/webapp/chatroom.js] file. -[source, java, role="no_copy"] ----- - const webSocket = new WebSocket('ws://localhost:9080/chat'); - ... - function sendMessage() { - ... - var myMessage = document.getElementById('myMessage').value; - ... - webSocket.send(myMessage); - ... - } ----- - -The service receives the user messages through the WebSocket `onMessage()` method, forwards them to the LLM by calling the `ChatAgent.chat()` method, and then broadcasts the LLM answers back to the client session through the `sendObect()` method. - -See the {example-location}/src/main/java/dev/langchain4j/example/chat/ChatService.java[src/main/java/dev/langchain4j/example/chat/ChatService.java] file. -[source, java, role="no_copy"] ----- - @OnMessage - public void onMessage(String message, Session session) { - ... - try { - ... - answer = agent.chat(sessionId, message); - } catch (Exception e) { - ... - } - - try { - session.getBasicRemote().sendObject(answer); - } catch (Exception e) { - e.printStackTrace(); - } - - } ----- - -[#enable_metrics] -=== Enabling metrics - -To determine the performance and health of the application, it uses the MicroProfile Metrics feature to collect how much processing time is needed for a chat by applying the `@Timed` annotation to the `onMessage()` method. - -See the {example-location}/src/main/java/dev/langchain4j/example/chat/ChatService.java[src/main/java/dev/langchain4j/example/chat/ChatService.java] file. -[source, java, role="no_copy"] ----- - @OnMessage - @Timed(name = "chatProcessingTime", - absolute = true, - description = "Time needed chatting to the agent.") - public void onMessage(String message, Session session) { - ... ----- - -It also collects how many agents are created by applying the `@Counted` annotation to the `AgentManager.createAgent()` method. - -Visit the url http://localhost:9080/metrics?scope=application to check out the metrics. ----- -# HELP chatProcessingTime_seconds Time needed chatting to the agent. -# TYPE chatProcessingTime_seconds summary -chatProcessingTime_seconds{mp_scope="application",quantile="0.5",} 0.0 -chatProcessingTime_seconds{mp_scope="application",quantile="0.75",} 0.0 -chatProcessingTime_seconds{mp_scope="application",quantile="0.95",} 0.0 -chatProcessingTime_seconds{mp_scope="application",quantile="0.98",} 0.0 -chatProcessingTime_seconds{mp_scope="application",quantile="0.99",} 0.0 -chatProcessingTime_seconds{mp_scope="application",quantile="0.999",} 0.0 -chatProcessingTime_seconds_count{mp_scope="application",} 6.0 -chatProcessingTime_seconds_sum{mp_scope="application",} 31.674357666 -# HELP chatProcessingTime_seconds_max Time needed chatting to the agent. -# TYPE chatProcessingTime_seconds_max gauge -chatProcessingTime_seconds_max{mp_scope="application",} 13.191547042 ----- - -If you are interested in other ways to use the LangChain4j APIs, you can study the REST APIs that are provided by the {example-location}/src/main/java/dev/langchain4j/example/rest/ModelResource.java[src/main/java/dev/langchain4j/example/rest/ModelResource.java] file. - - -[#where_to_next] -== Where to next? - -Check out the https://openliberty.io/guides/[Open Liberty guides] for more information and interactive tutorials that walk you through using more Jakarta EE and MicroProfile APIs with Open Liberty. - -[#help_links] -== Helpful links -* link:https://github.com/langchain4j[LangChain4j] -* link:https://huggingface.co/models[Hugging Face LLMs] -* link:https://openliberty.io/guides/jakarta-websocket.html[Bidirectional communication between services using Jakarta WebSocket] -* link:https://openliberty.io/guides/cdi-intro.html[Injecting dependencies into microservices] -* link:https://openliberty.io/guides/microprofile-config.html[Configuring microservices] -* link:https://openliberty.io/guides/microprofile-metrics.html[Providing metrics from a microservice] From 0fdb9cbb41bb997e906f78f45c5f241f76d2e8f5 Mon Sep 17 00:00:00 2001 From: David Mueller Date: Fri, 29 Mar 2024 19:26:08 -0400 Subject: [PATCH 65/67] Create 2024-04-01-open-liberty-with-langchain4j-example.adoc --- ...open-liberty-with-langchain4j-example.adoc | 341 ++++++++++++++++++ 1 file changed, 341 insertions(+) create mode 100644 posts/2024-04-01-open-liberty-with-langchain4j-example.adoc diff --git a/posts/2024-04-01-open-liberty-with-langchain4j-example.adoc b/posts/2024-04-01-open-liberty-with-langchain4j-example.adoc new file mode 100644 index 000000000..ebf685559 --- /dev/null +++ b/posts/2024-04-01-open-liberty-with-langchain4j-example.adoc @@ -0,0 +1,341 @@ +--- +layout: post +title: "Run AI-enabled Jakarta EE and MicroProfile applications on Open Liberty +# Do NOT change the categories section +categories: blog +author_picture: https://avatars3.githubusercontent.com/gkwan-ibm +author_github: https://github.com/gkwan-ibm +seo-title: Run AI-enabled Jakarta EE and MicroProfile applications on Open Liberty +seo-description: Experience AI technology in Jakarta EE and MicroProfile applications that run on Open Liberty by using LangChain4j APIs. +blog_description: "Experience AI technology in Jakarta EE and MicroProfile applications that run on Open Liberty by using LangChain4j APIs." +open-graph-image: https://openliberty.io/img/twitter_card.jpg +open-graph-image-alt: Open Liberty Logo +additional_authors: +- name: Grace Jansen + github: https://github.com/GraceJansen + image: https://avatars0.githubusercontent.com/GraceJansen +--- += Run AI-enabled Jakarta EE and MicroProfile applications on Open Liberty +Gilbert Kwan +:imagesdir: / +:url-prefix: +:url-about: / + +:example-location: https://github.com/langchain4j/langchain4j-examples/tree/main/jakartaee-microprofile-example + + +Artificial Intelligence (AI) is an exciting and disruptive field that is already transforming businesses, and even entire industries, by enabling automation, improving decision-making and unlocking new insights from data. With the rise in large language models (LLMs) such as ChatGPT, there is a significant shift in the performance of AI and its potential to drive enterprise value. So, how will this impact on software development and the creation of cloud-native Java applications for enterprises? + +In this post, we'll explore what LLMs are and how to use them in Java applications. We'll also get started using them in an example Jakarta EE/MicroProfile app. + +* <> +* <> +* <> +* <> +* <> + +[#what_Are_LLMs] +== What are LLMs? + +A language model is a model of natural language based on probabilities. They are able to generate probabilities of a series of words together. https://www.ibm.com/topics/large-language-models[Large language models (LLMs)] are simply language models that are categorized by their large size. They are trained on immense amounts of data, possibly billions of parameters, by using self-supervised and semi-supervised learning techniques. This training enables them to generate natural language and other types of content to perform a wide range of tasks. + +See the following introductory video for more information on LLMs, including what they are, how they work, and their business applications. + +video::5sLYAQS9sWQ[youtube, width="560", height="315", align="center"] + +You can find LLMs in the service offerings of almost all of the major cloud service providers. For example, IBM offers models through its link:https://www.ibm.com/watsonx[watsonx] services, link:https://azure.microsoft.com/en-us/solutions/ai[Microsoft Azure] offers LLMs like Llama 2 and OpenAI GPT-4, and link:https://aws.amazon.com/bedrock/[Amazon Bedrock] offers models from a range of AI companies. + +[#Java_LLMs] +== How can we take advantage of LLMs in Java applications? + +Integrating AI/LLM capabilities into an application can be challenging. The open source LangChain framework was developed in 2022 to help streamline the process of creating generative AI apps. + +LangChain provides tools and abstractions to improve the customization, accuracy, and relevancy of the information the models generate. For example, developers can use LangChain components to build new prompt chains or customize existing templates. LangChain also includes components that allow LLMs to access new data sets without retraining and organizes the large quantities of data these models require so that they can be accessed with ease. + +Although LangChain is primarily available in Python and JavaScript/TypeScript versions, options are available to use LangChain in Java applications through community projects like https://github.com/langchain4j/langchain4j[LangChain4j]. LangChain4j APIs can help integrate LLMs into your Java application for different AI platforms, such as OpenAI and Hugging Face. + +image::/img/blog/langchain4j.png[langchain4j GitHub README image,width=70%,align="center"] + +[#using_Langchain4j] +== How to use LangChain4j in a Jakarta EE and MicroProfile application + +Langchain4j has a useful open source https://github.com/langchain4j/langchain4j-examples[langchain4j-examples] GitHub repository where it stores example applications. However, we could not find any examples showcasing how you could experience these AI technologies in a Jakarta EE or MicroProfile based application. So, we decided to build one ourselves called `jakartaee-microprofile-example`, which can now be found in this https://github.com/langchain4j/langchain4j-examples/tree/main/jakartaee-microprofile-example[langchain4j-examples] GitHub repository. This demo application highlights how to use LangChain4j APIs in an application by using Jakarta EE and MicroProfile on Open Liberty. + + +[#tryout] +== Try out the jakartaee-microprofile-example application + +To see how you can apply LangChain4j to your own Jakarta EE and MicroProfile applications, check out this example project for yourself. + +[#pre-reqs] +=== Prerequisites +Before you clone the application to your machine, install JDK 17, and ensure that your `JAVA_HOME` environment variable is set. You can use the https://developer.ibm.com/languages/java/semeru-runtimes/downloads[IBM Semeru Runtime] as your chosen Java runtime. This runtime offers performance benefits from deep technology investment in projects such as Eclipse OpenJ9 and is available across a wide variety of hardware and software platforms. To find out more about IBM Semeru Runtime, see https://openliberty.io/blog/2022/08/19/open-liberty-semeru-performance.html[Open Liberty and Semeru Runtimes, cloud-native performance that matters]. + +The application uses Hugging Face. You need to get a Hugging Face API Key: + +* Sign up and log in to https://huggingface.co +* Go to the link:https://huggingface.co/settings/tokens[Access Tokens page] +* Create an access token with `read` role + +To access the repository remotely, install https://git-scm.com/book/en/v2/Getting-Started-Installing-Git[Git] if you haven't already. You can clone the `langchain4j-examples` GitHub repository to your local machine by running the following command: + +[source] +---- +git clone https://github.com/langchain4j/langchain4j-examples.git +---- + +[#env_setup] +=== Environment setup + +To run the application, navigate to the `jakartaee-microprofile-example` directory: + +[source] +---- +cd langchain4j-examples/jakartaee-microprofile-example +---- + +Set the following environment variables: + +[source] +---- +export JAVA_HOME= +export HUGGING_FACE_API_KEY= +---- + +[#start_app] +=== Start the application + +To start the application, use the provided Maven wrapper to run Open Liberty in https://openliberty.io/docs/latest/development-mode.html[dev mode]: + + +[source] +---- +./mvnw liberty:dev +---- + +After you see the following message, the application is ready: + +---- +************************************************************************ +* Liberty is running in dev mode. +* Automatic generation of features: [ Off ] +* h - see the help menu for available actions, type 'h' and press Enter. +* q - stop the server and quit dev mode, press Ctrl-C or type 'q' and press Enter. +* +* Liberty server port information: +* Liberty server HTTP port: [ 9080 ] +* Liberty server HTTPS port: [ 9443 ] +* Liberty debug port: [ 7777 ] +************************************************************************ +---- + +To ensure that the application started successfully, you can run the tests by pressing the `enter/return` key from the command-line session. If the tests pass, you can see output similar to the following example: + +---- +[INFO] ------------------------------------------------------- +[INFO] T E S T S +[INFO] ------------------------------------------------------- +[INFO] Running it.dev.langchan4j.example.ChatServiceIT +[INFO] ... +[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.439 s... +[INFO] ... +[INFO] Running it.dev.langchan4j.example.ModelResourceIT +[INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.733 s... +[INFO] +[INFO] Results: +[INFO] +[INFO] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0 +---- + +[#access_app] +=== Access the application + +After the application is running, you can access it through a browser of your choice at http://localhost:9080/ and start experimenting with it. + +image::/img/blog/langchain4j-example-chat-room.png[Chat Room of LangChain4j Jakarta EE and MicroProfile example,width=70%,align="center"] + +You can type in any text that you want to chat with the AI agent. Here are some suggested messages: + +* `What is MicroProfile?` +* `Which top 10 companies contribute MicroProfile?` +* `Any documentation?` + + +[#how_app_work] +== How does the application work? + +The application demonstrates how to use the LangChain4j APIs, https://openliberty.io/docs/ref/feature/#cdi-4.0.html[Jakarta Contexts and Dependency Injection], https://openliberty.io/docs/latest/reference/feature/websocket-2.1.html[Jakarta WebSocket], https://openliberty.io/docs/ref/feature/#mpConfig-3.0.html[MicroProfile Config], and https://openliberty.io/docs/latest/reference/feature/mpMetrics-5.1.html[MicroProfile Metrics] features. + +[#create_service] +=== Creating the LangChain4j AI service + +The application uses the `HuggingFaceChatModel` class to provide the model for building the AI service. + +See the {example-location}/src/main/java/dev/langchain4j/example/chat/ChatAgent.java[src/main/java/dev/langchain4j/example/chat/ChatAgent.java] file. +[source, java, role="no_copy"] +---- + public Assistant getAssistant() { + ... + HuggingFaceChatModel model = HuggingFaceChatModel.builder() + .accessToken(HUGGING_FACE_API_KEY) + .modelId(CHAT_MODEL_ID) + .timeout(ofSeconds(TIMEOUT)) + .temperature(TEMPERATURE) + .maxNewTokens(MAX_NEW_TOKEN) + .waitForModel(true) + .build(); + assistant = AiServices.builder(Assistant.class) + .chatLanguageModel(model) + .chatMemoryProvider( + sessionId -> MessageWindowChatMemory.withMaxMessages(MAX_MESSAGES)) + .build(); + ... + } +---- + +Through the customized {example-location}/src/main/java/dev/langchain4j/example/chat/ChatAgent.java[Assistant] interface, the application can send messages to the LLM by its `chat()` method. + +---- + interface Assistant { + String chat(@MemoryId String sessionId, @UserMessage String userMessage); + } +---- + +[#external_config] +=== Externalizing the configuration + +An API key is required to access the model. For security purposes, the key is not hardcoded in the code. The application externalizes the API key and the LangChain4j model properties with the MicroProfile Config feature that helps the application to run in different environments without code changes. You can learn more from the https://openliberty.io/docs/latest/external-configuration.html[External configuration of microservices] document. + +See the {example-location}/src/main/java/dev/langchain4j/example/chat/ChatAgent.java[src/main/java/dev/langchain4j/example/chat/ChatAgent.java] file. +[source, java, role="no_copy"] +---- + @Inject + @ConfigProperty(name = "hugging.face.api.key") + private String HUGGING_FACE_API_KEY; + + @Inject + @ConfigProperty(name = "chat.model.id") + private String CHAT_MODEL_ID; + + @Inject + @ConfigProperty(name = "chat.model.timeout") + private Integer TIMEOUT; + + @Inject + @ConfigProperty(name = "chat.model.max.token") + private Integer MAX_NEW_TOKEN; + + @Inject + @ConfigProperty(name = "chat.model.temperature") + private Double TEMPERATURE; + + @Inject + @ConfigProperty(name = "chat.memory.max.messages") + private Integer MAX_MESSAGES; +---- + +To fine tune the LangChain4j model or even try out another LLM, you simply update the values in the {example-location}/src/main/resources/META-INF/microprofile-config.properties[langchain4j-examples/jakartaee-microprofile-example/src/main/resources/META-INF/microprofile-config.properties] file or provide them through the environment variables. + +---- +hugging.face.api.key=set it by env variable +chat.model.id=NousResearch/Nous-Hermes-2-Mixtral-8x7B-DPO +chat.model.timeout=120 +chat.model.max.token=200 +chat.model.temperature=1.0 +chat.memory.max.messages=20 +---- + +[#communicate] +=== Communicating between the client and LLM + +The application provides the interactive UI client for users to communicate with the LLM. Jakarta WebSocket enables two-way communication between the client and the `ChatService` service. Each client makes an HTTP connection to the service and send out the messages by the `send()` method. + +See the {example-location}/src/main/webapp/chatroom.js[src/main/webapp/chatroom.js] file. +[source, java, role="no_copy"] +---- + const webSocket = new WebSocket('ws://localhost:9080/chat'); + ... + function sendMessage() { + ... + var myMessage = document.getElementById('myMessage').value; + ... + webSocket.send(myMessage); + ... + } +---- + +The service receives the user messages through the WebSocket `onMessage()` method, forwards them to the LLM by calling the `ChatAgent.chat()` method, and then broadcasts the LLM answers back to the client session through the `sendObect()` method. + +See the {example-location}/src/main/java/dev/langchain4j/example/chat/ChatService.java[src/main/java/dev/langchain4j/example/chat/ChatService.java] file. +[source, java, role="no_copy"] +---- + @OnMessage + public void onMessage(String message, Session session) { + ... + try { + ... + answer = agent.chat(sessionId, message); + } catch (Exception e) { + ... + } + + try { + session.getBasicRemote().sendObject(answer); + } catch (Exception e) { + e.printStackTrace(); + } + + } +---- + +[#enable_metrics] +=== Enabling metrics + +To determine the performance and health of the application, it uses the MicroProfile Metrics feature to collect how much processing time is needed for a chat by applying the `@Timed` annotation to the `onMessage()` method. + +See the {example-location}/src/main/java/dev/langchain4j/example/chat/ChatService.java[src/main/java/dev/langchain4j/example/chat/ChatService.java] file. +[source, java, role="no_copy"] +---- + @OnMessage + @Timed(name = "chatProcessingTime", + absolute = true, + description = "Time needed chatting to the agent.") + public void onMessage(String message, Session session) { + ... +---- + +It also collects how many agents are created by applying the `@Counted` annotation to the `AgentManager.createAgent()` method. + +Visit the url http://localhost:9080/metrics?scope=application to check out the metrics. +---- +# HELP chatProcessingTime_seconds Time needed chatting to the agent. +# TYPE chatProcessingTime_seconds summary +chatProcessingTime_seconds{mp_scope="application",quantile="0.5",} 0.0 +chatProcessingTime_seconds{mp_scope="application",quantile="0.75",} 0.0 +chatProcessingTime_seconds{mp_scope="application",quantile="0.95",} 0.0 +chatProcessingTime_seconds{mp_scope="application",quantile="0.98",} 0.0 +chatProcessingTime_seconds{mp_scope="application",quantile="0.99",} 0.0 +chatProcessingTime_seconds{mp_scope="application",quantile="0.999",} 0.0 +chatProcessingTime_seconds_count{mp_scope="application",} 6.0 +chatProcessingTime_seconds_sum{mp_scope="application",} 31.674357666 +# HELP chatProcessingTime_seconds_max Time needed chatting to the agent. +# TYPE chatProcessingTime_seconds_max gauge +chatProcessingTime_seconds_max{mp_scope="application",} 13.191547042 +---- + +If you are interested in other ways to use the LangChain4j APIs, you can study the REST APIs that are provided by the {example-location}/src/main/java/dev/langchain4j/example/rest/ModelResource.java[src/main/java/dev/langchain4j/example/rest/ModelResource.java] file. + + +[#where_to_next] +== Where to next? + +Check out the https://openliberty.io/guides/[Open Liberty guides] for more information and interactive tutorials that walk you through using more Jakarta EE and MicroProfile APIs with Open Liberty. + +[#help_links] +== Helpful links +* link:https://github.com/langchain4j[LangChain4j] +* link:https://huggingface.co/models[Hugging Face LLMs] +* link:https://openliberty.io/guides/jakarta-websocket.html[Bidirectional communication between services using Jakarta WebSocket] +* link:https://openliberty.io/guides/cdi-intro.html[Injecting dependencies into microservices] +* link:https://openliberty.io/guides/microprofile-config.html[Configuring microservices] +* link:https://openliberty.io/guides/microprofile-metrics.html[Providing metrics from a microservice] From cf4898d17c6fdf683c45308b4c0cbc4210707552 Mon Sep 17 00:00:00 2001 From: David Mueller Date: Mon, 1 Apr 2024 08:21:36 -0400 Subject: [PATCH 66/67] Update 2024-04-01-open-liberty-with-langchain4j-example.adoc --- posts/2024-04-01-open-liberty-with-langchain4j-example.adoc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/posts/2024-04-01-open-liberty-with-langchain4j-example.adoc b/posts/2024-04-01-open-liberty-with-langchain4j-example.adoc index ebf685559..011c43a6a 100644 --- a/posts/2024-04-01-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-04-01-open-liberty-with-langchain4j-example.adoc @@ -1,6 +1,6 @@ --- layout: post -title: "Run AI-enabled Jakarta EE and MicroProfile applications on Open Liberty +title: "Run AI-enabled Jakarta EE and MicroProfile applications on Open Liberty" # Do NOT change the categories section categories: blog author_picture: https://avatars3.githubusercontent.com/gkwan-ibm @@ -20,7 +20,6 @@ Gilbert Kwan :imagesdir: / :url-prefix: :url-about: / - :example-location: https://github.com/langchain4j/langchain4j-examples/tree/main/jakartaee-microprofile-example From c6a848a742cf5cdb258f127fbfa6505d24e5d17c Mon Sep 17 00:00:00 2001 From: David Mueller Date: Mon, 1 Apr 2024 09:37:45 -0400 Subject: [PATCH 67/67] edits per review --- ...-open-liberty-with-langchain4j-example.adoc | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/posts/2024-04-01-open-liberty-with-langchain4j-example.adoc b/posts/2024-04-01-open-liberty-with-langchain4j-example.adoc index 011c43a6a..c389e33bf 100644 --- a/posts/2024-04-01-open-liberty-with-langchain4j-example.adoc +++ b/posts/2024-04-01-open-liberty-with-langchain4j-example.adoc @@ -192,7 +192,7 @@ See the {example-location}/src/main/java/dev/langchain4j/example/chat/ChatAgent. } ---- -Through the customized {example-location}/src/main/java/dev/langchain4j/example/chat/ChatAgent.java[Assistant] interface, the application can send messages to the LLM by its `chat()` method. +Through the customized `Assistant` interface, the application can send messages to the LLM by its `chat()` method. ---- interface Assistant { @@ -203,7 +203,7 @@ Through the customized {example-location}/src/main/java/dev/langchain4j/example/ [#external_config] === Externalizing the configuration -An API key is required to access the model. For security purposes, the key is not hardcoded in the code. The application externalizes the API key and the LangChain4j model properties with the MicroProfile Config feature that helps the application to run in different environments without code changes. You can learn more from the https://openliberty.io/docs/latest/external-configuration.html[External configuration of microservices] document. +An API key is required to access the model. For security purposes, the key is not hardcoded in the code. The application externalizes the API key and the LangChain4j model properties with the MicroProfile Config feature that helps the application to run in different environments without code changes. You can learn more from the https://openliberty.io/docs/latest/external-configuration.html[External configuration of microservices^] document. See the {example-location}/src/main/java/dev/langchain4j/example/chat/ChatAgent.java[src/main/java/dev/langchain4j/example/chat/ChatAgent.java] file. [source, java, role="no_copy"] @@ -303,9 +303,7 @@ See the {example-location}/src/main/java/dev/langchain4j/example/chat/ChatServic ... ---- -It also collects how many agents are created by applying the `@Counted` annotation to the `AgentManager.createAgent()` method. - -Visit the url http://localhost:9080/metrics?scope=application to check out the metrics. +Visit the http://localhost:9080/metrics?scope=application URL to check out the metrics. ---- # HELP chatProcessingTime_seconds Time needed chatting to the agent. # TYPE chatProcessingTime_seconds summary @@ -328,13 +326,13 @@ If you are interested in other ways to use the LangChain4j APIs, you can study t [#where_to_next] == Where to next? -Check out the https://openliberty.io/guides/[Open Liberty guides] for more information and interactive tutorials that walk you through using more Jakarta EE and MicroProfile APIs with Open Liberty. +Check out the link:https://openliberty.io/guides/[Open Liberty guides^] for more information and interactive tutorials that walk you through using more Jakarta EE and MicroProfile APIs with Open Liberty. [#help_links] == Helpful links * link:https://github.com/langchain4j[LangChain4j] * link:https://huggingface.co/models[Hugging Face LLMs] -* link:https://openliberty.io/guides/jakarta-websocket.html[Bidirectional communication between services using Jakarta WebSocket] -* link:https://openliberty.io/guides/cdi-intro.html[Injecting dependencies into microservices] -* link:https://openliberty.io/guides/microprofile-config.html[Configuring microservices] -* link:https://openliberty.io/guides/microprofile-metrics.html[Providing metrics from a microservice] +* link:https://openliberty.io/guides/jakarta-websocket.html[Bidirectional communication between services using Jakarta WebSocket^] +* link:https://openliberty.io/guides/cdi-intro.html[Injecting dependencies into microservices^] +* link:https://openliberty.io/guides/microprofile-config.html[Configuring microservices^] +* link:https://openliberty.io/guides/microprofile-metrics.html[Providing metrics from a microservice^]