Ein KI-Code-Interpreter für sensible Daten, unterstützt von GPT-4 oder Code Llama / Llama 2.
Incognito Pilot kombiniert ein Large Language Model (LLM) mit einem Python-Interpreter, sodass es Code ausführen und Aufgaben für Sie ausführen kann. Es ähnelt ChatGPT Code Interpreter , aber der Interpreter wird lokal ausgeführt und kann Open-Source-Modelle wie Code Llama / Llama 2 verwenden.
Mit Incognito Pilot können Sie mit sensiblen Daten arbeiten, ohne diese in die Cloud hochzuladen. Entweder Sie verwenden ein lokales LLM (wie Llama 2) oder eine API (wie GPT-4). Für letzteren Fall gibt es in der Benutzeroberfläche einen Genehmigungsmechanismus , der Ihre lokalen Daten von den Remote-Diensten trennt.
Mit Incognito Pilot können Sie:
und vieles mehr!
Das Video zeigt Incognito Pilot mit GPT-4. Während Ihre Konversation und genehmigten Codeergebnisse an die API von OpenAI gesendet werden, werden Ihre Daten lokal auf Ihrem Computer gespeichert . Der Interpreter läuft ebenfalls lokal und verarbeitet Ihre Daten direkt dort. Und Sie können sogar noch weiter gehen und Code Llama / Llama 2 verwenden, um alles auf Ihrem Computer laufen zu lassen.
In diesem Abschnitt wird gezeigt, wie Sie Incognito Pilot mithilfe eines GPT-Modells über die OpenAI-API installieren. Für
Befolgen Sie diese Schritte:
docker run -i -t
-p 3030:80
-e OPENAI_API_KEY= " sk-your-api-key "
-e ALLOWED_HOSTS= " localhost:3030 "
-v /home/user/ipilot:/mnt/data
silvanmelchior/incognito-pilot:latest-slim
In der Konsole sollte nun eine URL angezeigt werden. Öffnen Sie es und Sie sollten die Incognito Pilot- Benutzeroberfläche sehen.
Es ist auch möglich, Incognito Pilot mit den kostenlosen Testguthaben von OpenAI auszuführen, ohne eine Kreditkarte hinzuzufügen. Derzeit ist GPT-4 jedoch nicht darin enthalten. Nachfolgend erfahren Sie, wie Sie das Modell auf GPT-3.5 umstellen.
In der Incognito Pilot -Oberfläche sehen Sie eine Chat-Oberfläche, über die Sie mit dem Modell interagieren können. Probieren wir es aus!
Jetzt sollten Sie bereit sein, Incognito Pilot für Ihre eigenen Aufgaben zu verwenden. Denken Sie daran:
Noch etwas: In der Version, die Sie gerade verwendet haben, sind fast keine Pakete mit dem Python-Interpreter enthalten. Das bedeutet, dass Dinge wie das Lesen von Bildern oder Excel-Dateien nicht funktionieren. Um dies zu ändern, gehen Sie zurück zur Konsole und drücken Sie Strg-C, um den Container zu stoppen. Führen Sie nun den Befehl erneut aus, entfernen Sie jedoch das Suffix -slim
aus dem Image. Dadurch wird eine viel größere Version heruntergeladen, die mit vielen Paketen ausgestattet ist.
Um ein anderes Modell als das Standardmodell (GPT-4) zu verwenden, legen Sie die Umgebungsvariable LLM
fest. Die GPT-Modelle von OpenAI haben das Präfix gpt:
. Um also beispielsweise GPT-3.5 (das ursprüngliche ChatGPT) zu verwenden, fügen Sie dem Docker-Run-Befehl Folgendes hinzu:
-e LLM= " gpt-openai:gpt-3.5-turbo "
Bitte beachten Sie, dass GPT-4 im Interpreter-Setup deutlich besser ist als GPT-3.5.
Um die Benutzeroberfläche an einem anderen Port als 3030 bereitzustellen, können Sie den internen Port 80 einem anderen zur Verfügung stellen, beispielsweise 8080. In diesem Fall sollten Sie auch die zulässige Hostvariable ändern:
docker run -i -t
-p 8080:80
-e ALLOWED_HOSTS= " localhost:8080 "
...
silvanmelchior/incognito-pilot
Standardmäßig wird das Authentifizierungstoken, das Teil der von Ihnen geöffneten URL ist, beim Start zufällig generiert. Das bedeutet, dass Sie bei jedem Neustart des Containers die URL erneut kopieren müssen. Wenn Sie dies verhindern möchten, können Sie das Token auch auf einen bestimmten Wert festlegen, indem Sie dem Docker-Run-Befehl Folgendes hinzufügen:
-e AUTH_TOKEN= " some-secret-token "
Sobald Sie die URL mit dem neuen Token geöffnet haben, merkt sich der Browser diese. Daher können Sie von nun an auf Incognito Pilot zugreifen, indem Sie einfach http://localhost:3030 öffnen, ohne der URL ein Token hinzufügen zu müssen.
Standardmäßig stoppt der Python-Interpreter nach 30 Sekunden. Um dies zu ändern, legen Sie die Umgebungsvariable INTERPRETER_TIMEOUT
fest. Fügen Sie beispielsweise für 2 Minuten Folgendes zum Docker-Run-Befehl hinzu:
-e INTERPRETER_TIMEOUT= " 120 "
Um Incognito Pilot beim Start automatisch mit Docker / zu starten, entfernen Sie -i -t
aus dem Ausführungsbefehl und fügen Sie Folgendes hinzu:
--restart always
Zusammen mit einem Lesezeichen für die UI-URL haben Sie Incognito Pilot immer zur Hand, wann immer Sie es brauchen. Alternativ können Sie Docker-Compose verwenden.
Sind Sie mit den vorinstallierten Paketen der Vollversion (auch bekannt als Non-Slim-Version) nicht zufrieden? Möchten Sie dem Interpreter weitere Python- (oder Debian-)Pakete hinzufügen?
Mit Incognito Pilot können Sie Ihre eigenen Abhängigkeiten ganz einfach containerisieren. Erstellen Sie dazu eine Docker-Datei wie folgt:
FROM silvanmelchior/incognito-pilot:latest-slim
SHELL [ "/bin/bash" , "-c" ]
# uncomment the following line, if you want to install more packages
# RUN apt update && apt install -y some-package
WORKDIR /opt/app
COPY requirements.txt .
RUN source venv_interpreter/bin/activate &&
pip3 install -r requirements.txt
Fügen Sie Ihre Abhängigkeiten in eine Datei „requirements.txt“ ein und führen Sie den folgenden Befehl aus:
docker build --tag incognito-pilot-custom .
Führen Sie dann den Container wie folgt aus:
docker run -i -t
...
incognito-pilot-custom
Nein, es hat seine Grenzen. Der Kompromiss zwischen Privatsphäre und Funktionen ist in diesem Fall nicht einfach. Für Dinge wie Bilder ist es genauso leistungsstark wie der ChatGPT-Codeinterpreter, da es nicht über den Inhalt des Bildes Bescheid wissen muss, um es zu bearbeiten. Aber wenn ChatGPT bei Dingen wie Tabellenkalkulationen den Inhalt nicht sieht, muss es beispielsweise das Datenformat aus der Kopfzeile erraten, was schief gehen kann.
In bestimmten Aspekten ist er jedoch sogar besser als der ChatGPT-Codeinterpreter: Der Interpreter verfügt über einen Internetzugang und ermöglicht so eine Reihe neuer Aufgaben, die zuvor nicht möglich waren. Außerdem können Sie den Interpreter auf jedem Computer ausführen, auch auf sehr leistungsstarken, sodass Sie viel größere Aufgaben als mit dem ChatGPT-Codeinterpreter lösen können.
Das können Sie natürlich tun. Die Verwendung von Incognito Pilot bietet jedoch einige Vorteile:
Was auch immer Sie eingeben und alle Codeergebnisse, die Sie genehmigen, sind in der Tat nicht privat, in dem Sinne, dass sie an die Cloud-API gesendet werden. Ihre Daten bleiben jedoch lokal. Der Interpreter läuft ebenfalls lokal und verarbeitet Ihre Daten direkt dort, wo sie sind. Für bestimmte Dinge müssen Sie dem Modell etwas über Ihre Daten mitteilen (z. B. den Dateinamen der Struktur), aber normalerweise handelt es sich um Metadaten, die Sie aktiv in der Benutzeroberfläche genehmigen, und nicht um die tatsächlichen Daten. Bei jedem Schritt der Ausführung können Sie einfach ablehnen, dass etwas an die API gesendet wird.
Möchten Sie zu Incognito Pilot beitragen? Oder einfach ohne Docker installieren? Schauen Sie sich die Beitragsanweisungen und -richtlinien an.