maciek905 - stock.adobe.com
FauxPilot: lokal installierbares KI-Entwicklungs-Tool
FauxPilot ist eine Alternative zu GitHub CoPilot. Das Tool erlaubt es auch Fachanwendern ohne Programmierkenntnisse, Software mit natürlicher Sprache zu erstellen.
FauxPilot ist ein Open-Source-Projekt mit MIT-Lizenz, das Entwickler auf Basis von KI-Technologien und unter Verwendung natürlicher Sprache bei der Programmierung unterstützt. Das Tool ist eine Alternative zu GitHub CoPilot.
Im Gegensatz zu CoPilot wird FauxPilot nicht in der Cloud betrieben, sondern erlaubt eine lokale Installation. GitHub CoPilot nutzt Programmcode, den Entwickler auf GitHub hochladen und analysiert dessen Bestandteile. Dadurch lernt die KI und kann beim Programmieren auf Basis natürlicher Sprache Programmcode in Echtzeit schreiben.
Viele Entwickler haben beim Einsatz von GitHub CoPilot allerdings Bedenken bezüglich der Lizenzierung des Codes und der Telemetrie durch Microsoft. Zwar gehört der Programmcode dem Entwickler, der diesen mit CoPilot erstellt, dennoch basiert dieser auf Code, welchen andere Entwickler auf GitHub hochgeladen haben.
Lösungen wie CoPilot oder FauxPilot richten sich nicht in erster Linie an Entwickler, sondern an Datenwissenschaftler, Analysten, Mathematiker oder verwandte Anwendergruppen, die für ihre Tätigkeiten nur gelegentlich Code und Programmierkenntnisse benötigen. Anfänger profitieren somit von CoPilot, da sie durch natürliche Sprache auch komplexeren Code erlernen können. Für die Programmierung lässt sich CoPilot direkt in verschiedene Entwicklungsumgebungen integrieren.
FauxPilot und Visual Studio Code als lokale Entwicklungsumgebung
Nicht alle Entwickler möchten ihren Code regelmäßig in die Cloud hochladen oder Programmcode aus der Cloud verwenden. Hier bietet FauxPilot durch seine lokale Installationsmöglichkeit eine passende Alternative. Wie CoPilot setzt FauxPilot auf künstliche Intelligenz (KI) für die Generierung von Code. CoPilot setzt dabei auf OpenAI Codex. OpenAI ist unter anderem für seinen Chatbot ChatGPT bekannt und wird unter anderem von Microsoft unterstützt.
FauxPilot setzt hingegen auf das CodeGen-Modell von Salesforce. Der Code steht hierbei als Open Source unter der BSD-3-Lizenz zur Verfügung. Wer sich näher mit dem Modell auseinandersetzen möchte, kann verschiedene Modelle auf GitHub testen.
Genau wie Codex reagiert CodeGen auf die Eingabe natürlicher Sprache und erstellt daraufhin Programmcode. Entwickler schreiben selbst keinen Code, sondern beschreiben in natürlicher Sprache, was der Code verarbeiten soll. Darauf erstellt CodeGen den Programmcode in der gewünschten Sprache. Das lässt sich mit selbst geschriebenem Code kombinieren. Dadurch interagieren Entwickler und KI miteinander, um den idealen Code zu schreiben.
Anfänger profitieren von FauxPilot
Kenntnisse über Programmierkonzepte können dabei unterstützen, Folgebefehle zu schreiben oder den Code zu verbessern, den CodeGen erstellt. Programmierkenntnisse sind daher hilfreich, um CodeGen zu einer passenden Lösung zu führen. Das gilt vor allem für komplexere Probleme, bei denen der Benutzer verschiedene Ansätze vorschlägt, die der Software helfen, eine funktionierende Lösung zu finden.
Für erfahrene Programmierer ist es mit CodeGen einfacher und schneller, zu einer funktionierenden Lösung zu kommen und alternative Methoden zu erforschen. Allerdings muss auch bei der Verwendung von FauxPilot darauf geachtet werden, dass die KI von öffentlichem Code lernt, und auch hier die Lizenzrechte noch nicht umfassend geklärt sind.
FauxPilot setzt auf die Möglichkeiten von Nvidia GPUs. Diese sind für die KI-Funktionen im jeweiligen Rechner notwendig, da im Gegensatz zu GitHub CoPilot der Code auf dem lokalen Rechner generiert wird. Daher sollte für den Einsatz von FauxPilot der Nvidia-Grafikadapter auf dem jeweiligen PC über ausreichend Speicherplatz verfügen.
Um die CPU zu entlasten und die Vorteile der GPU zu nutzen, kommt zusammen mit FauxPilot der Nvidia Triton Inference Server zum Einsatz. Dieser sorgt dafür, dass die Modelle von CodeGen auf der Nvidia GPU arbeiten können. Die Installation von FauxPilot erfolgt als Docker-Container. Entwickler sollten etwas Erfahrung mit Docker haben, um die notwendigen Container herunterzuladen und auszuführen.
Die Verwaltung erfolgt im Anschluss über ein Frontend, das über die lokale IP-Adresse und den Port 5000 erreichbar ist. Mit etwas Konfigurationsarbeit können Entwickler ihren lokalen FauxPilot-Server mit dem CoPilot-Plugin an die jeweilige Entwicklungsumgebung anbinden und anschließend FauxPilot genauso nutzen wie CoPilot. Der Unterschied ist, dass die Anfragen im lokalen Netzwerk bleiben und durch den lokalen Rechner verarbeitet werden. Allerdings sendet das Plugin Telemetriedaten an Microsoft, auch wenn daran FauxPilot und nicht CoPilot angebunden ist. Die Entwickler von FauxPilot arbeiten bereits an einem Plugin, das sich mit Visual Studio Code verwenden lässt.
Installation und Einrichtung von FauxPilot
Die Installation von FauxPilot erfolgt nach dem Download des Archivs mit der Ausführung von setup.sh. Zuvor müssen auf dem Rechner Docker und Docker Compose verfügbar sein. Zudem sind die Tools curl und zstd notwendig, da das Setup-Programm diese Tools für den Download der entsprechenden Komponenten benötigt. Auf GitHub beschreiben die Entwickler, wie die Installation abläuft. Wenn die Voraussetzungen erfüllt sind, übernehmen die Skripte setup.sh und launch.sh die Einrichtung.
Über den Assistenten kann ausgewählt werden, welches Modell die lokale Installation von FauxPilot nutzen soll. Die Auswahl hängt vom verfügbaren VRAM der Nvdia-GPUs des Rechners ab. Es sind mindestens 2 GB VRAM notwendig. Nach der Installation kann die Umgebung mit launch.sh gestartet werden. Hier erfolgt auch der Start von Nvidia Triton Server. Clients verbinden sich mit FauxPilot über die OpenAI-API oder nutzen das CoPilot-Plugin. Die Einrichtung dazu wird auf GitHub beschrieben.