Imaginez un assistant de laboratoire capable de prendre des notes pour vous, de contrôler votre équipement de laboratoire, de tracer vos données et d'analyser tous vos résultats en une seule fois. Ce concept existe depuis, en gros, toujours. Ce qui est nouveau dans ce domaine, c'est qu'aucun humain ne réalisera les activités mentionnées - l'IA le fera. Dans cet article, nous allons examiner une technologie révolutionnaire qui nous donne le pouvoir de tirer parti d'un assistant de laboratoire géré par l'IA en utilisant uniquement notre smartphone et un Raspberry Pi.
Plutôt que de montrer d'abord la mise en œuvre, examinons les applications pratiques de notre assistant de laboratoire IA. Un défi commun auquel je suis confronté est la procédure de mise en marche d'une nouvelle carte. Je suis constamment en train de sonder différentes parties d'une carte avec une main, d'ajuster mon oscilloscope avec une autre, et ensuite d'essayer d'allumer et d'éteindre mon alimentation électrique également (pour observer le courant d'appel ou d'autres caractéristiques de mise en marche). Ajoutez à cela la tâche d'activer une charge électronique DC, et vous manquez rapidement de mains. Dans le meilleur des cas, vous pouvez avoir un partenaire pour vous aider à démarrer une carte. Si vous êtes seul, jongler avec toutes ces tâches peut être assez ennuyeux.
Et si nous avions un moyen de donner des instructions à notre assistant IA pour alimenter ou activer nos instruments séquentiellement ?
Figure 1 : Demande de réglage et de mise en marche de mon alimentation électrique en langage naturel
Prenons les choses encore plus loin et voyons si cela peut également acquérir des données pour nous
Figure 2 : Lecture de la tension et du courant de l'alimentation électrique
En utilisant l'interpréteur de code (également connu sous le nom d'analyse de données avancée), nous pouvons tirer parti des bibliothèques de visualisation pour tracer les données que nous avons acquises des instruments sans même lever le petit doigt.
Figure 3 : Demande de tracé
Figure 4 : Code de tracé et résultats
Maintenant que vous avez vu quelques exemples, voyons comment tout cela fonctionne.
Dans Comment construire une action GPT personnalisée pour communiquer avec votre matériel, nous avons assemblé une application très simple qui active une LED connectée à un Raspberry Pi en utilisant des requêtes en langage naturel à ChatGPT. Dans Rétrofitage des instruments de laboratoire avec des capacités IoT en utilisant l'IA générative, nous avons construit un service web autour de nos instruments afin qu'ils puissent être contrôlés via Internet. Nous allons fusionner les concepts des deux articles pour créer notre assistant de laboratoire IA.
En principe, notre approche reflète celle de l'article précédent mais avec une complexité ajoutée. Le modèle de langage de grande taille, dans ce cas le moteur GPT 4 de ChatGPT, ne change pas. La seule mise à jour de ChatGPT est un document OpenAPI modifié qui fournit des détails sur les fonctionnalités que je propose pour l'action GPT personnalisée. Par exemple, plutôt que de lui donner simplement un point de terminaison de base tel que « activer une LED » ou « récupérer un nombre généré aléatoirement depuis mon serveur », je lui instruis de « activer la sortie sur l'alimentation DP832 ». Toutes ces instructions peuvent être trouvées dans le fichier openapi.yaml au sein du dépôt.
Tout comme nous l'avons fait dans Comment construire une action GPT personnalisée pour communiquer avec votre matériel, nous aurons besoin de notre certificat SSL, du openapi.yaml, des fichiers de configuration Nginx, et de tous nos fichiers Docker pour construire l'application complète. La configuration de Nginx change légèrement car nous avons maintenant plusieurs applications web fonctionnant indépendamment les unes des autres. J'ai configuré des routes vers chacune séparément au lieu d'exécuter un seul monolithe. Vous pourriez les regrouper en une seule application web si vous le souhaitez. Le Dockerfile et Docker Compose sont un peu plus délicats car nous construisons une image de base puis la personnalisons deux fois pour chaque application web individuelle. Tous les détails peuvent être trouvés dans le dépôt.
Le dépôt a été configuré pour fonctionner directement en supposant que vous avez Docker installé et suivi le README pour configurer votre certificat et remplacer certains fichiers par votre nom de domaine. Pour simplifier, l'exécution de cela sur un Raspberry Pi (ou une autre boîte Linux légère) donnera les meilleurs résultats. Examinons un dernier exemple qui démontre vraiment la puissance de l'IA en conjonction avec le contrôle des instruments de laboratoire.
Un assistant sophistiqué
Maintenant que nous avons mis en place tout notre écosystème, nous pouvons commencer à donner à notre assistant des tâches plus complexes comme celle-ci :
J'ai connecté mon alimentation directement à ma charge électronique DC. Je veux examiner la perte dans le câblage entre les deux instruments. Voici les étapes que je veux que vous suiviez pour obtenir ces informations :
1. Régler l'alimentation sur 5V à 1A
2. Activer l'alimentation
3. Régler la charge électronique DC en mode de contrôle de courant et l'activer
4. Mesurer la tension de l'alimentation (et stocker cela pour plus tard)
5. Mesurer la tension de la charge électronique DC (et stocker cela pour plus tard)
6. Régler le courant de décharge de la charge électronique DC à 0.1A
7. Répéter les étapes 4-6 pour les valeurs de courant de décharge suivantes : 0.5A, 0.9A
8. Créer un graphique avec le numéro de l'essai sur l'axe des X. La tension de l'alimentation et la tension de la charge électronique DC devraient être des lignes séparées sur l'axe des Y.
Note : La seule réponse que je veux de vous est un résumé en une ligne de l'analyse et la vue du graphique que vous me fournirez.
Le résultat :
Figure 5 : Réponse finale
Comme vous pouvez le voir, cela ne se contente pas d'effectuer une série d'opérations pour nous, mais cela peut également tracer et analyser les résultats pour nous. Ce n'est pas juste votre robot d'instruction standard que nous avons observé dans le passé - c'est quelque chose de bien plus grand.
Dans cet article, nous avons démontré certaines des capacités de notre assistant de laboratoire IA et parcouru certains des composants nécessaires pour le mettre en place. Le dépôt contient tout ce dont vous avez besoin pour commencer en plus des tutoriels précédents, tels que Comment construire une action GPT personnalisée pour communiquer avec votre matériel et la Rétrofitting des instruments de laboratoire avec des capacités IoT en utilisant l'IA générative, sur lesquels celui-ci est construit. Ce projet révèle le pouvoir transformateur de l'IA et comment l'exploiter dans un cadre de laboratoire. Comment l'IA transforme-t-elle votre laboratoire ? Essayez d'exécuter ce projet exemple (ou une variation de celui-ci) et partagez vos réflexions sur ce qui a bien fonctionné et ce qui n'a pas fonctionné.
Tout le code source utilisé dans ce projet peut être trouvé à : https://gitlab.com/ai-examples/instrument-controllables.