L'Architecture en Microservices : Approfondissement et Schémas
Pourquoi passer d'un monolithe à une structure en microservice ?
Comment intégrer des modèles d'apprentissage automatique dans une application React
L'intelligence artificielle (IA) prend une place de plus en plus importante dans le développement de logiciels modernes, offrant aux développeurs web de nouvelles possibilités pour améliorer l'expérience utilisateur. Cet article explore comment intégrer des modèles d'apprentissage automatique (Machine Learning) dans une application React, pour ajouter des fonctionnalités intelligentes telles que la reconnaissance d'image, le traitement du langage naturel ou encore les prédictions en temps réel.
Les applications alimentées par l'IA permettent d'ajouter des fonctionnalités sophistiquées qui seraient difficiles à implémenter autrement. Voici quelques exemples d'utilisation :
Intégrer l'IA dans une application web ne signifie pas forcément créer un modèle de A à Z. Il est possible d'utiliser des modèles préentraînés, disponibles via des services cloud ou des bibliothèques JavaScript.
Il existe deux manières principales d'intégrer un modèle d'apprentissage automatique dans une application React :
TensorFlow.js est une bibliothèque JavaScript permettant d'exécuter des modèles d'apprentissage automatique directement dans le navigateur ou sur Node.js. Voici un exemple d'intégration simple d'un modèle de reconnaissance d'image dans une application React.
Commencez par installer TensorFlow.js avec npm :
npm install @tensorflow/tfjs
Vous pouvez aussi ajouter des modèles préentraînés spécifiques comme @tensorflow-models/mobilenet
pour la reconnaissance d'image.
Dans cet exemple, nous utiliserons le modèle MobileNet pour identifier les objets présents dans une image :
import React, { useState, useEffect } from 'react';
import * as mobilenet from '@tensorflow-models/mobilenet';
import '@tensorflow/tfjs';
function App() {
const [model, setModel] = useState(null);
const [image, setImage] = useState(null);
const [predictions, setPredictions] = useState([]);
useEffect(() => {
// Charger le modèle MobileNet
mobilenet.load().then(loadedModel => {
setModel(loadedModel);
});
}, []);
const handleImageUpload = (event) => {
const file = event.target.files[0];
const reader = new FileReader();
reader.onload = () => {
setImage(reader.result);
};
reader.readAsDataURL(file);
};
const handlePredict = async () => {
if (model && image) {
const imgElement = document.getElementById('inputImage');
const predictions = await model.classify(imgElement);
setPredictions(predictions);
}
};
return (
<div>
<h1>Reconnaissance d'images avec TensorFlow.js</h1>
<input type="file" accept="image/*" onChange={handleImageUpload} />
{image && <img id="inputImage" src={image} alt="uploaded" />}
<button onClick={handlePredict}>Analyser l'image</button>
{predictions.length > 0 && (
<ul>
{predictions.map((prediction, index) => (
<li key={index}>
{prediction.className} - {(prediction.probability * 100).toFixed(2)}%
</li>
))}
</ul>
)}
</div>
);
}
export default App;
Dans cet exemple, l'application charge un modèle MobileNet, permet à l'utilisateur de télécharger une image et effectue la classification des objets présents dans celle-ci.
Les modèles d'IA peuvent être gourmands en ressources. Pour optimiser les performances dans une application React :
Pour le traitement du langage naturel (NLP), Hugging Face propose des modèles préentraînés accessibles via l'API transformers
. Ces modèles peuvent être utilisés pour des tâches telles que l'analyse de sentiments, la génération de texte, ou la réponse à des questions.
Vous pouvez utiliser l'API de Hugging Face pour envoyer des requêtes de traitement de texte :
import React, { useState } from 'react';
function SentimentAnalysis() {
const [text, setText] = useState('');
const [result, setResult] = useState(null);
const handleAnalyze = async () => {
const response = await fetch('https://api-inference.huggingface.co/models/distilbert-base-uncased-finetuned-sst-2-english', {
method: 'POST',
headers: { 'Authorization': 'Bearer YOUR_HUGGING_FACE_API_KEY' },
body: JSON.stringify({ inputs: text }),
});
const data = await response.json();
setResult(data[0]);
};
return (
<div>
<h1>Analyse de sentiments</h1>
<textarea value={text} onChange={(e) => setText(e.target.value)} />
<button onClick={handleAnalyze}>Analyser</button>
{result && (
<div>
<p>Label : {result.label}</p>
<p>Score : {(result.score * 100).toFixed(2)}%</p>
</div>
)}
</div>
);
}
export default SentimentAnalysis;
Cet exemple montre comment effectuer une analyse de sentiments sur un texte en utilisant un modèle Hugging Face.
L'intégration de l'IA dans les applications web permet de créer des expériences utilisateur plus intelligentes et engageantes. Les bibliothèques comme TensorFlow.js et les services comme Hugging Face facilitent l'ajout de fonctionnalités avancées telles que la reconnaissance d'image et le traitement du langage naturel. Avec les bons outils et une approche stratégique, l'IA devient accessible même aux développeurs web sans expertise en data science.
Que ce soit pour des projets personnels ou des applications d'entreprise, explorer l'IA dans le développement web peut ouvrir la porte à de nouvelles opportunités.