Que va-t-on voir aujourd’hui ? 🤖 Développer un chatbot en Java / LangChain4J / Quarkus 📚 Développer une analyse de texte (sentiments, émotions, …) en JavaScript 🎙 Développer une application de text to speech et de speech to text en Python
@titimoby - @wildagsx
Slide 9
🧐 IA / ML / LLM 🤖
@titimoby - @wildagsx
Slide 10
🧠 Les différentes catégories de l’IA 👉 Actuellement IA ~ Machine Learning 👉 Artificial Narrow Intelligence (ANI) / Weak AI 👉 Artificial General Intelligence (AGI) / Strong AI 👉 Artificial Super Intelligence (ASI)
@titimoby - @wildagsx
Slide 11
Apprendre … 👉 IA : Techniques pour simuler les capacités “intelligentes” d’un être humain 👉 ML : Techniques pour qu’une machine apprenne sans algorithme supplémentaire par l’ingestion de données d’exemples 👉 DL : ML utilisant poussée des réseaux de neurones pour améliorer les performances dans les déductions
@titimoby - @wildagsx
Slide 12
🔎 Le Machine Learning dans le détail
👉 Supervised learning : apprentissage proche de ce que l’on fait avec l’Homme 👉 Unsupervised learning : apprentissage par patterns et regroupements 👉 Reinforcement learning: apprentissage par renforcement avec système de “récompenses”
@titimoby - @wildagsx
Slide 13
🗃 Sans donnée … pas d’intelligence ! 🧹 La plupart du temps les données sont brutes : il faudra les nettoyer, les pré-traiter, les transformer, … 📀 Il va falloir les transformer en Dataset (en gros une base de données pour IA) et les labelliser 🧪 Un dataset contient les données d’apprentissage, de validations et de tests 🧮 Enfin, ce sont des vecteurs et autres matrices qui seront manipulés par le modèle
@titimoby - @wildagsx
Slide 14
🧠 Deep learning & Réseau de neurones 💪 L’étape d’après … Plus puissante, plus complexe 🧠 Analogie avec les neurones humain plutôt fausse ↔ Essentiellement due au mécanisme d’inter-connexions
⚖ w* sont les poids et permettent d’ajuster le comportement du réseau 🐛 b* sont les biais pour rendre le modèle “plus réaliste” et influer sur la fonction d’activation 🔀 F* sont les fonctions d’activation @titimoby - @wildagsx
Slide 15
Slide 16
AI Endpoints / Modèles 🧠
@titimoby - @wildagsx
Slide 17
AI Endpoints en quelques mots 🤝 LLM as a Service 💰 Beta ~ avril 2025 (gratuit) 🧩 Dispo des LLM via des API 🧠 Catégories des modèles ● ● ● ● ● ●
Assistants : CodeLlama 13b, Llama 3 70b, Mixtral 8x22b, … Embedding : BGE base, Multilingual E5, … NLP: Bart, Bert, … Translation : T5 large, … Audio : Nvidia RIVA ASR Vision : Yolo V8, …
🔗 https://endpoints.ai.cloud.ovh.net
@titimoby - @wildagsx
Slide 18
🚀 Démo ! 🚀
@titimoby - @wildagsx
Slide 19
Cloud Development Environment
@titimoby - @wildagsx
Slide 20
Cloud Development Environment Le code du projet
Un éditeur de code
Un environnement d’exécution
@titimoby - @wildagsx
Slide 21
A la demande
Pour tester une idée Expérimenter différentes solutions Partager une session de travail entre collègues … sky is the limit (et le coût de votre offre de CDE 😇 )
@titimoby - @wildagsx
Slide 22
Reproductible - Environnement décrit précisément - Configuration versionnée avec le code - Cohérence entre l’environnement et le code lui même
@titimoby - @wildagsx
Slide 23
Le CDE pour cet atelier : Coder
Hébergé chez OVHcloud pour les besoins de cet atelier Accessible par : https://workshop.labdevrel.ovh/ Deux fichiers 📝 de configuration : Dockerfile main.tf 3 modes d’accès : ○ code-server ○ VS Code Desktop ○ Terminal
@titimoby - @wildagsx
🔀 Fork du repository GitHub 🐙 Projet à forker : https://github.com/devrel-workshop/ai-as-lib-workshop
https://ovh.to/DGo3c1a @titimoby - @wildagsx
Slide 27
🔐 Récupération du token 🖖 Facultatif
https://ovh.to/8stq8bE
🚧 Permet d’augmenter les rates limits 🔓 1 requêtes / ip /seconde ou 12 par minutes pour les utilisateurs anonymes (ou pour les tokens expirés) 🔐 250 requêtes / seconde et 1000 requêtes / minute pour les utilisateurs authentifiés
🗓 Token valide x jours
https://endpoints.ai.cloud.ovh.net/
☁ Nécessite un projet Public Cloud
@titimoby - @wildagsx
Slide 28
📊 Et si on vous laissait choisir ? 📊
@titimoby - @wildagsx
Slide 29
🤖 Chatbot ☕
@titimoby - @wildagsx
Slide 30
Java : 101 pour cet atelier
the java logo, stable diffusion on AI Endpoints
@titimoby - @wildagsx
Slide 31
☕ Java 👴 Langage objet … datant de 1996 🧰 Basé sur une machine virtuelle (JVM) et un development kit (JDK) 💰 Largement représenté en entreprise 📦 Depuis quelques années : une release tous les 6 mois (une LTS tous les 3 ans)
@titimoby - @wildagsx
Slide 32
🦜 LangChain4J & Quarkus ☕ 🦜 LanChain4j 🔀 Dérivé du projet originel LangChain 🧠 Accès à des providers pré-définis : OpenAI, Mistral, Ollama, … 🧰 RAG / Templating de prompt / Streaming / …
⚡ Quarkus pour la facilité les développements Java ☁ Cloud native 🧩 Utilisation du l’extension quarkus-lanchain4j
@titimoby - @wildagsx
Slide 33
💡 Les concepts utilisés aujourd’hui 📦 Maven pour la gestion des dépendances 🧩 Une classe avec un main ⚡ Quarkus ● ●
Notion d’interface Notion de services HTTP
@titimoby - @wildagsx
JavaScript : 101 pour cet atelier
the JavaScript logo, stable diffusion on AI Endpoints
@titimoby - @wildagsx
Slide 39
🕸 JavaScript 😡 Non ce n’est pas basé sur Java 👴 Présent depuis très longtemps sur nos machines et nos navigateurs 🚀 S’émancipe du navigateur pour devenir “full stack” 💰 Largement représenté en entreprise ☺ Simple pour faire une approche script (ce qui sera le cas ici)
@titimoby - @wildagsx
Slide 40
💡 Les concepts utilisés aujourd’hui 📦 NPM pour la gestion des dépendances 🧩 Un script par exercice
@titimoby - @wildagsx
Python : 101 pour cet atelier
@titimoby - @wildagsx
Slide 46
Python : pourquoi ce choix ? ● 🛠 Langage simple d’approche mais qui reste complet ● 🔋 “All batteries included” ● 🔬 Choix des communautés data science et data analysis
@titimoby - @wildagsx
Slide 47
Python : concepts pour aujourd’hui ● 📁 Les fichiers requirements.txt ● 📝 L’instruction import ● 🫙 Venv : isolation de votre Python
@titimoby - @wildagsx
Slide 48
🧠 Modèles utilisés 💬 📝 NVIDIA Riva
the NVIDIA logo, stable diffusion on AI Endpoints
@titimoby - @wildagsx
Liens 🔗 Documentations OVHcloud univers IA 🔗 Enhance your applications with AI Endpoints 🔗 How to use AI Endpoints and LangChain4j 🔗 LLMs streaming with AI Endpoints and LangChain4j 🔗 AI Endpoints 🔗 Repository GitHub du workshop
@titimoby - @wildagsx