L'option technologique la plus pragmatique pour atteindre notre objectif.
Tout d'abord, nous tĂ©lĂ©chargeons l'intégralité du site web lex4you Ă l'aide d'un robot d'exploration (crawler) et dĂ©coupons les informations en unitĂ©s faciles Ă digĂ©rer pour le Large Language Model / LLM (modĂšle de langage de grande taille). Ces segments sont vectorisĂ©s Ă l'aide d'incrustations (embeddings) et stockĂ©s dans une base de donnĂ©es de vecteurs. GrĂące Ă ces embeddings, nous trouvons rapidement les documents correspondant Ă une question posĂ©e, que nous envoyons au LLM pour obtenir une rĂ©ponse, accompagnĂ©e de la question d'origine. Enfin, nous fournissons la rĂ©ponse avec les rĂ©fĂ©rences directement. Cette approche est appelĂ©e "Retrieval Augmented Generation" (RAG).
Ces rĂ©fĂ©rences sont extrĂȘmement utiles. Ătant donnĂ© qu'un LLM peut parfois "halluciner" et inventer des choses, ces informations aident les utilisateurs Ă vĂ©rifier les dĂ©clarations. Dâautre part, le fait de se baser sur un corpus restreint, et non le web entier, rĂ©duit aussi le risque dâhallucinations. De toute maniĂšre, il est vivement conseillĂ© de vĂ©rifier les rĂ©ponses donnĂ©es en lisant les articles reliĂ©s Ă la rĂ©ponse, une recommandation qui vaut pour tout usage de ChatGPT ou autre LLM.
Fiche technique
Récupération et indexation du contenu :
- NestJS : back-end
- Vuejs : application frontend trÚs simple pour envoyer la question au backend et afficher le résultat
- PostgreSQL : base de données (avec extension pgvector)
- SimpleCrawler : parcourt lâintĂ©gralitĂ© du site web et introduit des donnĂ©es dans la base de donnĂ©es
- Cheerio : extrait le contenu pertinent et l'intÚgre dans la base de données
- OpenAI integration API : a reçu ces extraits pertinents, pour que nous stockions les intégrations reçues dans la base de données
Interrogation du contenu :
- OpenAI integration API : gĂ©nĂšre un vecteur dâintĂ©gration lorsquâon lui transmet une question
- Vector : recherche dans la base de données pour extraire des parties de textes et URLs
- Prompt : inclut les extraits jusquâĂ atteinte de la taille limite
- OpenAI âcreateChatCompletionâ API : traite les informations reçues pour envoi du rĂ©sultat au navigateur avec Server Sent Events (tous les liens utiles trouvĂ©s dans notre base de donnĂ©es sont aussi affichĂ©s pour rĂ©fĂ©rence et source)
Quid de la protection des données�
MalgrĂ© tous ces atouts, ChatGPT ne fait pas preuve de transparence complĂšte quant Ă lâutilisation des donnĂ©es. Pour pallier ce problĂšme, les donnĂ©es et documents du site lex4you ne sont pas stockĂ©es chez OpenAI, mais uniquement sur nos serveurs. Nous prenons la protection des donnĂ©es trĂšs au sĂ©rieux et examinons Ă©galement des solutions d'hĂ©bergement alternatives telles qu'Azure OpenAI, offrant des politiques de protection des donnĂ©es amĂ©liorĂ©es. Une autre option serait de se passer de la solution cloud de ChatGPT. Cependant, les options de LLM open source sont pour lâheure synonymes de coĂ»ts initiaux et opĂ©rationnels trĂšs importants.
La solution lex4youGPT est une nouvelle preuve de la puissance de GPT pour amĂ©liorer simplement le quotidien, amĂ©liorant lâaccessibilitĂ© de telles infos dâintĂ©rĂȘt public. Tout cela, grĂące Ă l'Ă©norme travail en amont rĂ©alisĂ© par l'Ă©quipe de lex4you lors des cinq derniĂšres annĂ©es. C'est parce qu'ils ont Ă©crit tant de contenus de qualitĂ© que lex4youGPT fonctionne bien.
Ton site contient une multitude dâinformations prĂ©cieuses, qui pourraient ĂȘtre trouvĂ©es plus facilementâŻ? Contacte-nous pour que nous puissions dĂ©velopper un chatbot fondĂ© sur ChatGPT.