Zainstalujmy w pełni lokalnego bota podobnego do ChatGPT na telefonie z Androidem - za pomocą kilku poleceń, przepraszamy użytkownicy iPhone..

września 30, 2024 #Android LLMs #Generative A.I #A.I

Krótkie demo

To działa na lepszym telefonie niż ten w przewodniku i ma inny system operacyjny. Jeśli chcesz się o tym dowiedzieć więcej, daj znać!

Instalacja

Dobra, w tym poście wykorzystamy kilka rzeczy, które już poznaliśmy, takich jak Nix i F-Droid.

Jeśli chcesz to zrobić na laptopie z macOS, BSD lub Linuxie, po prostu weź one-liner dla menedżera pakietów Nix z ich strony, a będziesz gotowy do działania. Następnie możesz po prostu wykonać kilka poniższych poleceń. Siła Nix...

Ponieważ chcemy to zrobić na naszym telefonie z Androidem, musimy pobrać aplikację Nix-On-Droid, a do tego potrzebujemy otwartej aplikacji sklepu F-Droid. (Wszystko tam jest darmowe, ludzie! Zawsze chcę to podkreślać, a jeśli zobaczysz coś przydatnego, proszę wspierać deweloperów.)

msg

Pobierzmy F-Droid z ich strony lub ich repozytorium Git, jeśli chcesz to naprawdę zbudować samodzielnie i wgrać na swój telefon, ale jeśli możesz to zrobić, prawdopodobnie nie potrzebujesz tej wskazówki.

msg

Twój telefon prawdopodobnie poprosi o pozwolenie na instalację i wcześniej wywoła panikę na temat pliku.

msg

To dzieje się z wszystkim spoza Sklepu Play, nawet z Google Chrome...

msg

Urządzenie powinno nadal przeprowadzić cię przez proces udzielania zgody, po prostu kliknij powiadomienie, które otrzymasz.

msg

Jeśli się martwisz, zachęcam cię do zrobienia własnych badań, zawsze, nie tylko o rzeczach, które nauczamy.

msg

Może to zająć trochę czasu, aby aplikacja wszystko ustawiła i połączyła. Następny krok to znalezienie Nix-on-Droid.

msg

To w zasadzie emulator terminala i menedżer pakietów Nix, który jest skonfigurowany i gotowy do użycia.

msg

Teraz prawdopodobnie będziesz musiał dać F-Droid pozwolenie na pobieranie APK.

msg

Teraz, gdy to załatwione, musimy otworzyć aplikację, a ona poprosi o lokalizację przechowywania. Nie bawiłem się w to, ale teoretycznie, jeśli masz telefon z roota (prawa administratora), powinieneś móc zainstalować go gdziekolwiek. Jednak nie testowałem tego, więc sugeruję, aby użyć domyślnej lokalizacji, aby uniknąć problemów z dostępem.

msg

Daj mu czas, którego potrzebuje, zwłaszcza jeśli masz starszy telefon i/lub wolne połączenie internetowe.

msg

Sugeruję wyłączenie obsługi Flakes dla szybszej i łatwiejszej pierwszej konfiguracji. Będzie mniej przeszkód, a później, jeśli będziesz chciał pobawić się w kilka projektów, możesz to włączyć ponownie.

msg

Teraz to włączyłem, bo zamierzam z tym poeksperymentować, i nie mam problemu z czekaniem, aż to zadziała. ALE to będzie trwało bardzo długo, prawdopodobnie zapomnisz, że w ogóle zaczynałeś, jeśli włączysz Flakes...

msg

To zajmie trochę czasu i wyświetli kilka komunikatów o błędach...

msg msg

A potem, jeśli zapomniałeś, co pierwotnie chciałeś zrobić...

msg

Nareszcie przeszliśmy przez wszystkie przeszkody, przeprowadźmy kilka poleceń, ale najpierw sprawdźmy, czy Nix działa poprawnie (nie powinno być problemów, ale skopiuj błędy do DuckDuckGo lub ChatGPT, jeśli wystąpią problemy).

