Lass uns einen komplett lokalen ChatGPT-ähnlichen Bot auf einem Android-Handy installieren - mit ein paar Befehlen, sorry iPhone-Leute..
September 30, 2024 #Android LLMs #Generative A.I #A.IKurze Demo
Das läuft auf einem besseren Handy als dem in der Anleitung und hat ein anderes Betriebssystem. Wenn du mehr darüber wissen möchtest, lass es mich wissen!
Einrichtung
Okay, in diesem Beitrag nutzen wir einige der Dinge, die wir bereits gelernt haben, wie Nix und F-Droid.
Falls du das auf einem MacOS-, BSD- oder Linux-Laptop machen möchtest, hol dir einfach den Nix-Paketmanager-Einzeiler von ihrer Website und du bist startklar. Du kannst einfach die paar Befehle danach ausführen. Die Macht von Nix...
Da wir das auf unserem Android-Handy machen wollen, müssen wir die App Nix-On-Droid herunterladen, und dafür brauchen wir den Open-Source-App-Store F-Droid. (Alles ist dort kostenlos, Leute! Ich möchte immer darauf hinweisen, und wenn ihr etwas Nützliches seht, unterstützt bitte die Entwickler.)

Lass uns F-Droid von ihrer Seite oder ihrem Git-Repository holen, falls du es wirklich selbst bauen und auf dein Handy pushen willst, aber wenn du das bereits kannst, brauchtest du vermutlich diesen Hinweis nicht mal.

Nun wird dein Handy vermutlich nach Berechtigungen fragen, um die Installation zu erlauben und schon vorab Panik über die Datei schieben.

Das passiert bei allem, was außerhalb des Playstores liegt, sogar bei Google Chrome...

Das Telefon sollte dich trotzdem durch das Aktivieren der Berechtigung führen, klick einfach auf die Nachricht, die du bekommst.

Falls du dir darüber Sorgen machst, ermutige ich dich, deine eigene Recherche zu allem zu machen, immer, nicht nur bei den Dingen, die wir lehren.

Es könnte eine Weile dauern, bis die App alles eingerichtet und verknüpft hat. Der nächste Schritt ist, Nix-on-Droid zu finden.

Das ist im Grunde ein Terminalemulator und der Nix-Paketmanager, der konfiguriert und einsatzbereit ist.

Jetzt musst du vermutlich F-Droid erlauben, APKs herunterzuladen.

Jetzt, wo das erledigt ist, müssen wir die App öffnen, und sie wird uns nach einem Speicherort fragen. Ich habe damit nicht herumgespielt, aber theoretisch, wenn du ein gerootetes Handy hast (Administratorzugriff), solltest du es überall installieren können. Ich habe jedoch nichts getestet, daher schlage ich vor, den standardmäßig vorgeschlagenen Speicherort zu verwenden, um Zugriffsprobleme zu vermeiden.

Gib ihm die Zeit, die es braucht, besonders wenn du ein älteres Telefon und/oder eine langsamere Internetverbindung hast.

Ich schlage vor, die Flake-Unterstützung für eine schnellere und einfachere Erstkonfiguration zu deaktivieren. Es gibt weniger Hindernisse, und später, wenn du mit einigen Projekten herumspielen möchtest, kannst du es wieder aktivieren.

Ich habe es jetzt aktiviert, weil ich damit herumspielen werde, und ich habe kein Problem damit, zu warten, um es zum Laufen zu bringen. ABER es wird sehr lange dauern, du wirst wahrscheinlich vergessen haben, dass du überhaupt damit angefangen hast, wenn du Flakes aktivierst...

Es dauert lange und wirft ein paar Fehler...


Und dann, wenn du vergessen hast, was du ursprünglich tun wolltest...

Endlich sind wir durch alle Hindernisse gesprungen, lass uns die paar Befehle ausführen, aber zuerst stellen wir sicher, dass Nix richtig läuft (es sollten keine Probleme auftreten, aber kopiere die Fehler in DuckDuckGo oder ChatGPT, wenn es welche gibt).

# Kopiere den Text / die Befehle einzeln und drücke Enter, um sie auszuführen (Für den Fall, dass manche Leute so etwas noch nie gemacht haben)
# nix-shell installiert die Pakete nur für die aktuelle Shell/Sitzung. Wenn du die App schließt, hast du diese Apps nicht mehr... Es sei denn, du führst den Befehl erneut aus.

Optisch ansprechend
Wenn das alles gut funktioniert, lass uns endlich die paar Befehle ausführen.
Die Magie
# nix-env installiert die Pakete für alle zukünftigen Shells/Sitzungen. Im Grunde musst du nix-shell -p nicht jedes Mal ausführen, wenn du etwas ausführen möchtest.
# Ich empfehle, dies auch mit tmux zu tun.
# Dies ist ein Thema für einen eigenen Blogbeitrag, aber ollama ist Software, die es ermöglicht, Modellinferenz auszuführen.
Falls du dich in derselben Shell befindest, in der du htop und tmux installiert hast, führe tmux aus. Wenn nicht, mache tmux verfügbar und führe es aus.
Nun möchtest du STRG+b+c auf der kleinen virtuellen Tastatur drücken (alle Eingaben für tmux-Befehle sind in Kleinbuchstaben). Okay, wenn das gut geklappt hat, solltest du jetzt 2 Fenster haben (0 und 1).

Führe jetzt aus:
Drücke jetzt STRG+b, aber diesmal drücke n oder p danach und führe dann aus:

# Dies ist ein kleines Modell und sollte auf vielen Handys funktionieren!
# Dieses sollte auf fast jedem Gerät schnell laufen.
# Sehr klein. Ich habe es verwendet, um das Video zu machen.
# Oder führe aus:
Was du tatsächlich wolltest!
Zuerst die Umgebung einrichten: Hole dir den F-Droid Open-Source-App-"Store" und die Nix-on-Droid App. Oder auf anderen Geräten einfach den Nix-Paketmanager von ihrer Seite holen und du bist bereit.
Zweitens führe ein paar Befehle aus, um den LLM-Prompt zu konfigurieren:
Schließlich führen wir noch einen Befehl aus:
Ich habe den Leitfaden erstellt und führe Modelle auf einem alten Sony L2 aus (es ist langsam, aber es läuft), das tatsächliche Video von der Ausführung des LLM habe ich auf einem etwas besseren Telefon gemacht, weil ich auch den Bildschirm aufnehmen musste. Wenn du eine Anleitung möchtest, wie ich alles eingerichtet habe, lass es mich wissen.
Ich weiß, ich habe es wahrscheinlich etwas lang gemacht, aber ich hoffe, dass jeder eine Vorstellung davon hatte, was vor sich ging und dass alles für dich funktioniert hat!