Aufbau eines KI-Lab-Assistenten

Ari Mahpour
|  Erstellt: April 8, 2024

Stellen Sie sich einen Laborassistenten vor, der für Sie Notizen machen kann, Ihre Laborgeräte steuert, Ihre Daten aufzeichnet und all Ihre Ergebnisse auf einmal analysiert. Dieses Konzept gibt es im Grunde schon ewig. Neu in diesem Bereich ist, dass keine Menschen die genannten Aktivitäten ausführen werden - KI wird es tun. In diesem Artikel werden wir uns eine bahnbrechende Technologie ansehen, die uns die Macht gibt, einen von KI betriebenen Laborassistenten nur mit unserem Smartphone und einem Raspberry Pi zu nutzen.

Praktische Anwendungen

Anstatt zuerst die Implementierung zu zeigen, betrachten wir praktische Anwendungen unseres KI-Laborassistenten. Eine häufige Herausforderung, mit der ich konfrontiert bin, ist das Einschaltverfahren für eine neue Platine. Ich taste ständig verschiedene Teile einer Platine mit einer Hand ab, stelle mein Oszilloskop mit einer anderen ein und versuche dann auch noch, mein Netzteil ein- und auszuschalten (um den Einschaltstrom oder andere Einschaltcharakteristika zu beobachten). Dazu kommt noch die Aufgabe, eine DC-Elektroniklast zu aktivieren, und schnell hat man keine Hände mehr frei. Im besten Fall hat man einen Partner, der einem beim Hochfahren einer Platine hilft. Wenn man alleine ist, können all diese Aufgaben ziemlich lästig sein.

Was wäre, wenn wir eine Möglichkeit hätten, unserem KI-Assistenten Anweisungen zu geben, unsere Instrumente nacheinander einzuschalten oder zu aktivieren?

Einschalten des Netzgeräts

Abbildung 1: Anfrage, mein Netzgerät einzustellen und einzuschalten, unter Verwendung natürlicher Sprache

Lassen Sie uns einen Schritt weitergehen und sehen, ob es auch Daten für uns erfassen kann

Rückmeldung des Netzgeräts

Abbildung 2: Spannungs- und Stromrückmeldung vom Netzgerät

Mit Hilfe eines Code-Interpreters (auch bekannt als Fortgeschrittene Datenanalyse) können wir Visualisierungsbibliotheken nutzen, um die von den Instrumenten erfassten Daten zu plotten, ohne auch nur einen Finger zu rühren.

Plot-Anfrage

Abbildung 3: Plot-Anfrage

Plot-Code und Ergebnisse

Abbildung 4: Plot-Code und Ergebnisse

Nachdem Sie nun einige Beispiele gesehen haben, lassen Sie uns durchgehen, wie das alles funktioniert.

Wie es funktioniert

In Wie man eine benutzerdefinierte GPT-Aktion erstellt, um mit Ihrer Hardware zu kommunizieren, haben wir eine sehr einfache Anwendung zusammengestellt, die eine LED, die an einem Raspberry Pi angeschlossen ist, mit natürlichsprachlichen Anfragen an ChatGPT umschaltet. In der Nachrüstung von Labormessgeräten mit IoT-Fähigkeiten unter Verwendung generativer KI haben wir einen Webdienst um unsere Instrumente herum aufgebaut, sodass sie über das Internet gesteuert werden können. Wir werden die Konzepte aus beiden Artikeln zusammenführen, um unseren KI-Laborassistenten zu erstellen.

Im Prinzip spiegelt unser Ansatz den des vorherigen Artikels wider, jedoch mit zusätzlicher Komplexität. Das Large Language Model, in diesem Fall der GPT 4-Motor von ChatGPT, ändert sich nicht. Das einzige Update für ChatGPT ist ein modifiziertes OpenAPI-Dokument, das Details darüber liefert, welche Funktionalität ich für die benutzerdefinierte GPT-Aktion bereitstelle. Zum Beispiel gebe ich ihm nicht einfach einen grundlegenden Endpunkt wie „Umschalten einer LED“ oder „Abrufen einer zufällig generierten Nummer von meinem Server“, sondern ich weise es an, „den Ausgang am DP832-Netzteil zu aktivieren“. Alle diese Anweisungen finden sich in der openapi.yaml-Datei innerhalb des Repositorys.

