TPs LLMs, LangChain4j, RAG
Page Home (contact)
Installation des logiciels
Démarche à suivre
Remarques préalables à tous les TPs
En cas de problèmes, à lire attentivement :
- La première chose à faire est de regarder les erreurs éventuelles dans les logs du serveur d'application Payara. Pour les voir, ouvrez la console d'administration de Payara (http://localhost:4848, menu de gauche > server (Admin Server) , onglet General et clic sur ViewLog Files (vue "logique" avec des filtres pour sélectionner les messages) ou View RawLog. Vous pouvez y accéder directement avec les URLs http://localhost:4848/common/logViewer/logViewer.jsf?instanceName=server&loglevel=INFO&viewResults=true et http://localhost:4848/common/logViewer/logViewerRaw.jsf?instanceName=server.
- S'il y a un message d'erreur qui semble lié à votre problème, mais que vous n'en comprenez pas la cause ou que vous ne savez pas quoi faire, continez la recherche.
- Copiez le message d'erreur et cherchez-le dans les annexes (problèmes rencontrés par les étudiants depuis des années avec Jakarta EE et Java EE).
- Si votre problème n'est pas répertorié dans les annexes,
- Cherchez le message d'erreur sur le Web.
- Une IA peut être utile, si elle a pris connaissance de votre type de problème pendant son apprentissage.
- Allez voir stackoverflow. Souvent quelqu'un a déjà eu votre problème et on lui a répondu. Si vous devez poser votre propre question, cette page peut vous aider à poser correctement votre question.
- Demandez de l'aide à vos camarades. Si vous voulez, vous pouvez utiliser le forum des étudiants.
- Seulement si tous les points précédents n'ont rien donné, envoyez-moi un message pour me demander de l'aide. Si je vous demande de m'envoyer votre projet, suivez bien ce guide. Attention à bien indenter votre code avant de me l'envoyer pour me faciliter la tâche.
- Pour demander de l'aide, lisez attentivement ce guide. En particulier, si vous ne le suivez pas en demandant de l'aide à l'enseignant, c'est à vos risques et périls ;-).
- Si le message d'erreur mentionne un plugin Maven, mettez à jour ce plugin avec la dernière version (effacez la valeur de la version dans pom.xml, placez-vous à l'intérieur de la balise
<version>
et tapez Ctrl-Espace pour avoir la liste des versions disponibles).
- Si vos modifications semblent ne pas être prises en compte lors de l'exécution, un redémarrage du serveur (au lieu d'un simple déploiement de l'application) peut être la solution.
- Pour un démarrage plus rapide du serveur d'application, faites un Undeploy des projets qui ne vous sont pas utiles pour le moment. Vous pouvez faire un undeploy d'une application avec la console d'administration de Payara (http://localhost:4848 si Payara est démarré).
- Lorsque vous rencontrez un message d'erreur très étrange dans les logs du serveur d'application, la première chose à faire est un "Clean and build" du projet avant de relancer l'exécution.
- Pour les cas les plus complexes vous pourrez avoir besoin d'utiliser les outils de développement des navigateurs pour résoudre un problème lié à l'interface utilisateur. Voyez, en particulier, comment vider le cache quand vous utilisez du JavaScript dans vos pages Web.
Nommage des projets et des packages de vos projets pour les TPs
Pour le cas où l'enseignant voudrait tester votre projet localement, ou bien si vous demandez de l'aide en envoyant votre projet, vous devez éviter des interférences vos projets et les projets d'une autre personne. Pour cela, votre nom doit apparaitre dans le nom du projet et dans les noms des paquetages. Par exemple, « TP 1 de xxxxx » (xxxxx pour votre nom) pour le nom du projet et des paquetages avec des noms du type « ma.emsi.xxxxx.tp1.entities » (vous êtes libre de choisir un autre nom, du moment que votre nom y est inclus). "ma.emsi" si vous êtes de l'EMSI ; adaptez à l'institution dans laquelle vous travaillez.
Enoncés des TPs
- TP 0 : Présentation rapide de Jakarta EE.
- TP 1 : Application Web de type Chatbot avec Jakarta EE (JSF en particulier). Utilisation directe d'un LLM, structure des messages échangés.
- TP 2 : Application Web de type Chatbot. LangChain4j pour travailler avec le LLM. Streaming avec WebSocket.
- TP 3 : Application REST qui utilise un LLM.
- TP 4 : RAG
Page du cours