From 0275e7b78fbf4847c1d8dde190b3282e9183dc39 Mon Sep 17 00:00:00 2001 From: derickson Date: Fri, 23 Feb 2024 09:45:02 -0500 Subject: [PATCH] pointer readme --- notebooks/generative-ai-workshop/README.md | 24 ++++++++++++++++++ .../generative-ai-workshop/architecture.jpg | Bin 0 -> 26937 bytes 2 files changed, 24 insertions(+) create mode 100644 notebooks/generative-ai-workshop/README.md create mode 100644 notebooks/generative-ai-workshop/architecture.jpg diff --git a/notebooks/generative-ai-workshop/README.md b/notebooks/generative-ai-workshop/README.md new file mode 100644 index 0000000..2ee2bab --- /dev/null +++ b/notebooks/generative-ai-workshop/README.md @@ -0,0 +1,24 @@ +# GenAI Dev Workshop + +The Elastic Solutions Architecture and Customer Engineering teams run a three-hour hands-on workshop for technical teams starting their GenAI journeys and looking for a hands-on crash course working with LLMs and learning about building RAG solutions on their private data. + +In the spirit of openness ... please find the agenda and a link to the Python notebook-based exercises. Because this workshop relies on an Elastic-managed back-end environment, the code assumes you have access to a temporary key issued by our Solutions Architecture team. Send us a [contact form](https://www.elastic.co/contact?baymax=rtp&rogue=eswt-1165-b#questions) to reach and we'd be happy to direct you to the next public run of the workshop or help you get a temp key to check out the labs on your own. + +![architecture](architecture.jpg) + +* Part 1 – Welcome and Introduction to Generative AI + * Lab - Using Transformers +* Part 2 – Prompt Engineering and Privacy + * Lab - Basic ChatBots + * Lab - NER / APM in a Customer Support Prompt +* Part 3 - Vectors and Chunking + * Lab - Understanding and Generating Vectors +* Part 4 - Search Powered AI + * Lab - RAG Application +* Part 5 - Understanding and Monitoring Costs + +### Notebook Links + +[Google Colab version](https://github.com/elastic/genai-workshop-colab/tree/wave2) + +[Github Codespaces version](https://github.com/elastic/genai-workshop-codespaces/tree/wave2) diff --git a/notebooks/generative-ai-workshop/architecture.jpg b/notebooks/generative-ai-workshop/architecture.jpg new file mode 100644 index 0000000000000000000000000000000000000000..af39b301f87067f4211bfa8721cc5e5322b48553 GIT binary patch literal 26937 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
P3O6x=)j4K^ z(sz5@O}H5637x{LMMf7^Rj^Ls@5&GnO5j_jI{P)BHyl`9y0Ur>i7D!|7R39KyhZ)f z9UokD6y6}LC=zG3eI*ySs?gH*T z!Y&JmX+RnNq|Ly#-U0ouN?#Fe>1n+;@dux7t*g6a9WSMtZJGX=uhbY@%)Ds~ zb2KBcTgc1l>}Tswa$3Yb{+ncf zgP_@JDO-NqcrvuwqKJV6ryV>#bxpn%zpdqqk)~NuImN)fZ%U_$R8@yAe)fv3A%vDr za@=^Mm-&{ij|?jYK}fgS6axY2e0_QsT6f(?w>w+@YZHZ=d56I}Wb1@~*vU z*RgHGaH;?7M80iWwk|p_sMPKk5t;pqjU6oVQEg;7}$tej>$!+SEoPtZu6VlL+$17o02>FJ~Ra&O#w?hbtA}kId z#aa>vM_wXP!l`{uOEQl;AM~+xIxdMGKO1y`1;>)YBc4|Q88T6MlV2DvRM|~?_uwac zv_Wyl+HG|6b^)S}NkS1Rvt5zTm)z3IH>+AbEu!r8*g=F7DK@sydoFerbCM}ZBK07L zJ=%T-T)THhCF`_Rv331Gq765yrnGdet_)vLoSVUplkmoh+YUy1xtR8#U zm_pk-=GqB7&05V3#`2RB#cDUa%=Xf=GB~ARW1wiD%(1MYtc!+)ELAHV`#F?Hpc>vtFa()*w1QbjR{L z>wq;SAEAXRg>g%^L0K|314h?QZ>>-%JVQ}sUJb$fz}I9OnlD*ACx2Iuv+m6qh{^%u zn`FXI11pb1<0rvwG=*{J8*^(D)HSc&B>l8m)RRYXeuHObQRZ{>7@X9776VeWs| zHLn3QBYC;{g+4k-`QAIXe+U-oJ;v~@2;)Ypx5`=_seWjjLIlo0V0NWS;M^*@Jrdp) zefk_R89&b3aW(d)j)bXlx|tX?Pjo(_t*`Bnpb+IQCXa+h@E4@%Bv+UIQ0kRQV9A)p z5p#15K1nLM^3N;e%|g;u`7gmNGU;X83>?Is6-ao2B74~?)Ybdc^Mbp$(7>Zy1jk<7R6SrSdBy>gs9PvSn^8w zjBMts@I+NcSCYVGQ9EHUx>7P&gn;V{f709Ap28{6IS2u>1Rf^%u9d`Ia9oj)Epp@= z8jPQ-hVw-KB^-|R$f~gCwa?geG^Mg4g@m5?*)w2IEE+wcQHiX4;|(g5=o;Rn)j|=$ zwvEUqlu}Mx`aE*!IPN~8q)BE}#`EO{lL7m1XWvt_JILP_IOy?lo+*mv2sAfRa?oPY zf6F>bEfmVSe4!Q`bfs3w_r$x}o!p+>Ep76122ajblcZF)iOy;=J)5^GeoVJT!zm5m z*azSy#U8m8ibvU6Ox6Z>U1rl0U+uCxJ1S#!@b_2(bD!z6MbXg-FIx)l0hw7|cQ6M)?TOXg5obZKm`Tkt<*0ouQ8XOsQQ-eWKHE zV)&uhW~FkS?lhTy#LW6q4xg7uXh&&n+bn2KFn8(%CM^9FbdlbU^#lCeEcGHQe`POCHL zDn(+M#fs)9Vr_Z4vFW11jgNANd&{c;WM(_3+? zseMN31_C~ZA2N!X=%_aFsZrgYc{4_9d*|s^8;Vn%>Ditv{Ks03^EGRg{3P-(Do$;} zu)q72M+5K8ho;{fcpmhUi_@Me!iEdGJQ|yKm536pTHDGcLL(lf+_IDxA#`8iPqK!=p4- z1sX>^m?jM*&%q!u!mm6hOQa-eVoPJfIPIM^xlA8FNg~#7g!OB#y#3Eo1;Y>)If}Cl ztV#$8c<7RBgQ5v7LFt?pxw5{Ze?WEE#ojAg;7-YL8)H>R&zUtfQqfSCiCKP-oIb!e z%=;LP1vII9Y2}HzPOs8Q{71z!ch^qp%^OrvKg1kkCx=aIO%J_;djp`98 zIjm{h7Ud{(g8v0^a7>w)t{9J4%ayL+D-#8(cQ)kAYd)b{FcK5hg%%|QQPvcOg1T0J zYge<{?=hyuIVf4H_Tq|pq35TpUfYL{)mnGo@$5FA0n~9;XvXwu2SPL<)JlZt?N16% I9M3EN1{ITervLx| literal 0 HcmV?d00001