From 96443167a775f7355aa4a8f6eaf4466da2b1f97a Mon Sep 17 00:00:00 2001 From: ZIBOWANGKANGYU Date: Sun, 16 Jun 2024 15:22:43 -0400 Subject: [PATCH] Start blog post about coplilot and UI. --- _posts/copilot_ui.md | 113 ++++++++++++++++++++++++ images/copilot_ui/plots/allow_index.png | Bin 0 -> 64357 bytes 2 files changed, 113 insertions(+) create mode 100644 _posts/copilot_ui.md create mode 100644 images/copilot_ui/plots/allow_index.png diff --git a/_posts/copilot_ui.md b/_posts/copilot_ui.md new file mode 100644 index 0000000..6d4c049 --- /dev/null +++ b/_posts/copilot_ui.md @@ -0,0 +1,113 @@ +--- +title: "It does not look like a Shiny App! Use GitHub Copilot to generate custom Shiny UI" +date: 2024-6-14 +tags: [Shiny, UI, GitHub Copilot] +header: +excerpt: "Shiny, artificial intelligence, large language models, user interface" +--- + +Powerful tool as it is, R Shiny is typically not the only front-end framework that an organization uses. Often times, organizations use popular frameworks like React and Angular to create the majority of user interfaces, and use R Shiny to present and let users interact with data. Naturally, this discrepancy in frameworks creates challenges, as a consistent UI design across a company's online presence is key to promoting a strong brand identity. + +Additionally, Shiny developers tend to be R users and come from a data analytics background. They may not have the strongest expertise in front-end tools such as HTML and CSS. Creating the appropriate classes for Shiny elements and defining their attributes usually end up being daunting and frustrating tasks that do not add much value to the work of a data specialist. + +With the help of GenAI-backed programming tools such as GitHub Copilot, front-end developers can easily create Shiny UIs that match the overall aesthetic style of other web assets. Here, I will demonstrate how I re-created the front-page of my [personal blog site](https://zibowangkangyu.github.io/), which was initially created using Jakyll, as the UI page of an R Shiny app in no time. As a result, R Shiny developers will be able to insert data tabulations, visualizations and all kinds of interactive elements into a dashboard that does not look like a Shiny app, but a Jakyll blog site. + +## Some tips of interacting with GitHub Copilot + +If you use genAI tools, you have probably learned some tricks that help the AI generate the most useful and accurate context. I would highly recommend the short course by Microsoft [here](https://learn.microsoft.com/en-us/training/paths/copilot/) for those who want to dig deeper into how Copilot works. In the context of R and Shiny programming, I try to pay attention to two simple elements to receive quality suggestions from Copilot: context and prompts. + +Context and prompts can mean different things in the world of genAI, or both users and developers of large language models (LLMs). I find it helpful to think of context as something you would write as descriptive sentences, for example: + +- This file is part of an R Shiny app that analyzes the demographic compositions of cities in the Greated Toronto Area. The Shiny app should look the same as the existing webpage stored in `index.html`, which is the front page of my personal blog. + +On the other hand, prompts are usually written as command sentences, for example: + +- Test that the `summarize_immigrant_percentage` function returns a tibble. + +### Set the context + +Although the latest GPT model is said to have been trained on more than 10 trillion (1 followed by 13 0s) tokens (roughly mean words), it still needs to know what is important to you. The best way to set the right context is to show Copilot content relevant to your goals, be it in human language or code. If you use RStudio or its cloud versions, there are three ways to do it: + +- Put the most important context in the currently active tab, even it means we delete it later afterwards. For example, we need to put the Shiny UI code in the `app.R` file for the Shiny app to run. However, since the target code is closely related to `index.html` (we are essentially asking Copilot to translate the html code into R), I would copy and paste the whole html file into `app.R` so that Copilot knows that this is the most important chunk of code. We can easily delete the HTML code after Copilot finishes its job. + +```{r} +# Above is the index.html file. The file is a template for a website's homepage. +# Now, I want to re-create the homepage, but with R Shiny. + +# [INSERT HTML CODE ...] # +``` +- Open the other important files in your IDE. Copilot uses a [technique](https://github.blog/2023-05-17-how-github-copilot-is-getting-better-at-understanding-your-code/#how-github-copilot-understands-your-code) called "Neighboring tabs", which lets it process all of the files open in a developer’s IDE. In the context of this specific task, it makes sens to keep the following files open in RStudio: `assets/css/main.scss` and `assets/js/main.min.js`. Why? Because these are local files that are directly referred to in `index.heml`. Use your own judgement to decide what files are the + +- Create R Project and allow "Index project files with GitHub Copilot" in Copilot settings. This choice is given when you first enable Copilot in RStudio. After creating an R Project, Copilot will use all files in the project folder as context. + +Allow index project files + +### Write good prompts + +Prompt engineering has rapidly become a must-have skill for genAI users, and there are plenty of resources online on writing effective prompts. According to Microsoft, prompt engineering should follow such [principles](https://learn.microsoft.com/en-us/training/modules/introduction-prompt-engineering-with-github-copilot/2-prompt-engineering-foundations-best-practices) as: + +- Single: Always focus your prompt on a single, well-defined task or question, instead of multiple tasks. +- Specific: Ensure that your instructions are explicit and detailed. +- Short: While being specific, keep prompts concise and to the point. + +As an example, the following is the prompt I wrote. + +```{r} +# [INSERT HTML CODE ...] # +# Above is the index.html file. It is my website's homepage. +# Now, Re-create the homepage, but with R Shiny. +# The UI portion of the Shiny app will be the same as the index.html file. +``` + +The first line summarizes the most important context in this task: the existing html file. +The second and third lines of my prompt specify the main task that I expect Copilot to do for me: re-create the home page, and: + +- Do it with R Shiny. + +- Make it look like the existing html file. + +## Refer to tool-specific knowledge on the internet + +Although Copilot and the underlying GPT model should have "learned" almost all knowledge available on the internet, it is still useful to point to the most relevant resources on the internet. As a human programmer, if you are given the task to create this Shiny UI, which resources would you start with? For this example, this [Shiny HTML Tags Glossary](https://shiny.posit.co/r/articles/build/tag-glossary/) contains almost all information needed. I added the following to the prompt: + +```{r} + +# Refer here: https://shiny.posit.co/r/articles/build/html-tags/ +# for more information on how to convert HTML to Shiny. + +``` + +## Provide Copilot with examples + +To make the task more tangible for Copilot, I also provided a few examples. Again, think from a human developer's perspective, what do I need to do to to convert html code to R Shiny? + +```{html} +