Genau wie wir es in Wie man eine benutzerdefinierte GPT-Aktion erstellt, um mit Ihrer Hardware zu kommunizieren getan haben, benötigen wir unser SSL-Zertifikat, die openapi.yaml, die Nginx-Konfigurationsdateien und alle unsere Docker-Dateien, um die vollständige Anwendung zu erstellen. Die Nginx-Konfiguration ändert sich leicht, da wir jetzt mehrere Webanwendungen unabhängig voneinander betreiben. Ich habe Routen zu jeder einzelnen separat konfiguriert, anstatt einen einzigen Monolithen zu betreiben. Sie könnten sie in eine einzige Webanwendung bündeln, wenn Sie dies wünschen. Das Dockerfile und Docker Compose ist etwas kniffliger, da wir ein Basisbild erstellen und es dann zweimal für jede einzelne Webanwendung anpassen. Alle Details können im Repository gefunden werden.

Das Repository wurde so konfiguriert, dass es sofort funktioniert, vorausgesetzt, Sie haben Docker installiert und die README befolgt, um Ihr Zertifikat zu konfigurieren und einige Dateien durch Ihren Domainnamen zu ersetzen. Aus Gründen der Einfachheit werden die besten Ergebnisse erzielt, wenn dies auf einem Raspberry Pi (oder einem anderen leichten Linux-Box) ausgeführt wird. Lassen Sie uns einen letzten Blick auf ein Beispiel werfen, das wirklich die Kraft der KI in Verbindung mit der Steuerung von Laborinstrumenten demonstriert.

Ein ausgeklügelter Assistent

Jetzt, da wir unser gesamtes Ökosystem zusammengestellt haben, können wir unserem Assistenten komplexere Aufgaben wie diese geben:
Ich habe mein Netzteil direkt an meine DC-Elektroniklast angeschlossen. Ich möchte den Verlust in der Verkabelung zwischen den beiden Instrumenten betrachten. Hier sind die Schritte, die Sie befolgen müssen, um diese Informationen zu erhalten:

1. Stellen Sie das Netzteil auf 5V bei 1A ein

2. Schalten Sie das Netzteil ein

3. Stellen Sie die DC-Elektroniklast auf Stromsteuerungsmodus und aktivieren Sie sie

4. Messen Sie die Spannung des Netzteils (und speichern Sie diese für später)

5. Messen Sie die Spannung der DC-Elektroniklast (und speichern Sie diese für später)

6. Stellen Sie den Senkstrom der DC-Elektroniklast auf 0,1A ein

7. Wiederholen Sie die Schritte 4-6 für die folgenden Senkstromwerte: 0,5A, 0,9A

8. Erstellen Sie ein Diagramm mit der Laufnummer auf der X-Achse. Die Spannung des Netzteils und die Spannung der DC-Elektroniklast sollten separate Linien auf der Y-Achse sein.

Hinweis: Die einzige Antwort, die ich von Ihnen möchte, ist eine einzeilige Zusammenfassung der Analyse und die Ansicht des Diagramms, das Sie mir zur Verfügung stellen werden.

Das Ergebnis:

Endgültige Antwort

Abbildung 5: Endgültige Antwort

Wie Sie sehen können, führt es nicht nur eine Reihe von Operationen für uns durch, sondern kann auch die Ergebnisse für uns plotten und analysieren. Dies ist nicht nur der Standard „Lehrroboter“, den wir in der Vergangenheit beobachtet haben - dies ist etwas viel Größeres.

Schlussfolgerung

In diesem Artikel haben wir einige der Fähigkeiten unseres KI-Laborassistenten demonstriert und sind einige der Komponenten durchgegangen, die benötigt werden, um ihn zusammenzusetzen. Das Repository enthält alles, was Sie benötigen, um zu beginnen, zusätzlich zu den vorherigen Tutorials, wie Wie man eine benutzerdefinierte GPT-Aktion erstellt, um mit Ihrer Hardware zu kommunizieren und Lab-Instrumente mit IoT-Fähigkeiten mithilfe von generativer KI nachzurüsten, auf denen dieses aufbaut. Dieses Projekt enthüllt die transformative Kraft der KI und wie man sie in einem Laborumfeld nutzen kann. Wie verändert KI Ihr Labor? Versuchen Sie, dieses Beispielprojekt (oder eine Variation davon) auszuführen und teilen Sie Ihre Gedanken darüber, was gut gelaufen ist und was nicht.

Der gesamte in diesem Projekt verwendete Quellcode ist zu finden unter: https://gitlab.com/ai-examples/instrument-controllables.

Über den Autor / über die Autorin

Über den Autor / über die Autorin

Ari ist ein PCB-Designer mit umfassender Erfahrung in der Entwicklung, Herstellung, Prüfung und Integration verschiedener Softwaresysteme. Dabei bringt er leidenschaftlich gern Entwickler aus den Bereichen Design, Prüfung und Abnahme zusammen, um gemeinsam an Projekten zu arbeiten und diese voranzutreiben.

Ähnliche Resourcen

Zur Startseite
Thank you, you are now subscribed to updates.