{"id":46241,"date":"2024-09-04T14:05:12","date_gmt":"2024-09-04T14:05:12","guid":{"rendered":"https:\/\/fabricegrinda.com\/?p=46241"},"modified":"2024-09-05T14:50:34","modified_gmt":"2024-09-05T14:50:34","slug":"fabrice-ai-calatoria-tehnica","status":"publish","type":"post","link":"https:\/\/grinda.org\/ro\/fabrice-ai-calatoria-tehnica\/","title":{"rendered":"Fabrice AI: C\u0103l\u0103toria tehnic\u0103"},"content":{"rendered":"\n<p>Dup\u0103 cum am men\u021bionat \u00een <a href=\"https:\/\/fabricegrinda.com\/ro\/prezentandu-l-pe-fabrice-ai\/\" data-type=\"link\" data-id=\"https:\/\/fabricegrinda.com\/introducing-fabrice-ai\/\" target=\"_blank\" rel=\"noreferrer noopener\">postarea anterioar\u0103<\/a>, dezvoltarea <a href=\"https:\/\/fabriceai.fabricegrinda.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Fabrice AI<\/a> s-a dovedit mult mai complex\u0103 dec\u00e2t m\u0103 a\u0219teptam, for\u021b\u00e2ndu-m\u0103 s\u0103 explorez multe abord\u0103ri diferite.<\/p>\n\n<p><strong>Abordarea ini\u021bial\u0103: Indicele Llama &#8211; C\u0103utare vectorial\u0103<\/strong><\/p>\n\n<p>Prima mea incursiune \u00een \u00eembun\u0103t\u0103\u021birea abilit\u0103\u021bilor de reg\u0103sire ale lui Fabrice AI a implicat utilizarea indexului Llama pentru c\u0103utarea vectorial\u0103.\nConceptul a fost simplu: s\u0103 iau con\u021binutul de pe blogul meu, s\u0103-l convertesc \u00een documente Langchain \u0219i apoi s\u0103 le transform \u00een documente Llama.\nAceste documente Llama vor fi apoi stocate \u00eentr-un index vectorial, permi\u021b\u00e2ndu-mi s\u0103 interoghez acest index pentru informa\u021bii relevante.  <\/p>\n\n<p>Cu toate acestea, pe m\u0103sur\u0103 ce am \u00eenceput s\u0103 testez sistemul, a devenit evident c\u0103 aceast\u0103 abordare nu d\u0103dea rezultatele pe care le speram.\nMai exact, atunci c\u00e2nd am interogat sistemul cu \u00eentreb\u0103ri cu context puternic, precum &#8222;Care sunt cele mai mari gre\u0219eli pe care le fac fondatorii de pie\u021be?&#8221;, AI nu a reu\u0219it s\u0103 ofere r\u0103spunsuri semnificative.\n\u00cen loc s\u0103 recupereze con\u021binutul nuan\u021bat despre care \u0219tiam c\u0103 este \u00eencorporat \u00een date, aceasta a returnat r\u0103spunsuri irelevante sau incomplete.  <\/p>\n\n<p>Acest e\u0219ec ini\u021bial m-a determinat s\u0103 \u00eemi reconsider abordarea.\nMi-am dat seama c\u0103 simpla stocare a con\u021binutului \u00eentr-un index vectorial nu era suficient\u0103; mecanismul de recuperare trebuia s\u0103 \u00een\u021beleag\u0103 contextul \u0219i nuan\u021bele \u00eentreb\u0103rilor adresate.\nAceast\u0103 constatare a fost prima dintre multele lec\u021bii care aveau s\u0103 modeleze evolu\u021bia Fabrice AI.  <\/p>\n\n<p><strong>Stocarea cuno\u0219tin\u021belor: Stocarea \u0219i recuperarea documentelor MongoDB<\/strong><\/p>\n\n<p>\u021ain\u00e2nd cont de limit\u0103rile abord\u0103rii indexului Llama, am explorat apoi posibilitatea stoc\u0103rii documentelor Llama \u00een MongoDB.\nSchema flexibil\u0103 a MongoDB \u0219i structura orientat\u0103 spre documente mi s-au p\u0103rut o solu\u021bie promi\u021b\u0103toare pentru gestionarea diverselor tipuri de con\u021binut pe care le-am acumulat de-a lungul anilor. <\/p>\n\n<p>Planul era de a crea o experien\u021b\u0103 de c\u0103utare mai dinamic\u0103 \u0219i mai receptiv\u0103.\nCu toate acestea, aceast\u0103 abordare a \u00eent\u00e2mpinat rapid probleme.\nFunc\u021bionalitatea de c\u0103utare, pe care am anticipat-o ca fiind mai robust\u0103, nu a func\u021bionat conform a\u0219tept\u0103rilor.\nInterog\u0103rile care ar fi trebuit s\u0103 returneze documente relevante nu au produs niciun rezultat sau con\u021binut irelevant.   <\/p>\n\n<p>Acest e\u0219ec a fost frustrant, dar a subliniat, de asemenea, o lec\u021bie esen\u021bial\u0103: metoda de stocare este la fel de important\u0103 ca strategia de recuperare.\nAm \u00eenceput s\u0103 iau \u00een considerare alte op\u021biuni, cum ar fi utilizarea MongoDB Atlas pentru c\u0103ut\u0103rile vectoriale, care ar putea oferi precizia \u0219i scalabilitatea de care aveam nevoie.\nCu toate acestea, \u00eenainte de a m\u0103 angaja \u00een aceast\u0103 alternativ\u0103, am dorit s\u0103 explorez alte abord\u0103ri pentru a determina dac\u0103 exist\u0103 o solu\u021bie mai eficient\u0103.  <\/p>\n\n<p><strong>Metadata Retriever \u0219i Vector Store: C\u0103utarea specificit\u0103\u021bii<\/strong><\/p>\n\n<p>Una dintre urm\u0103toarele c\u0103i pe care le-am explorat a fost utilizarea unui recuperator de metadate combinat cu un magazin vectorial.\nIdeea din spatele acestei abord\u0103ri a fost de a categoriza vasta gam\u0103 de informa\u021bii din Fabrice AI \u0219i apoi de a extrage r\u0103spunsuri bazate pe aceste categorii.\nPrin structurarea datelor cu metadate, am sperat s\u0103 \u00eembun\u0103t\u0103\u021besc capacitatea AI de a oferi r\u0103spunsuri specifice, direc\u021bionate.  <\/p>\n\n<p>Totu\u0219i, aceast\u0103 metod\u0103 avea \u0219i ea limitele sale.\nDe\u0219i p\u0103rea promi\u021b\u0103toare la suprafa\u021b\u0103, inteligen\u021ba artificial\u0103 s-a chinuit s\u0103 ofere r\u0103spunsuri exacte la toate tipurile de \u00eentreb\u0103ri.\nDe exemplu, c\u00e2nd am \u00eentrebat: &#8222;Autorul este optimist?&#8221;\nsistemul nu a reu\u0219it s\u0103 interpreteze \u00eentrebarea \u00een contextul con\u021binutului relevant.\n\u00cen loc s\u0103 ofere o analiz\u0103 p\u0103trunz\u0103toare bazat\u0103 pe metadate, acesta a oferit fie r\u0103spunsuri vagi, fie niciun r\u0103spuns.    <\/p>\n\n<p>Aceast\u0103 abordare m-a \u00eenv\u0103\u021bat o lec\u021bie valoroas\u0103 despre importan\u021ba contextului \u00een IA.\nNu este suficient s\u0103 se clasifice pur \u0219i simplu informa\u021biile; inteligen\u021ba artificial\u0103 trebuie s\u0103 \u00een\u021beleag\u0103 \u0219i modul \u00een care aceste categorii interac\u021bioneaz\u0103 \u0219i se suprapun pentru a forma o \u00een\u021belegere coerent\u0103 a con\u021binutului.\nF\u0103r\u0103 aceast\u0103 \u00een\u021belegere profund\u0103, chiar \u0219i cele mai sofisticate metode de reg\u0103sire pot fi insuficiente.  <\/p>\n\n<p><strong>Structurarea cuno\u0219tin\u021belor: SummaryTreeIndex<\/strong><\/p>\n\n<p>Pe m\u0103sur\u0103 ce am continuat s\u0103 perfec\u021bionez Fabrice AI, am experimentat cu crearea unui SummaryTreeIndex.\nAceast\u0103 abordare urm\u0103rea s\u0103 rezume toate documentele \u00eentr-un format arborescent, permi\u021b\u00e2nd AI s\u0103 navigheze prin aceste rezumate \u0219i s\u0103 recupereze informa\u021bii relevante pe baza structurii con\u021binutului. <\/p>\n\n<p>Ideea era c\u0103, prin rezumarea documentelor, inteligen\u021ba artificial\u0103 poate identifica rapid punctele-cheie \u0219i r\u0103spunde la \u00eentreb\u0103ri cu informa\u021bii concise \u0219i exacte.\nCu toate acestea, aceast\u0103 metod\u0103 s-a confruntat \u0219i cu provoc\u0103ri semnificative.\nInteligen\u021ba artificial\u0103 a avut dificult\u0103\u021bi \u00een a oferi r\u0103spunsuri semnificative la interog\u0103ri complexe, precum &#8222;Cum s\u0103 lu\u0103m decizii importante \u00een via\u021b\u0103?&#8221;\n\u00cen loc s\u0103 se bazeze pe con\u021binutul bogat \u0219i nuan\u021bat stocat \u00een cadrul rezumatelor, r\u0103spunsurile AI erau adesea superficiale sau incomplete.   <\/p>\n\n<p>Aceast\u0103 experien\u021b\u0103 a scos \u00een eviden\u021b\u0103 dificultatea de a echilibra amploarea \u0219i profunzimea \u00een IA.\n\u00cen timp ce rezumatele pot oferi o imagine de ansamblu la nivel \u00eenalt, adesea nu au contextul detaliat necesar pentru a r\u0103spunde la \u00eentreb\u0103ri mai complexe.\nMi-am dat seama c\u0103 orice solu\u021bie eficient\u0103 ar trebui s\u0103 integreze at\u00e2t con\u021binut detaliat, c\u00e2t \u0219i rezumate la nivel \u00eenalt, permi\u021b\u00e2nd inteligen\u021bei artificiale s\u0103 apeleze la ambele, dup\u0103 cum este necesar.  <\/p>\n\n<p>Acesta este motivul pentru care \u00een versiunea Fabrice AI care este disponibil\u0103 \u00een prezent, AI ofer\u0103 mai \u00eent\u00e2i un rezumat al r\u0103spunsului, \u00eenainte de a intra \u00een mai multe detalii.<\/p>\n\n<p><strong>Extinderea orizonturilor: Indexul graficului de cuno\u0219tin\u021be<\/strong><\/p>\n\n<p>Recunosc\u00e2nd limit\u0103rile metodelor anterioare, am apelat la o abordare mai sofisticat\u0103: Knowledge Graph Index.\nAceast\u0103 abordare a implicat construirea unui graf de cuno\u0219tin\u021be din text nestructurat, permi\u021b\u00e2nd AI s\u0103 se angajeze \u00een interogarea bazat\u0103 pe entit\u0103\u021bi.\nScopul a fost de a crea o \u00een\u021belegere mai dinamic\u0103 \u0219i mai interconectat\u0103 a con\u021binutului, permi\u021b\u00e2ndu-i AI-ului Fabrice s\u0103 r\u0103spund\u0103 mai eficient la \u00eentreb\u0103ri complexe, bazate pe context.  <\/p>\n\n<p>\u00cen ciuda promisiunilor sale, Knowledge Graph Index s-a confruntat \u0219i cu obstacole semnificative.\nInteligen\u021ba artificial\u0103 s-a chinuit s\u0103 produc\u0103 rezultate exacte, \u00een special pentru interog\u0103rile care necesitau o \u00een\u021belegere profund\u0103 a contextului.\nDe exemplu, la \u00eentrebarea &#8222;Care sunt evalu\u0103rile corecte ale Seed &amp; Series A?&#8221;, AI-ul nu a reu\u0219it din nou s\u0103 ofere un r\u0103spuns relevant, subliniind dificultatea integr\u0103rii textului nestructurat \u00eentr-un graf de cuno\u0219tin\u021be coerent.  <\/p>\n\n<p>Aceast\u0103 abordare, de\u0219i a e\u0219uat \u00een cele din urm\u0103, a oferit informa\u021bii importante cu privire la provoc\u0103rile utiliz\u0103rii grafurilor de cuno\u0219tin\u021be \u00een IA.\nComplexitatea datelor \u0219i necesitatea unui context precis au \u00eensemnat c\u0103 \u0219i un graf de cuno\u0219tin\u021be bine construit ar putea avea dificult\u0103\u021bi \u00een a furniza rezultatele dorite.\nUn alt dezavantaj al Knowledge Graph Index a fost viteza sa redus\u0103.\nTimpul de r\u0103spuns pentru ob\u021binerea documentelor conexe a fost foarte mare \u00een raport cu un index de tip vector store.   <\/p>\n\n<p><strong>Reevaluarea datelor: Gemeni<\/strong><\/p>\n\n<p>Dup\u0103 mai multe e\u0219ecuri, am decis s\u0103 adopt o abordare diferit\u0103 prin valorificarea AI-ului Google, <a href=\"https:\/\/gemini.google.com\/app\" target=\"_blank\" data-type=\"link\" data-id=\"https:\/\/gemini.google.com\/app\" rel=\"noreferrer noopener\">Gemini<\/a>.\nIdeea era s\u0103 creez seturi de date din fi\u0219iere JSON-CSV \u0219i apoi s\u0103 antrenez un model personalizat LLM folosind aceste date.\nAm sperat c\u0103, prin utilizarea datelor structurate \u0219i a unui model de formare robust, a\u0219 putea dep\u0103\u0219i unele dintre provoc\u0103rile care au afectat \u00eencerc\u0103rile anterioare.  <\/p>\n\n<p>Cu toate acestea, aceast\u0103 abordare a \u00eent\u00e2mpinat, de asemenea, dificult\u0103\u021bi.\nProcesul de formare a fost \u00eentrerupt din cauza format\u0103rii incorecte a datelor, ceea ce a \u00eempiedicat formarea eficient\u0103 a modelului.\nAcest e\u0219ec a subliniat importan\u021ba integrit\u0103\u021bii datelor \u00een formarea inteligen\u021bei artificiale.\nF\u0103r\u0103 date corect formatate \u0219i structurate, chiar \u0219i cele mai avansate modele pot s\u0103 nu func\u021bioneze conform a\u0219tept\u0103rilor.   <\/p>\n\n<p>Aceast\u0103 experien\u021b\u0103 m-a determinat s\u0103 iau \u00een considerare poten\u021bialul de a utiliza BigQuery pentru a stoca date JSON, oferind o platform\u0103 mai scalabil\u0103 \u0219i mai fiabil\u0103 pentru gestionarea seturilor mari de date necesare pentru a antrena Fabrice AI \u00een mod eficient.<\/p>\n\n<p><strong>Combinarea punctelor forte: Documente Langchain cu Pinecone<\/strong><\/p>\n\n<p>\u00cen ciuda provoc\u0103rilor \u00eent\u00e2mpinate p\u00e2n\u0103 acum, am fost hot\u0103r\u00e2t s\u0103 g\u0103sesc o solu\u021bie care s\u0103-i permit\u0103 lui Fabrice AI s\u0103 stocheze \u0219i s\u0103 recupereze eficient cuno\u0219tin\u021bele.\nAceast\u0103 determinare m-a determinat s\u0103 experimentez cu documentele Langchain \u0219i Pinecone.\nAbordarea a implicat crearea unui depozit vectorial Pinecone folosind documente Langchain \u0219i \u00eencorpor\u0103ri OpenAI, apoi recuperarea celor mai asem\u0103n\u0103toare documente pe baza interog\u0103rii.  <\/p>\n\n<p>Aceast\u0103 metod\u0103 s-a dovedit promi\u021b\u0103toare, \u00een special atunci c\u00e2nd interogarea a inclus titlul documentului.\nDe exemplu, la \u00eentrebarea &#8222;Care este cheia fericirii?&#8221;, inteligen\u021ba artificial\u0103 a fost capabil\u0103 s\u0103 recupereze \u0219i s\u0103 rezume cu exactitate con\u021binutul relevant.\nCu toate acestea, au existat \u00eenc\u0103 limit\u0103ri, \u00een special atunci c\u00e2nd interogarea nu con\u021binea cuvinte-cheie sau titluri specifice.  <\/p>\n\n<p>Aceast\u0103 abordare a demonstrat poten\u021bialul de combinare a diferitelor tehnologii pentru a \u00eembun\u0103t\u0103\u021bi performan\u021ba AI.\nPrin integrarea documentelor Langchain cu magazinul vectorial Pinecone, am reu\u0219it s\u0103 \u00eembun\u0103t\u0103\u021besc relevan\u021ba \u0219i acurate\u021bea r\u0103spunsurilor AI, de\u0219i cu unele limit\u0103ri. <\/p>\n\n<p><strong>Atingerea consecven\u021bei: Constructorul GPT OpenAI<\/strong><\/p>\n\n<p>Dup\u0103 ce am explorat diverse metode \u0219i tehnologii, am apelat la <a href=\"https:\/\/chatgpt.com\/gpts\/editor\/\" target=\"_blank\" data-type=\"link\" data-id=\"https:\/\/chatgpt.com\/gpts\/editor\/\" rel=\"noreferrer noopener\">GPT Builder<\/a> de la Open AI pentru a consolida \u0219i a rafina cuno\u0219tin\u021bele stocate \u00een Fabrice AI.\nPrin \u00eenc\u0103rcarea \u00eentregului con\u021binut \u00eentr-o baz\u0103 de cuno\u0219tin\u021be GPT, am urm\u0103rit s\u0103 creez o platform\u0103 mai coerent\u0103 \u0219i mai fiabil\u0103 pentru recuperarea \u0219i interac\u021biunea cu cuno\u0219tin\u021bele mele. <\/p>\n\n<p>Aceast\u0103 abordare s-a dovedit a fi una dintre cele mai reu\u0219ite, inteligen\u021ba artificial\u0103 fiind capabil\u0103 s\u0103 ofere rezultate mai bune \u00eentr-o gam\u0103 larg\u0103 de interog\u0103ri.\nCheia acestui succes a fost integrarea tuturor cuno\u0219tin\u021belor \u00eentr-un singur sistem coerent, permi\u021b\u00e2nd AI s\u0103 se bazeze pe \u00eentreaga gam\u0103 de con\u021binut atunci c\u00e2nd r\u0103spunde la \u00eentreb\u0103ri. <\/p>\n\n<p>Dup\u0103 cum am men\u021bionat \u00een postarea mea anterioar\u0103, nu am putut s\u0103 o fac s\u0103 ruleze pe site-ul meu \u0219i a fost disponibil\u0103 numai pentru abona\u021bii pl\u0103ti\u021bi ai Chat GPT, ceea ce am sim\u021bit c\u0103 era prea limitativ.\nDe asemenea, de\u0219i era mai bine, tot nu-mi pl\u0103cea calitatea r\u0103spunsurilor \u0219i nu m\u0103 sim\u021beam confortabil s\u0103 o eliberez publicului. <\/p>\n\n<p><strong>Rafinare final\u0103: Asisten\u021bi GPT utiliz\u00e2nd modelul 4o<\/strong><\/p>\n\n<p>Piesa final\u0103 a puzzle-ului \u00een dezvoltarea Fabrice AI a venit odat\u0103 cu introducerea <a href=\"https:\/\/platform.openai.com\/docs\/assistants\/overview\" target=\"_blank\" data-type=\"link\" data-id=\"https:\/\/platform.openai.com\/docs\/assistants\/overview\" rel=\"noreferrer noopener\">asisten\u021bilor GPT<\/a> folosind modelul 4o.\nAceast\u0103 abordare a reprezentat punctul culminant al tot ceea ce am \u00eenv\u0103\u021bat pe parcursul proiectului.\nPrin utilizarea unei baze de date vectoriale \u0219i rafinarea solicit\u0103rilor, am urm\u0103rit s\u0103 ating cel mai \u00eenalt nivel posibil de acurate\u021be \u0219i \u00een\u021belegere contextual\u0103 \u00een r\u0103spunsurile AI.  <\/p>\n\n<p>Aceast\u0103 metod\u0103 a presupus \u00eenc\u0103rcarea tuturor cuno\u0219tin\u021belor pe care le-am acumulat \u00eentr-o baz\u0103 de date vectorial\u0103, care a fost apoi utilizat\u0103 ca baz\u0103 pentru interac\u021biunile inteligen\u021bei artificiale.\nBaza de date vectorial\u0103 a permis AI-ului s\u0103 efectueze c\u0103ut\u0103ri mai sofisticate, recuper\u00e2nd informa\u021bii pe baza semnifica\u021biei semantice a interog\u0103rilor, \u00een loc s\u0103 se bazeze exclusiv pe potrivirea cuvintelor cheie.\nAcest lucru a marcat un progres semnificativ fa\u021b\u0103 de abord\u0103rile anterioare, permi\u021b\u00e2nd AI s\u0103 \u00een\u021beleag\u0103 \u0219i s\u0103 r\u0103spund\u0103 mai bine la \u00eentreb\u0103ri complexe \u0219i nuan\u021bate.  <\/p>\n\n<p>Una dintre inova\u021biile cheie ale acestei abord\u0103ri a fost rafinarea atent\u0103 a solicit\u0103rilor.\nPrin elaborarea \u0219i testarea meticuloas\u0103 a diferitelor solicit\u0103ri, am reu\u0219it s\u0103 ghidez inteligen\u021ba artificial\u0103 c\u0103tre furnizarea unor r\u0103spunsuri mai exacte \u0219i mai relevante.\nAcest lucru a implicat nu numai ajustarea formul\u0103rii solicit\u0103rilor, ci \u0219i experimentarea diferitelor modalit\u0103\u021bi de structurare a \u00eentreb\u0103rilor pentru a ob\u021bine cele mai bune r\u0103spunsuri posibile.  <br\/><br\/>Rezultatele au fost impresionante.\nInteligen\u021ba artificial\u0103 era acum capabil\u0103 s\u0103 gestioneze o gam\u0103 larg\u0103 de interog\u0103ri cu o precizie ridicat\u0103, chiar \u0219i atunci c\u00e2nd \u00eentreb\u0103rile erau deschise sau necesitau o \u00een\u021belegere profund\u0103 a contextului.\nDe exemplu, la \u00eentrebarea &#8222;Cum s\u0103 iei cele mai importante decizii din via\u021ba ta?&#8221;\nAI-ul a oferit un r\u0103spuns cuprinz\u0103tor \u0219i p\u0103trunz\u0103tor, baz\u00e2ndu-se pe o varietate de surse \u0219i perspective pentru a oferi un r\u0103spuns complet.   <\/p>\n\n<p>Acest succes a fost punctul culminant al sute de ore de munc\u0103 \u0219i nenum\u0103rate experimente.\nAcesta a demonstrat c\u0103, cu combina\u021bia potrivit\u0103 de tehnologie \u0219i rafinament, este posibil s\u0103 se creeze o inteligen\u021b\u0103 artificial\u0103 care nu numai c\u0103 poate stoca \u0219i extrage informa\u021bii \u00een mod eficient, dar \u0219i s\u0103 se implice \u00een mod semnificativ \u00een acestea.\nDezvoltarea asisten\u021bilor GPT cu ajutorul modelului 4o a marcat momentul \u00een care inteligen\u021ba artificial\u0103 Fabrice \u0219i-a intrat cu adev\u0103rat \u00een drepturi, ating\u00e2nd nivelul de sofisticare \u0219i precizie pe care mi l-am imaginat de la \u00eenceput.\nAPI-ul GPT Assistants a fost apoi integrat \u00een blogul meu pentru a permite utilizatorilor finali s\u0103 interac\u021bioneze cu Fabrice AI \u00een modul \u00een care \u00eel vede\u021bi pe blog chiar acum.   <\/p>\n\n<p><strong>Reflect\u00e2nd asupra c\u0103l\u0103toriei<\/strong><\/p>\n\n<p>Procesul de dezvoltare a AI Fabrice a eviden\u021biat complexitatea lucrului cu AI, \u00een special atunci c\u00e2nd vine vorba de \u00een\u021belegerea \u0219i contextualizarea informa\u021biilor.\nM-a \u00eenv\u0103\u021bat c\u0103 nu exist\u0103 scurt\u0103turi \u00een dezvoltarea AI &#8211; fiecare pas, fiecare itera\u021bie \u0219i fiecare experiment este o parte necesar\u0103 a c\u0103l\u0103toriei c\u0103tre crearea a ceva cu adev\u0103rat eficient. <\/p>\n\n<p>Privind \u00eenainte, sunt \u00eenc\u00e2ntat s\u0103 continui s\u0103 perfec\u021bionez \u0219i s\u0103 extind Fabrice AI.\nA\u0219a cum am men\u021bionat \u00een ultima postare, voi revizui \u00eentreb\u0103rile adresate pentru a completa baza de cuno\u0219tin\u021be acolo unde exist\u0103 lacune.\nDe asemenea, sper s\u0103 lansez \u00een cele din urm\u0103 o versiune interactiv\u0103 care arat\u0103 \u0219i sun\u0103 ca mine \u0219i cu care pute\u021bi vorbi.  <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dup\u0103 cum am men\u021bionat \u00een postarea anterioar\u0103, dezvoltarea Fabrice AI s-a dovedit mult mai complex\u0103 dec\u00e2t m\u0103 a\u0219teptam, for\u021b\u00e2ndu-m\u0103 s\u0103 explorez multe abord\u0103ri diferite. Abordarea ini\u021bial\u0103: Indicele Llama &#8211; C\u0103utare &hellip; <a href=\"https:\/\/fabricegrinda.com\/ro\/fabrice-ai-calatoria-tehnica\/\" class=\"more-link\">Continu\u0103 lectura<span class=\"screen-reader-text\"> \u201eFabrice AI: C\u0103l\u0103toria tehnic\u0103\u201d<\/span><\/a><\/p>\n","protected":false},"author":9,"featured_media":46228,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[203,930],"tags":[],"class_list":["post-46241","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-reflectii-personale","category-gadgeturi-tehnice"],"acf":[],"contentUpdated":"Fabrice AI: C\u0103l\u0103toria tehnic\u0103. Categories - Reflec\u021bii personale, Gadgeturi tehnice. Date-Posted - 2024-09-04T14:05:12 . \n Dup\u0103 cum am men\u021bionat \u00een postarea anterioar\u0103, dezvoltarea Fabrice AI s-a dovedit mult mai complex\u0103 dec\u00e2t m\u0103 a\u0219teptam, for\u021b\u00e2ndu-m\u0103 s\u0103 explorez multe abord\u0103ri diferite.\n Abordarea ini\u021bial\u0103: Indicele Llama &#8211; C\u0103utare vectorial\u0103\n Prima mea incursiune \u00een \u00eembun\u0103t\u0103\u021birea abilit\u0103\u021bilor de reg\u0103sire ale lui Fabrice AI a implicat utilizarea indexului Llama pentru c\u0103utarea vectorial\u0103.\n Conceptul a fost simplu: s\u0103 iau con\u021binutul de pe blogul meu, s\u0103-l convertesc \u00een documente Langchain \u0219i apoi s\u0103 le transform \u00een documente Llama.\n Aceste documente Llama vor fi apoi stocate \u00eentr-un index vectorial, permi\u021b\u00e2ndu-mi s\u0103 interoghez acest index pentru informa\u021bii relevante.  \n Cu toate acestea, pe m\u0103sur\u0103 ce am \u00eenceput s\u0103 testez sistemul, a devenit evident c\u0103 aceast\u0103 abordare nu d\u0103dea rezultatele pe care le speram.\n Mai exact, atunci c\u00e2nd am interogat sistemul cu \u00eentreb\u0103ri cu context puternic, precum &#8222;Care sunt cele mai mari gre\u0219eli pe care le fac fondatorii de pie\u021be?&#8221;, AI nu a reu\u0219it s\u0103 ofere r\u0103spunsuri semnificative.\n \u00cen loc s\u0103 recupereze con\u021binutul nuan\u021bat despre care \u0219tiam c\u0103 este \u00eencorporat \u00een date, aceasta a returnat r\u0103spunsuri irelevante sau incomplete.  \n Acest e\u0219ec ini\u021bial m-a determinat s\u0103 \u00eemi reconsider abordarea.\n Mi-am dat seama c\u0103 simpla stocare a con\u021binutului \u00eentr-un index vectorial nu era suficient\u0103; mecanismul de recuperare trebuia s\u0103 \u00een\u021beleag\u0103 contextul \u0219i nuan\u021bele \u00eentreb\u0103rilor adresate.\n Aceast\u0103 constatare a fost prima dintre multele lec\u021bii care aveau s\u0103 modeleze evolu\u021bia Fabrice AI.  \n Stocarea cuno\u0219tin\u021belor: Stocarea \u0219i recuperarea documentelor MongoDB\n \u021ain\u00e2nd cont de limit\u0103rile abord\u0103rii indexului Llama, am explorat apoi posibilitatea stoc\u0103rii documentelor Llama \u00een MongoDB.\n Schema flexibil\u0103 a MongoDB \u0219i structura orientat\u0103 spre documente mi s-au p\u0103rut o solu\u021bie promi\u021b\u0103toare pentru gestionarea diverselor tipuri de con\u021binut pe care le-am acumulat de-a lungul anilor. \n Planul era de a crea o experien\u021b\u0103 de c\u0103utare mai dinamic\u0103 \u0219i mai receptiv\u0103.\n Cu toate acestea, aceast\u0103 abordare a \u00eent\u00e2mpinat rapid probleme.\n Func\u021bionalitatea de c\u0103utare, pe care am anticipat-o ca fiind mai robust\u0103, nu a func\u021bionat conform a\u0219tept\u0103rilor.\n Interog\u0103rile care ar fi trebuit s\u0103 returneze documente relevante nu au produs niciun rezultat sau con\u021binut irelevant.   \n Acest e\u0219ec a fost frustrant, dar a subliniat, de asemenea, o lec\u021bie esen\u021bial\u0103: metoda de stocare este la fel de important\u0103 ca strategia de recuperare.\n Am \u00eenceput s\u0103 iau \u00een considerare alte op\u021biuni, cum ar fi utilizarea MongoDB Atlas pentru c\u0103ut\u0103rile vectoriale, care ar putea oferi precizia \u0219i scalabilitatea de care aveam nevoie.\n Cu toate acestea, \u00eenainte de a m\u0103 angaja \u00een aceast\u0103 alternativ\u0103, am dorit s\u0103 explorez alte abord\u0103ri pentru a determina dac\u0103 exist\u0103 o solu\u021bie mai eficient\u0103.  \n Metadata Retriever \u0219i Vector Store: C\u0103utarea specificit\u0103\u021bii\n Una dintre urm\u0103toarele c\u0103i pe care le-am explorat a fost utilizarea unui recuperator de metadate combinat cu un magazin vectorial.\n Ideea din spatele acestei abord\u0103ri a fost de a categoriza vasta gam\u0103 de informa\u021bii din Fabrice AI \u0219i apoi de a extrage r\u0103spunsuri bazate pe aceste categorii.\n Prin structurarea datelor cu metadate, am sperat s\u0103 \u00eembun\u0103t\u0103\u021besc capacitatea AI de a oferi r\u0103spunsuri specifice, direc\u021bionate.  \n Totu\u0219i, aceast\u0103 metod\u0103 avea \u0219i ea limitele sale.\n De\u0219i p\u0103rea promi\u021b\u0103toare la suprafa\u021b\u0103, inteligen\u021ba artificial\u0103 s-a chinuit s\u0103 ofere r\u0103spunsuri exacte la toate tipurile de \u00eentreb\u0103ri.\n De exemplu, c\u00e2nd am \u00eentrebat: &#8222;Autorul este optimist?&#8221;\n sistemul nu a reu\u0219it s\u0103 interpreteze \u00eentrebarea \u00een contextul con\u021binutului relevant.\n \u00cen loc s\u0103 ofere o analiz\u0103 p\u0103trunz\u0103toare bazat\u0103 pe metadate, acesta a oferit fie r\u0103spunsuri vagi, fie niciun r\u0103spuns.    \n Aceast\u0103 abordare m-a \u00eenv\u0103\u021bat o lec\u021bie valoroas\u0103 despre importan\u021ba contextului \u00een IA.\n Nu este suficient s\u0103 se clasifice pur \u0219i simplu informa\u021biile; inteligen\u021ba artificial\u0103 trebuie s\u0103 \u00een\u021beleag\u0103 \u0219i modul \u00een care aceste categorii interac\u021bioneaz\u0103 \u0219i se suprapun pentru a forma o \u00een\u021belegere coerent\u0103 a con\u021binutului.\n F\u0103r\u0103 aceast\u0103 \u00een\u021belegere profund\u0103, chiar \u0219i cele mai sofisticate metode de reg\u0103sire pot fi insuficiente.  \n Structurarea cuno\u0219tin\u021belor: SummaryTreeIndex\n Pe m\u0103sur\u0103 ce am continuat s\u0103 perfec\u021bionez Fabrice AI, am experimentat cu crearea unui SummaryTreeIndex.\n Aceast\u0103 abordare urm\u0103rea s\u0103 rezume toate documentele \u00eentr-un format arborescent, permi\u021b\u00e2nd AI s\u0103 navigheze prin aceste rezumate \u0219i s\u0103 recupereze informa\u021bii relevante pe baza structurii con\u021binutului. \n Ideea era c\u0103, prin rezumarea documentelor, inteligen\u021ba artificial\u0103 poate identifica rapid punctele-cheie \u0219i r\u0103spunde la \u00eentreb\u0103ri cu informa\u021bii concise \u0219i exacte.\n Cu toate acestea, aceast\u0103 metod\u0103 s-a confruntat \u0219i cu provoc\u0103ri semnificative.\n Inteligen\u021ba artificial\u0103 a avut dificult\u0103\u021bi \u00een a oferi r\u0103spunsuri semnificative la interog\u0103ri complexe, precum &#8222;Cum s\u0103 lu\u0103m decizii importante \u00een via\u021b\u0103?&#8221;\n \u00cen loc s\u0103 se bazeze pe con\u021binutul bogat \u0219i nuan\u021bat stocat \u00een cadrul rezumatelor, r\u0103spunsurile AI erau adesea superficiale sau incomplete.   \n Aceast\u0103 experien\u021b\u0103 a scos \u00een eviden\u021b\u0103 dificultatea de a echilibra amploarea \u0219i profunzimea \u00een IA.\n \u00cen timp ce rezumatele pot oferi o imagine de ansamblu la nivel \u00eenalt, adesea nu au contextul detaliat necesar pentru a r\u0103spunde la \u00eentreb\u0103ri mai complexe.\n Mi-am dat seama c\u0103 orice solu\u021bie eficient\u0103 ar trebui s\u0103 integreze at\u00e2t con\u021binut detaliat, c\u00e2t \u0219i rezumate la nivel \u00eenalt, permi\u021b\u00e2nd inteligen\u021bei artificiale s\u0103 apeleze la ambele, dup\u0103 cum este necesar.  \n Acesta este motivul pentru care \u00een versiunea Fabrice AI care este disponibil\u0103 \u00een prezent, AI ofer\u0103 mai \u00eent\u00e2i un rezumat al r\u0103spunsului, \u00eenainte de a intra \u00een mai multe detalii.\n Extinderea orizonturilor: Indexul graficului de cuno\u0219tin\u021be\n Recunosc\u00e2nd limit\u0103rile metodelor anterioare, am apelat la o abordare mai sofisticat\u0103: Knowledge Graph Index.\n Aceast\u0103 abordare a implicat construirea unui graf de cuno\u0219tin\u021be din text nestructurat, permi\u021b\u00e2nd AI s\u0103 se angajeze \u00een interogarea bazat\u0103 pe entit\u0103\u021bi.\n Scopul a fost de a crea o \u00een\u021belegere mai dinamic\u0103 \u0219i mai interconectat\u0103 a con\u021binutului, permi\u021b\u00e2ndu-i AI-ului Fabrice s\u0103 r\u0103spund\u0103 mai eficient la \u00eentreb\u0103ri complexe, bazate pe context.  \n \u00cen ciuda promisiunilor sale, Knowledge Graph Index s-a confruntat \u0219i cu obstacole semnificative.\n Inteligen\u021ba artificial\u0103 s-a chinuit s\u0103 produc\u0103 rezultate exacte, \u00een special pentru interog\u0103rile care necesitau o \u00een\u021belegere profund\u0103 a contextului.\n De exemplu, la \u00eentrebarea &#8222;Care sunt evalu\u0103rile corecte ale Seed &amp; Series A?&#8221;, AI-ul nu a reu\u0219it din nou s\u0103 ofere un r\u0103spuns relevant, subliniind dificultatea integr\u0103rii textului nestructurat \u00eentr-un graf de cuno\u0219tin\u021be coerent.  \n Aceast\u0103 abordare, de\u0219i a e\u0219uat \u00een cele din urm\u0103, a oferit informa\u021bii importante cu privire la provoc\u0103rile utiliz\u0103rii grafurilor de cuno\u0219tin\u021be \u00een IA.\n Complexitatea datelor \u0219i necesitatea unui context precis au \u00eensemnat c\u0103 \u0219i un graf de cuno\u0219tin\u021be bine construit ar putea avea dificult\u0103\u021bi \u00een a furniza rezultatele dorite.\n Un alt dezavantaj al Knowledge Graph Index a fost viteza sa redus\u0103.\n Timpul de r\u0103spuns pentru ob\u021binerea documentelor conexe a fost foarte mare \u00een raport cu un index de tip vector store.   \n Reevaluarea datelor: Gemeni\n Dup\u0103 mai multe e\u0219ecuri, am decis s\u0103 adopt o abordare diferit\u0103 prin valorificarea AI-ului Google, Gemini.\n Ideea era s\u0103 creez seturi de date din fi\u0219iere JSON-CSV \u0219i apoi s\u0103 antrenez un model personalizat LLM folosind aceste date.\n Am sperat c\u0103, prin utilizarea datelor structurate \u0219i a unui model de formare robust, a\u0219 putea dep\u0103\u0219i unele dintre provoc\u0103rile care au afectat \u00eencerc\u0103rile anterioare.  \n Cu toate acestea, aceast\u0103 abordare a \u00eent\u00e2mpinat, de asemenea, dificult\u0103\u021bi.\n Procesul de formare a fost \u00eentrerupt din cauza format\u0103rii incorecte a datelor, ceea ce a \u00eempiedicat formarea eficient\u0103 a modelului.\n Acest e\u0219ec a subliniat importan\u021ba integrit\u0103\u021bii datelor \u00een formarea inteligen\u021bei artificiale.\n F\u0103r\u0103 date corect formatate \u0219i structurate, chiar \u0219i cele mai avansate modele pot s\u0103 nu func\u021bioneze conform a\u0219tept\u0103rilor.   \n Aceast\u0103 experien\u021b\u0103 m-a determinat s\u0103 iau \u00een considerare poten\u021bialul de a utiliza BigQuery pentru a stoca date JSON, oferind o platform\u0103 mai scalabil\u0103 \u0219i mai fiabil\u0103 pentru gestionarea seturilor mari de date necesare pentru a antrena Fabrice AI \u00een mod eficient.\n Combinarea punctelor forte: Documente Langchain cu Pinecone\n \u00cen ciuda provoc\u0103rilor \u00eent\u00e2mpinate p\u00e2n\u0103 acum, am fost hot\u0103r\u00e2t s\u0103 g\u0103sesc o solu\u021bie care s\u0103-i permit\u0103 lui Fabrice AI s\u0103 stocheze \u0219i s\u0103 recupereze eficient cuno\u0219tin\u021bele.\n Aceast\u0103 determinare m-a determinat s\u0103 experimentez cu documentele Langchain \u0219i Pinecone.\n Abordarea a implicat crearea unui depozit vectorial Pinecone folosind documente Langchain \u0219i \u00eencorpor\u0103ri OpenAI, apoi recuperarea celor mai asem\u0103n\u0103toare documente pe baza interog\u0103rii.  \n Aceast\u0103 metod\u0103 s-a dovedit promi\u021b\u0103toare, \u00een special atunci c\u00e2nd interogarea a inclus titlul documentului.\n De exemplu, la \u00eentrebarea &#8222;Care este cheia fericirii?&#8221;, inteligen\u021ba artificial\u0103 a fost capabil\u0103 s\u0103 recupereze \u0219i s\u0103 rezume cu exactitate con\u021binutul relevant.\n Cu toate acestea, au existat \u00eenc\u0103 limit\u0103ri, \u00een special atunci c\u00e2nd interogarea nu con\u021binea cuvinte-cheie sau titluri specifice.  \n Aceast\u0103 abordare a demonstrat poten\u021bialul de combinare a diferitelor tehnologii pentru a \u00eembun\u0103t\u0103\u021bi performan\u021ba AI.\n Prin integrarea documentelor Langchain cu magazinul vectorial Pinecone, am reu\u0219it s\u0103 \u00eembun\u0103t\u0103\u021besc relevan\u021ba \u0219i acurate\u021bea r\u0103spunsurilor AI, de\u0219i cu unele limit\u0103ri. \n Atingerea consecven\u021bei: Constructorul GPT OpenAI\n Dup\u0103 ce am explorat diverse metode \u0219i tehnologii, am apelat la GPT Builder de la Open AI pentru a consolida \u0219i a rafina cuno\u0219tin\u021bele stocate \u00een Fabrice AI.\n Prin \u00eenc\u0103rcarea \u00eentregului con\u021binut \u00eentr-o baz\u0103 de cuno\u0219tin\u021be GPT, am urm\u0103rit s\u0103 creez o platform\u0103 mai coerent\u0103 \u0219i mai fiabil\u0103 pentru recuperarea \u0219i interac\u021biunea cu cuno\u0219tin\u021bele mele. \n Aceast\u0103 abordare s-a dovedit a fi una dintre cele mai reu\u0219ite, inteligen\u021ba artificial\u0103 fiind capabil\u0103 s\u0103 ofere rezultate mai bune \u00eentr-o gam\u0103 larg\u0103 de interog\u0103ri.\n Cheia acestui succes a fost integrarea tuturor cuno\u0219tin\u021belor \u00eentr-un singur sistem coerent, permi\u021b\u00e2nd AI s\u0103 se bazeze pe \u00eentreaga gam\u0103 de con\u021binut atunci c\u00e2nd r\u0103spunde la \u00eentreb\u0103ri. \n Dup\u0103 cum am men\u021bionat \u00een postarea mea anterioar\u0103, nu am putut s\u0103 o fac s\u0103 ruleze pe site-ul meu \u0219i a fost disponibil\u0103 numai pentru abona\u021bii pl\u0103ti\u021bi ai Chat GPT, ceea ce am sim\u021bit c\u0103 era prea limitativ.\n De asemenea, de\u0219i era mai bine, tot nu-mi pl\u0103cea calitatea r\u0103spunsurilor \u0219i nu m\u0103 sim\u021beam confortabil s\u0103 o eliberez publicului. \n Rafinare final\u0103: Asisten\u021bi GPT utiliz\u00e2nd modelul 4o\n Piesa final\u0103 a puzzle-ului \u00een dezvoltarea Fabrice AI a venit odat\u0103 cu introducerea asisten\u021bilor GPT folosind modelul 4o.\n Aceast\u0103 abordare a reprezentat punctul culminant al tot ceea ce am \u00eenv\u0103\u021bat pe parcursul proiectului.\n Prin utilizarea unei baze de date vectoriale \u0219i rafinarea solicit\u0103rilor, am urm\u0103rit s\u0103 ating cel mai \u00eenalt nivel posibil de acurate\u021be \u0219i \u00een\u021belegere contextual\u0103 \u00een r\u0103spunsurile AI.  \n Aceast\u0103 metod\u0103 a presupus \u00eenc\u0103rcarea tuturor cuno\u0219tin\u021belor pe care le-am acumulat \u00eentr-o baz\u0103 de date vectorial\u0103, care a fost apoi utilizat\u0103 ca baz\u0103 pentru interac\u021biunile inteligen\u021bei artificiale.\n Baza de date vectorial\u0103 a permis AI-ului s\u0103 efectueze c\u0103ut\u0103ri mai sofisticate, recuper\u00e2nd informa\u021bii pe baza semnifica\u021biei semantice a interog\u0103rilor, \u00een loc s\u0103 se bazeze exclusiv pe potrivirea cuvintelor cheie.\n Acest lucru a marcat un progres semnificativ fa\u021b\u0103 de abord\u0103rile anterioare, permi\u021b\u00e2nd AI s\u0103 \u00een\u021beleag\u0103 \u0219i s\u0103 r\u0103spund\u0103 mai bine la \u00eentreb\u0103ri complexe \u0219i nuan\u021bate.  \n Una dintre inova\u021biile cheie ale acestei abord\u0103ri a fost rafinarea atent\u0103 a solicit\u0103rilor.\n Prin elaborarea \u0219i testarea meticuloas\u0103 a diferitelor solicit\u0103ri, am reu\u0219it s\u0103 ghidez inteligen\u021ba artificial\u0103 c\u0103tre furnizarea unor r\u0103spunsuri mai exacte \u0219i mai relevante.\n Acest lucru a implicat nu numai ajustarea formul\u0103rii solicit\u0103rilor, ci \u0219i experimentarea diferitelor modalit\u0103\u021bi de structurare a \u00eentreb\u0103rilor pentru a ob\u021bine cele mai bune r\u0103spunsuri posibile.  Rezultatele au fost impresionante.\n Inteligen\u021ba artificial\u0103 era acum capabil\u0103 s\u0103 gestioneze o gam\u0103 larg\u0103 de interog\u0103ri cu o precizie ridicat\u0103, chiar \u0219i atunci c\u00e2nd \u00eentreb\u0103rile erau deschise sau necesitau o \u00een\u021belegere profund\u0103 a contextului.\n De exemplu, la \u00eentrebarea &#8222;Cum s\u0103 iei cele mai importante decizii din via\u021ba ta?&#8221;\n AI-ul a oferit un r\u0103spuns cuprinz\u0103tor \u0219i p\u0103trunz\u0103tor, baz\u00e2ndu-se pe o varietate de surse \u0219i perspective pentru a oferi un r\u0103spuns complet.   \n Acest succes a fost punctul culminant al sute de ore de munc\u0103 \u0219i nenum\u0103rate experimente.\n Acesta a demonstrat c\u0103, cu combina\u021bia potrivit\u0103 de tehnologie \u0219i rafinament, este posibil s\u0103 se creeze o inteligen\u021b\u0103 artificial\u0103 care nu numai c\u0103 poate stoca \u0219i extrage informa\u021bii \u00een mod eficient, dar \u0219i s\u0103 se implice \u00een mod semnificativ \u00een acestea.\n Dezvoltarea asisten\u021bilor GPT cu ajutorul modelului 4o a marcat momentul \u00een care inteligen\u021ba artificial\u0103 Fabrice \u0219i-a intrat cu adev\u0103rat \u00een drepturi, ating\u00e2nd nivelul de sofisticare \u0219i precizie pe care mi l-am imaginat de la \u00eenceput.\n API-ul GPT Assistants a fost apoi integrat \u00een blogul meu pentru a permite utilizatorilor finali s\u0103 interac\u021bioneze cu Fabrice AI \u00een modul \u00een care \u00eel vede\u021bi pe blog chiar acum.   \n Reflect\u00e2nd asupra c\u0103l\u0103toriei\n Procesul de dezvoltare a AI Fabrice a eviden\u021biat complexitatea lucrului cu AI, \u00een special atunci c\u00e2nd vine vorba de \u00een\u021belegerea \u0219i contextualizarea informa\u021biilor.\n M-a \u00eenv\u0103\u021bat c\u0103 nu exist\u0103 scurt\u0103turi \u00een dezvoltarea AI &#8211; fiecare pas, fiecare itera\u021bie \u0219i fiecare experiment este o parte necesar\u0103 a c\u0103l\u0103toriei c\u0103tre crearea a ceva cu adev\u0103rat eficient. \n Privind \u00eenainte, sunt \u00eenc\u00e2ntat s\u0103 continui s\u0103 perfec\u021bionez \u0219i s\u0103 extind Fabrice AI.\n A\u0219a cum am men\u021bionat \u00een ultima postare, voi revizui \u00eentreb\u0103rile adresate pentru a completa baza de cuno\u0219tin\u021be acolo unde exist\u0103 lacune.\n De asemenea, sper s\u0103 lansez \u00een cele din urm\u0103 o versiune interactiv\u0103 care arat\u0103 \u0219i sun\u0103 ca mine \u0219i cu care pute\u021bi vorbi.  \n ","Category":["Reflec\u021bii personale","Gadgeturi tehnice"],"_links":{"self":[{"href":"https:\/\/grinda.org\/ro\/wp-json\/wp\/v2\/posts\/46241","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/grinda.org\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/grinda.org\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/grinda.org\/ro\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/grinda.org\/ro\/wp-json\/wp\/v2\/comments?post=46241"}],"version-history":[{"count":1,"href":"https:\/\/grinda.org\/ro\/wp-json\/wp\/v2\/posts\/46241\/revisions"}],"predecessor-version":[{"id":46243,"href":"https:\/\/grinda.org\/ro\/wp-json\/wp\/v2\/posts\/46241\/revisions\/46243"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/grinda.org\/ro\/wp-json\/wp\/v2\/media\/46228"}],"wp:attachment":[{"href":"https:\/\/grinda.org\/ro\/wp-json\/wp\/v2\/media?parent=46241"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/grinda.org\/ro\/wp-json\/wp\/v2\/categories?post=46241"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/grinda.org\/ro\/wp-json\/wp\/v2\/tags?post=46241"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}