Majoritatea instrumentelor de dezvoltare pentru instruirea și evaluarea AI/LLM sunt centrate pe Python, dar în ultimele luni am observat o creștere a noilor instrumente pentru AI/LLM aplicatii pentru ecosistemul R.
-
ollamar şi rollama furnizați pachete în jurul API-ului Ollama, permițându-vă să rulați LLM-uri local pe mașina dvs. Am scris recent câteva postări, una care demonstrează cum să folosești ollamar și alta demonstrând un pachet care folosește ollama intern.



-
elmer este un pachet nou în tidyverse care vă permite să interacționați cu multe LLM-uri diferite prin R (Claude, ChatGPT, Gemini și Ollama de asemenea.
-
mall este unul interesant care oferă o modalitate ușoară de a rula mai multe predicții LLM pe un cadru de date (analiza sentimentelor, rezumare, clasificare, extragere, traducere etc.).
-
prietene oferă asistenți LLM pentru a face lucruri precum evidențierea codului și solicitarea de lucruri precum documentația roxygen, testele de testare etc.
-
Asistent strălucitor vă ajută să explicați cum funcționează lucrurile în Shiny și vă poate ajuta să construiți aplicații Shiny pentru dvs. (în R sau Python).
The lang pachet (sursă, documentare) este o nouă completare interesantă la mlverse în R. Din documentație:
langtrece peste?şihelp()funcții în sesiunea dvs. R. Dacă utilizați RStudio sau Positron, pagina de ajutor tradusă va apărea în panoul de ajutor obișnuit.Dacă sunteți un dezvoltator de pachete,
langvă ajută să vă traduceți documentația și să o includeți ca parte a pachetului dvs.langva folosi la fel?înlocuiți pentru a afișa documentele de ajutor traduse.
Să ne uităm la un exemplu. Mi-am invitat recent colegul și coautorul VP Nagraj să scrie despre pachetul rplanes pe care îl avem publicat şi lansat pe CRAN pentru analiza de plauzibilitate în prognoza epidemiologică.


Una dintre primele funcții pe care le puteți utiliza din acest pachet este read_forecast()care citește un fișier CSV de prognoză cuantilă probabilistică pentru analiza plauzibilității în aval. Să ne uităm la ajutorul pentru această funcție.
library(rplanes) ?read_forecast

Acum să primim ajutor în spaniolă. încărcați pachetul lang și spuneți-i că îl folosim llama3.2. Vom seta limba sistemului la spaniolă, apoi vom cere din nou ajutor.
Sys.setenv(LANGUAGE="spanish") ?read_forecast

Fluența mea în spaniolă se limitează la nevoile generale de conversație și de călătorie, așa că nu pot verifica cu ușurință acuratețea traducerii acestui limbaj tehnic, dar când am reluat o parte din aceasta prin Google Translate, mi s-a părut că este în mare parte fidelă. Observați cum lucrurile care nu ar trebui traduse nu sunt – nume de funcții, argumente, coloane în rezultatul returnat, cod în exemple.
Dar limbile non-occidentale?
Să încercăm hindi!
Sys.setenv(LANGUAGE="hindi") ?read_forecast

Nu pot verifica acuratețea acestei traduceri în afară de a rula o parte din text înapoi prin Google Translate, dar făcând acest lucru, la prima vedere, traducerea nu este rea.
Ce zici de arabă?
Sys.setenv(LANGUAGE="arabic") ?read_forecast

Dacă sunteți vorbitor nativ de oricare dintre acestea, mi-ar plăcea să știu ce părere aveți. Chat cu eu pe Bluesky (@stephenturner.us).
The documentație lang are o secțiune grozavă despre utilizarea lang ca dezvoltator de pachete. Puteți traduce toată documentația dvs. Roxygen în limba dorită, apoi puteți edita acele traduceri manual, după cum este necesar. Apoi, o funcție specială de ajutor vă reoxigenizează documentele, plasându-le într-un mod special inst/man-lang pliant. The lang docs explicați cum funcționează toate acestea, dar odată ce faceți acest lucru, atunci când un utilizator are pachetul lang încărcat, va primi traducerile precalculate și opțional editate, în loc să fie nevoit să aștepte ca LLM să traducă ajutorul.
Iată o demonstrație folosind un pachet foarte mic pe care l-am scris pentru ceva complet diferit. Nu vă faceți griji pentru toate lucrurile Docker descrise aici. Există o singură funcție, missyelliot()pur și simplu inversul completează o secvență de ADN („luați-l și inversați-l”). Adică, va converti GATTACA în complementul său invers TGTAATC.
Reporniți mediul dvs. R și instalați pachetul folosind devtools/telecomenzi. Încărcați atât rpdd, cât și lang.
devtools::install_github("stephenturner/rpdd")
library(rpdd)
library(lang)
Acum primiți ajutor pentru missyelliot(). Dacă variabila de mediu lingvistică este engleza, veți primi ajutor în limba engleză.

Acum, schimbați limba sistemului în spaniolă și încercați din nou. Observați cum ajutorul tradus este instantaneu – vă bazați pe traducerile pretraduse și, eventual, editate manual, care vin împreună cu pachetul, în loc să cereți unui LLM să traducă ajutorul pentru dvs. din mers.
Sys.setenv(LANGUAGE = "spanish") ?missyelliot

Dacă limba dvs. este setată la ceva fără o traducere pre-populată, va trebui să înregistrați un model prin Ollama și să traduceți în timp real.
Sys.setenv(LANGUAGE = "russian") ?missyelliot

Cred că aceasta ar putea fi una dintre cele mai de impact aplicații ale LLM-urilor într-un mediu de dezvoltator de la apariția și adoptarea rapidă a Copiloți. Capacitatea de a accesa instantaneu documentația în mai multe limbi prin langă reprezintă un pas semnificativ înainte în a face știința datelor mai accesibilă și mai incluzivă pentru comunitatea globală R, eliminând barierele lingvistice care au făcut din istorie o provocare pentru cei care nu vorbesc engleza să se implice pe deplin cu R’s. ecosistem bogat de instrumente și pachete.
