Was ist das Code Interpreter Plugin von OpenAI?
Code Interpreter (CI) ist ein offizielles ChatGPT-Plugin von OpenAI, das die Grenzen dessen erweitert, was mit KI möglich ist, indem es Datenanalysen, Bildkonvertierungen, Codebearbeitung und vieles mehr ermöglicht. Mit CI können all diese Aufgaben jetzt über die Textschnittstelle ausgeführt werden.
Neue ChatGPT-Funktionen mit Code-Interpreter
Das Code-Interpreter-Plugin kann Datei-Uploads und -Downloads verarbeiten . Dadurch können Sie direkt mit Datendateien arbeiten, einschließlich Bildern und Videos, was insbesondere in der Computervision nützlich ist. Darüber hinaus unterstützt der Code-Interpreter verschiedene Dateiformate, darunter CSV, JSON und vieles mehr.
Ein weiterer einzigartiger Aspekt des Code-Interpreters ist seine Fähigkeit, über die Ausgabe des von ihm ausgeführten Codes nachzudenken und daraus zu lernen . Dadurch kann der Code-Interpreter seine eigenen Fehler korrigieren. Dadurch wird ChatGPT eine neue Dimension verliehen, indem die Lücke zwischen natürlichem Sprachverständnis und Codeausführung geschlossen wird.
Einschränkungen beim Code Interpreter Plugin
Obwohl der Code-Interpreter viel Leistung und Flexibilität bietet, weist er derzeit noch Einschränkungen auf.
- Internetzugriff: Der Code-Interpreter hat keinen Zugriff auf das Internet. Dies bedeutet, dass er keine Daten direkt aus dem Internet abrufen oder mit Online-APIs interagieren kann.
- Dateigröße: Die maximale Dateigröße, die hochgeladen werden kann, beträgt 250 MB. Um dies zu umgehen, können Sie Ihre Daten in eine ZIP-Datei komprimieren, um die Größe zu verringern. Denken Sie jedoch daran, dass die unkomprimierten Daten immer noch in den verfügbaren Speicher passen müssen.
- Sprachunterstützung: Derzeit unterstützt der Code-Interpreter nur Python-Code.
- Python-Pakete: Die Installation externer Python-Pakete ist nicht zulässig. Die Codierumgebung ist jedoch mit über 330 Paketen vorinstalliert . Dazu gehören unter anderem Numpy für numerische Berechnungen, Pandas für die Datenmanipulation und -analyse, Matplotlib für die Datenvisualisierung und OpenCV für Computer Vision-Aufgaben.
- Persistenz der Umgebung: Wenn die Umgebung beendet wird , geht der gesamte Status verloren. Alle generierten Dateien werden ebenfalls unzugänglich, da ihre Download-Links nicht mehr funktionieren.
- Wissens-Cut-off: Das zugrunde liegende Modell GPT-4 verfügt über einen „Wissens-Cut-off“ – es ist sich der Ereignisse, die nach der Erfassung der Trainingsdaten eingetreten sind, nicht bewusst.
Datenanalyse mit Code Interpreter
Code-Interpreter verändern die Datenanalyse grundlegend. Sie können komplexe Datentransformationen, statistische Analysen und Visualisierungen interaktiv durchführen. Und das Beste daran? All dies geschieht im Dialogmodus, sodass der Prozess intuitiv, ansprechend und für nicht-technische Benutzer zugänglich ist.
Code-Interpreter für Computer Vision verwenden
Lassen Sie uns nun untersuchen, wie wir die Leistung des Code-Interpreters für Computer Vision-Aufgaben nutzen können. Interessanterweise besteht ChatGPT darauf, dass die Verwendung von Deep-Learning-Modellen nicht möglich ist, obwohl der Code-Interpreter mit leistungsstarken Bibliotheken wie TensorFlow und PyTorch vorinstalliert ist .
Wir beschlossen, kreativer zu werden und Computer Vision-Probleme mithilfe altmodischer Bibliotheken wie OpenCV und Tesseract zu lösen . Bemerkenswerterweise wurde dieser gesamte Prozess in menschlicher Sprache durchgeführt – wir haben keine einzige Codezeile manuell geschrieben. Die Ergebnisse waren recht vielversprechend. Man kann sich eine Zukunft vorstellen, in der KI-gestützte Entwicklung das Feld der Computer Vision revolutionieren könnte. Mit Tools wie dem Code-Interpreter scheint diese Zukunft nicht mehr weit entfernt.
Gesichtserkennung mit Code-Interpreter
Gesichtserkennung ist eine grundlegende Aufgabe der Computervision. Wir haben uns entschieden, dies mit einer klassischen Methode anzugehen, die über OpenCV verfügbar ist: dem Haar-Kaskaden-Klassifikator. Haar-Kaskaden ist zwar ein leistungsstarkes Werkzeug zur Gesichtserkennung, hat aber Einschränkungen. Es ist nicht so robust oder genau wie moderne Methoden auf Basis neuronaler Netzwerke und führt häufig zu Fehlalarmen.
Die Art und Weise, wie der Code-Interpreter mit diesem Problem umging, war jedoch wirklich beeindruckend. Als wir auf das Problem der Falschmeldungen stießen, gaben wir eine detaillierte Eingabeaufforderung, in der wir beschrieben, was passierte, und unsere Vermutung, warum. Erstaunlicherweise konnte der Code-Interpreter die Falschmeldungen mit nur einer einzigen Eingabeaufforderung beseitigen. Vergleichen Sie diesen Prozess mit einem herkömmlichen Ansatz zur Gesichtserkennung, um ein Gefühl für die Schwierigkeit dieser Aufgabe zu bekommen. Dieses Beispiel hob die bemerkenswerte Leistungsfähigkeit und Flexibilität des Plugins hervor und demonstrierte seine Wirksamkeit sogar bei der Arbeit mit herkömmlichen Methoden wie Haar Cascade. Sehen Sie sich die Schritte zum Ausführen der Gesichtserkennung mit dem Code-Interpreter an .
Objekte mit dem Code-Interpreter erkennen, verfolgen und zählen
Objekterkennung , -verfolgung und -zählung sind kritische Aufgaben in vielen Computer Vision-Anwendungen. Ohne Zugriff auf fortschrittliche Objektdetektoren wie YOLO mussten wir über den Tellerrand hinausblicken. Wir entschieden uns, die charakteristische Farbe des Objekts zu nutzen, um es vom Hintergrund zu unterscheiden. Der Code-Interpreter hat hervorragende Arbeit geleistet und eine Heuristik entwickelt, die eine saubere Objekterkennung ermöglichte.
Das Hinzufügen eines Trackers zur Pipeline war überraschend unkompliziert. Wir haben das Plugin einfach aufgefordert, „Objekte im Video zu verfolgen“, und es konnte diese Funktionalität zur Pipeline hinzufügen. Um ein Gefühl dafür zu bekommen, wie unglaublich das ist, vergleichen Sie diesen Prozess mit der Objektverfolgung durch herkömmliche Methoden.
Das Zählen stellte eine größere Herausforderung dar. Es schien, als ob unsere Erwartungen nicht ganz klar waren. Oder vielleicht ist ChatGPT, wie manche scherzen würden, nicht besonders gut in Mathe. Nachdem wir mehrere Nachrichten ausgetauscht und unsere Anforderungen geklärt hatten, haben wir schließlich eine vollständige Pipeline zum Erkennen, Verfolgen und Zählen von Objekten eingerichtet. Sehen Sie sich die Schritte zum Erkennen, Verfolgen und Zählen von Objekten mit dem Code-Interpreter an .
Extrahieren Sie Text aus Bildern mit dem Code Interpreter
Das Extrahieren von Text aus Bildern, ein Prozess, der als optische Zeichenerkennung (OCR) bekannt ist, war in unseren Experimenten die einfachste Aufgabe.
Nachdem Tesseract den Text extrahiert hatte, konnten wir ihn in GPT-4 einspeisen, das die Informationen dann strukturierte, sodass sie leicht zu verstehen und zu analysieren waren. Sehen Sie sich die Schritte zum Ausführen der Textextraktion mit dem Code-Interpreter an .
Blick in die Zukunft und Umgang mit Einschränkungen
Die spannenden Möglichkeiten, Code-Interpreter mit fortgeschrittenen Computer-Vision-Techniken zu kombinieren, werden durch die aktuellen Einschränkungen der Umgebung etwas eingeschränkt. Moderne Computer-Vision-Modelle sind nicht ausführbar, und wie bereits erwähnt, ist die Installation externer Bibliotheken in der Code-Interpreter-CI-Umgebung nicht möglich.
Es stellt sich heraus, dass all diese Einschränkungen nur Vorschläge sind. Es gibt selten physische Einschränkungen dahinter. ChatGPT hat durch ein entsprechendes System von Eingabeaufforderungen davon überzeugt, dass bestimmte Vorgänge nicht möglich sind. Durch den Einsatz von Social-Engineering-Techniken können wir den Chat davon überzeugen, die Regeln zu brechen.
Auf diese Weise konnten wir nicht nur externe Pakete erfolgreich installieren, sondern auch das Ultralytics YOLOv8-Modell ausführen . Damit erhielten wir ChatGPT die Tools für ein tieferes Verständnis der Bildeingabe.
Dieser Blick in die Zukunft hat unsere Vorfreude auf die möglichen Anwendungen nur noch gesteigert, von der Automatisierung der Datenerfassung bis hin zur Entwicklung neuer Modelle für maschinelles Lernen. Die Möglichkeiten scheinen endlos und wir freuen uns darauf, diese Einschränkungen in zukünftigen Iterationen des Plugins aufgehoben zu sehen. Sehen Sie sich die Schritte zum Ausführen von YOLOv8 mit Code-Interpreter an .
Praktische Tipps zum Umgang mit Code-Interpretern
Hier einige praktische Tipps zur Arbeit mit dem Code-Interpreter von OpenAI:
- Fragen Sie CI immer, ob Import und Variablen definiert sind. Sie verschwinden ständig aus dem Kontext.
- Der Code Interpreter ist gesprächig und versucht immer, Sie Schritt für Schritt durch die Lösung zu führen. Versuchen Sie, nicht zu viele Protokolle und Ergebnisse (wie eingebettete Werte) auszudrucken. Sie können Ihr Kontextfenster sehr schnell beanspruchen.
- Wie bereits erwähnt, werden Sitzungen mit dem Code-Interpreter häufig zurückgesetzt, und damit verschwinden Ihre Dateien unwiederbringlich aus der Umgebung. Interessanterweise, aber ärgerlicherweise, weiß ChatGPT nicht, dass die Dateien weg sind, und fährt fort, als wären sie noch da, was zu unerwarteten Fehlern führt. Überprüfen Sie immer, ob die Dateien noch in der Umgebung vorhanden sind.
- Fügen Sie am Ende Ihrer Eingabeaufforderungen „notalk;justgo“ hinzu.
Fazit
Das Code-Interpreter-Plugin ist ein leistungsstarkes Tool, das die Fähigkeiten von ChatGPT erheblich erweitern und zur Beschleunigung von Computer-Vision-Aufgaben beitragen kann.
Trotz der aktuellen Einschränkungen sind die potenziellen Anwendungen von Code-Interpretern in der Computervision und anderen Bereichen enorm. Während wir die Grenzen des mit KI Möglichen immer weiter verschieben, werden Tools wie Code-Interpreter zweifellos eine entscheidende Rolle spielen.
Wenn Sie weitere Experimente verfolgen oder eigene Beispiele beisteuern möchten, sehen Sie sich dieses Repo mit den neuesten Durchbrüchen beim Code-Interpreter an expressionism.
Ressourcen
- „ChatGPT-Code-Interpreter mit Python-Paketen, Deno und Lua erweitern“ von Simon Willison
- „Code Interpreter == GPT 4.5“ von Simon Willison , Alex Volkov , Aravind Srinivas und Alex Graveley awesome-chatgpt-code-interpreter-experiments von Piotr Skalski
Zitieren Sie diesen Beitrag
Verwenden Sie den folgenden Eintrag, um diesen Beitrag bei Ihrer Recherche zu zitieren:
Piotr Skalski . (12. Juli 2023). ChatGPT-Code-Interpreter für Computer Vision. Roboflow-Blog: https://blog.roboflow.com/chatgpt-code-interpreter-computer-vision/
Besprechen Sie diesen Beitrag
Wenn Sie Fragen zu diesem Blogbeitrag haben, starten Sie eine Diskussion im Roboflow-Forum .