Mark Wang

+``` + +```{r} +tags$h3(class = "author__name", itemprop = "name", "Mark Wang") +``` + +For code translation, we are essentially make two changes: + +- Tag translation, from `

` to `tags$h3`. + +- Attribute translation, for `class` and `itemprop` + +Add the following to tell Copilot to do exactly this: + +```{r} + +# For example, the "h2" tag in HTML is equivalent to "tags$h2" in Shiny. +# The "html" tag in HTML is equivalent to "tags$html" in Shiny. + +# Also, tag attributes in HTML are passed as arguments in Shiny. +# For example, the "class" attribute in HTML is passed as "class = " in Shiny. +# The "lang" attribute in HTML is passed as "lang = " in Shiny. +``` + +## Assert and iterate + +Copilot does not always give the best code recommendation, especially when the "correct" output is as long as 124 lines. Luckily, the first iteration already renders pretty good results: + diff --git a/images/copilot_ui/plots/allow_index.png b/images/copilot_ui/plots/allow_index.png new file mode 100644 index 0000000000000000000000000000000000000000..0f65590be89699e3f37cf604241bd9d04a018998 GIT binary patch literal 64357 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 z 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

!}e^5(q)*n z*BP?cWz?ti?K=Dnpjulms*f6Uk&v%}`bga0 zFtMdVR>Ii15p>&H=liRc#iN`MBN1ar9eilV1ekgve%j~|L>(nFLIfKRCz$`}@M|*0 zbnjPY@8rQ7d-51Og222NhR(<{1em7=r6#;;eSJzb{tEZi;FJV*#Fl4lN_n_^Q`RUV zjzYw2zfdz_(1k58dtfDoFiJnI|J%Bx5q~YS*1;kC+=PEP#~_X-n=7dZaZ243M73PW zs%knYGS);wm(Y2i6T+1Q+TV>u!X|qt&)0{l;rW2k_EfUhzbze{HH>+(-|Al6aARBi zm57Q2d$pA@%!2o~`Mw)w!O^8Bry}zG8jA&J!gOs|inN+$keM+F?L9fH)c|Qri2t*E zh0QLL^od|qoa4Pc;D7#*6sCcp zI$hXH=1On)VOa=vgVIF37F^WmzkadV#mF*o(TE^Pu3=WzDH?KsugH~5WC1>kGybG9 z#ytVPvc^Mf!ZlS#2@8wOmuJ%|o1pl`@tpUeP<~zOp2Qg9M8I!~xZg~dv>bI<>u878 zSC!cg$BDQ<^~D9VEVo?hT3hSdvYTwzrInRuCn6+TCcyQ+k#c`Hfbp6JU`$&1x>A`S zJ6gh9=4QUv39OpzVX^F?2(uGB5MUnvvKrj)+aBA3Q?IdhCR=>D>_~gRHo6HeAXHPX zk{%-96k;C5j=VmWURzUCa`SXjqp$zmTn2uhc24T-teq=nFP=O&zo(bZY`Hljq!tP8 z3fkcG-5b_(k%u;W+BbbVTvpq|rIf)qci4R1`ou3l3NJv^LK>zVQNQb4J!-ErUZP`~K97*JV=nw8+XN>=*zpb(BNz3d!9^`f{7_NOY z+75AG`H%R}QWf!8@>{iTE`=L>Z0x+ARlnY*BuOkQJ2!tK16!WciGr;zpFAEehu~H} zp?bXef2AZ0xPf=sTU#I+e|7L2wk|4n9_cL9h3n!rk#Wmko%s!jP%1q5_+G z{ICpsKOA%T2S0uDQ+zVH7BwdEaW4z>*K6tTvOeSFVwRG#N$CdTJILoH7@2v6t#mX4wJDKzE&aF}N z*w_!TtgJ8opmPEK(d+K}H*;o`w7}11tnujy8stHy%8DpI*%}nbG**y*(T&VhjURJi zn<~J!#{IbStdcv^!I#7^+)2jO`d$XIj)n!Z1@F_6JQ824YDP ziZHX>-$?W_KzAiT|LVJ+I9VL`)xUSuy??p$)fG4oG(m8Gd0RUw7x{eq@Emu%N+k%%PUr_f}Yxi0yt2N|TXSSIj-Zi8w^Wifm!p3$?M^<{&kdd_T!KCHs zzzJ39z5CUOkNrFrErl+%`eF~c079@R667th>sSEtB?$MJpg(xuHW$SE8mcr(&~}2NXg@M?~e%}`~z)`j>H zLscI8s&fwy#HSxr_&$l5sVgbf2X%uuW$p6~v$M-%$1df*IBb8044W(Xj1QVyRGomG z*uyR8RyO_LT!2WOMF>Q@52IyI8JUA;MBPGj4OOTNwk2MmZq?LvZV!owlmjiQ&gQ_V zBY6X?g&Vcn?PS8nIXsQFpkMBTRBe-d8Z{9S5t2_jKsL9*?v6g3+8f2YhAJEQun0Ga zJ&cY{Oe`H8H=Ru*@T{YH(U_smZVLD z*D0rt8?{>a(b*ZFmyK^FT&)VITjiIXz4^dAdijN}*x?$1rl_dsZqh8fkvZld7lDMt z+2oxog*gclh2KkF+PcKv3nLAIj=X_($Z$1b&!q8}N|g!=kEW;A%K7`1flSqQ* z)kQha-{FfCRvHat!j&w7C!mKJYcyCHXkNX(40RFFR^kvnLfqUsYDKTt(wKjYW}o{~3PMq-6!Ged%oj#KpI2ZgV`){74aKf{%hICB4gsKc0Dks-{H8`>l=>W%*_@Zz`d?aptF0(WWZ?d9`3?=pBv141k4Gv#A z+}RYpkwUn^HtBILrE@78jwDTUTyuBXR_Dfa>jU_*(@y1L9dR53r}mSQrKz7eud%<$IG%u_x&Nc1?#> zoD7I}4rsV)dl$1WOxK~u;^jdIz|RZsIQ=7nF!ji$?{!_V+e!`)=lI)WdTPtuDBt^m z=Es^Y4``LbV8=nx1aYU~J{uF3bB+5we|Cmjb3|jUAU7}0(S`sjj7?1 zfcWxLu6=O@Phkax=xT+~wmEfb1j-S&G1Xs@{F2nJ^|pPiFd@KpA1zyA!9(vG1)%ZF zEo9H!jXF`ETa&wl8R5lwPEFT_ zyA!kH+Eh@d^V;tc)y0wAX$zV8zJq9P$B2|?mI0qQ5;9`ew|BMu9*!;?nHW8oQ`XOJ z3murFpl7jlE)4Z{z*;~KzC}6_T~GB*YPN>5+O=$6kw8cRAVRjtr5 z>N|oM!qr=Yze%qumx*Ei&a-{afOr&VU0UYUOzmmvKiJ#wuR+^&ur! z#;wx5b{%}=&iqmx?u zPY*+zby@2F=2aQ9Z^{*a5I|GQM)!9!uQ;{^__T)AllwdJzg2l=3v#UwUsH2B(?XIq zX|`Li;#$#3;Nw+OYK`30rOW%Y9`t!$Y>H{ z&5jN`Lm$#ytk9REtRBPT!lsy`u}HfkzKlTS>tQ`HU5hdIOW)g-=vs`W72&!% z^w%v|vgwhtC0?_2manC4W&Uasa3}U3(R00PP(Xxe6l6|L3q=|vWVQT)tD`Cw2^?pk zNi-04SAnDc zedbBY`hK(}fCnF_D1Jn*iJ}Nt4c5?wOUGcyZ^jkK-aQ>X1(w2ZI@CEtP7 z+VvI5?R1-uqLfTd$ZMB*l6Q4l*;@XvgdS`W?^pU z@z+yJ*a4zH>rr_rVNPmo-n!IH&3y|3rEEVaZ1k#s?aub3v$H+@?H%GA2;RJdy_9ri z&4Mh&7h&wH6W-BffJdTzCjP)oM+TJP8%#ZBxw}`tlhqw_Gw%>z`GwU!`uAoNB9Tm?-k?8i8018x6Y_KjZSdU}hlz~>iH>pwBuIRHp+KGZ! zQTfmP^yU|3WZh}R?okP+i_JrCyUm4_yi~vEbJ$Hd8Nx{RhMZPy(b}P^3lJh~f3mZ` z8cMTSnPb`v!CKd1?20TCb%8Of`=+R=pJ#3ObAj${{kX<=PSX&?6I8^H1%Fhdhku=6;l>5uH4WMxUbGW`?-UpSg33ETkPe|6&|4hT@uIeX|-r%a;3{*V-_$a z(Z#&KeaxZDd5b?)ePHNeAw9VV@Y*e zuWEZZ8uN(I!(nFE34Iky0K1orRM;MefqG#-e*45M%iQ|=*|os%z6XM>RhGR7Tps7+ zoskw1uuI)r0>ZCz$r0N=>{YGaa5~>HU+?=}%<)%?mx>8DP}J+P`xPj+2)sq@aGDV( zxf4y(c}3N&tUU!lS#&&6IA194WFyM)2ExP%yK-IKcFQWiUFK|19dCcHhNZbr zpHuZl@9i$DWuf<|*sPYWs1PvWAfycYAV2

fpZ*Hx3bh$nC&mIe7lyi z<9nH7hI_?<^C&rRF0{m2Q1bIrf83w$b+-6bfKC1+NZ3^u_gKn1C_eQXRo9}Sl%>A_ zwNRive5p%oF2oWuN9=8$>CP+|zFU5=vXU6e=vw`bf|&k36@1XA{$1Msj&Z4?0p_nR z{SD??C*)U^I1L49-|PXAB_*))?|6z@$Bu4fP|Hri-fL%NI!6RfF-`VKnj(t0>5`ygyuNYU%J~m;t_0OE`XPmk` z`zV-TX&`gRt_6lY=T@^mqrW ztyjg#f=);=_$7UPp)~75M=l*2_4|!%k`y{Ax#uR$bRc4r%|_d0M%=0GTR z=mW_BsxYnCjO4k({9B#n8&XZc!PdAt>)i|`cg`dXBzOrQFO=!)N4@dW|N1;T;UJw% zP(q0mF*DgCN$LK)igsUF;>nhR0|}x&MGl7$1$BAGJU@Z@O$mAb4+GR65uZ#*)N*;VRp`1~v)Lv{Gz@+1HEsE7r60YD>aTP7RbE5)X|KTKQIs69Q4GW386! zY(oSSdGHUI=4g3QQEDJ|(6*~+!3*pvrhy@&5^86bzoQUN9pyvNGgebLG_7pC5e?oC80@x{s#}_tw<=?m`2h z7A0!cxpr#vYBQDPtZFC5CBg@qTumYwrc>&Ci%O#*7@qGS_x?pA#Za&{a%tHDVO-~n zr5&C8x8A~*vY-T9LB_18kEg*)2q!C2dPUC*-hYK_Fl2rqS%zwqN)i>8Cr5WdU55KCn?O5!3kmk4D017(TR_ zDx=8geiS;I4&x1hmg&f8gmKSe8eglk_G5{MNJ#R4JQ3oroq*s_hJAB`(pqA()yO=W zksxM&>f5yz`I9ATSulp@^zwWkZhljp>idva!e`IIheag%RO6nQ{a&9HpYUo;y2|zH zAi?O=KXm$Dx9;36B#e%F6QP*Lfoc>oGlzZNI|S8@_SnLDs&}=wkfcoO6FI8OoE57Q zwX7cKg;)|Vf+RJP_4a-5Iyd%Ol+AChZ-oTN-g8B!Yv`VYo>>I0UGH(qOS(brG5rPn zz4ecUDW17<1Xr0Zo_&+H;8G>%L&b#eCn{#4Jz;a2vQ%0ErOX)IPo*L+7}V@8ut5U_hbGP6^D*-*3=;U9q9g zij=K&7Kd*`->H?}+Pf>NWUG3L!4_^2uH{!B8CIiwxi=-@gG3_Z1u@YJkyUm*5yCgb zT)jvYC!H~@2~~^F)WOX_FQ)x;+=Hm6bavtkn;)T>&`K`gKKNs|1ue_xe{VL3skqvrErZgl^FNT+wA^1f2XQT@3Z*h_^&zT;(MOebb1}U_o{`$Ia6- z#pj9&XeJkmV*cs7EZDfb`Y!FHM0PymIYB(TA-7EfvO<7+4koag+V6yx>uC}JKoc~H zM8b)()5I*tWZ9Jh=D%cfgj^-T_Kz>Fe%Gva8(0U=

OcO$PDdn&ySpRP{!86wLp6 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 G3j80{CpWJE literal 0 HcmV?d00001