msg

# Skopiuj tekst / polecenia jedno po drugim i naciśnij Enter, aby je wykonać (na wszelki wypadek, jeśli niektórzy ludzie nigdy tego nie robili)

whoami 

ls -a

nix-shell -p htop tmux

# nix-shell instaluje pakiety tylko dla bieżącego shell'a/sesji. Jeśli zamkniesz aplikację, nie będziesz już miał tych aplikacji... chyba że wykonasz polecenie ponownie.

htop

msg

Atrakcyjne wizualnie

Jeśli to wszystko działa dobrze, w końcu przeprowadźmy kilka poleceń.

Magia

nix-env -iA nixpkgs.ollama 

# nix-env instaluje pakiety dla wszystkich przyszłych powłok/sesji. W zasadzie nie musisz za każdym razem uruchamiać nix-shell -p, gdy chcesz uruchomić rzeczy.

# Zalecam zrobienie tego również z tmux.

# To jest temat na osobny post na blogu, ale ollama to oprogramowanie, które pozwala na wykonywanie inferencji modeli.

Teraz, jeśli jesteś w tej samej powłoce, w której zainstalowałeś htop i tmux, uruchom tmux. Jeśli nie, upewnij się, że tmux jest dostępny i uruchom go.

tmux

Teraz chcesz nacisnąć CTRL+b+c na tej małej wirtualnej klawiaturze (wszystkie polecenia dla tmux są pisane małymi literami). Jeśli wszystko poszło dobrze, powinieneś mieć teraz 2 okna (0 i 1).

msg

Teraz uruchom:

ollama serve

Teraz naciśnij CTRL+b, ale tym razem naciśnij n lub p, a następnie uruchom:

msg
# To jest mały model i powinien działać na całkiem sporej liczbie telefonów!

ollama run tinyllama:1.1b-chat-v0.6-q4_K_M # Możesz spróbować q4_K_S dla jeszcze mniejszego modelu.
ollama run tinyllama:1.1b-chat-v0.6-q3_K_S
# Ten powinien działać na prawie każdym urządzeniu, szybko.
# Bardzo mały. Użyłem go do nagrania wideo.

# Lub uruchom:

ollama run tinyllama:1.1b-chat-v0.6-q5_K_S # Dla większego modelu pamiętaj, że większe modele będą działały wolniej.

To, po co właściwie przyszedłeś!

Najpierw skonfiguruj środowisko: pobierz otwartą aplikację "sklep" F-Droid i aplikację Nix-on-Droid. Lub na innych urządzeniach po prostu pobierz menedżera pakietów nix z ich strony internetowej i jesteś gotowy do działania.

Po drugie, uruchom kilka poleceń, aby skonfigurować podpowiedź LLM:

nix-env -iA nixpkgs.ollama nixpkgs.tmux
tmux # CTRL+b i c na wirtualnej klawiaturze, aby uzyskać 2 okna.
ollama serve # w jednym oknie, a następnie CTRL+b i n, aby przejść do następnego okna.

Na koniec uruchamiamy jeszcze jedno polecenie:

ollama run tinyllama:1.1b-chat-v0.6-q3_K_S # I czekasz chwilę, aż model zostanie pobrany i wyświetli podpowiedź - w zależności od twojego połączenia.

Stworzyłem tę instrukcję i uruchamiam modele na starym Sony L2 (jest wolny, ale działa), a właściwe wideo z uruchamianiem LLM nagrałem na nieco lepszym telefonie, ponieważ musiałem również nagrać ekran. Jeśli chcesz instrukcji dotyczącej tego, jak wszystko ustawić, daj mi znać.

Wiem, że prawdopodobnie trochę to przedłużyłem, ale mam nadzieję, że każdy miał pojęcie o tym, co się działo i wszystko działało dla Ciebie!