Zgłoś błąd
X
Zanim wyślesz zgłoszenie, upewnij się że przyczyną problemów nie jest dodatek blokujący reklamy.
Błędy w spisie treści artykułu zgłaszaj jako "błąd w TREŚCI".
Typ zgłoszenia
Treść zgłoszenia
Twój email (opcjonalnie)
Nie wypełniaj tego pola
Załóż konto
EnglishDeutschукраїнськийFrançaisEspañol中国

Stwórz własnego chatbota w 5 minut! Lokalna instalacja modeli językowych na Linuksie i Windowsie. Poradnik krok po kroku

Natan Faleńczyk | 16-06-2024 08:00 |

Stwórz własnego chatbota w 5 minut! Lokalna instalacja modeli językowych na Linuksie i Windowsie. Poradnik krok po krokuUsługi związane ze sztuczną inteligencją cały czas się rozwijają, a prym wśród nich wiodą chatboty, które są oparte na dużych modelach językowych (LLM). Najbardziej znanym jest oczywiście ten od firmy OpenAI, czyli ChatGPT, gdyż to on zapoczątkował całą rewolucję. Jednak chatboty mają wspólną cechę, która wiele osób skłania do tego, aby z nich nie korzystać - jest nią fakt, że wszystkie dane są przetwarzane w chmurze, więc nasze konwersacje z modelami językowymi nie są prywatne. Ba, służą one nawet za informacje, na których modele mogą się później dalej szkolić. Jedynym słusznym rozwiązaniem w takiej sytuacji jest uruchomienie modelu językowego lokalnie na naszym komputerze. Dzięki temu mamy pewność, że żadne informacje z naszych rozmów z chatbotami nie zostaną wysłane w świat. Aktualnie taki proces jest naprawdę banalnie prosty, ponieważ wystarczy kilka kliknięć i jedno polecenie, aby zacząć prywatną konwersację z wybranym LLM.

Autor: Natan Faleńczyk

W tym poradniku do lokalnej instalacji dużych modeli językowych zostanie wykorzystany program o nazwie Ollama. Jest on bardzo prosty w obsłudze, a przy tym pozwala na duży wybór LLM. Na dodatek wśród nich znajdziemy taki, który jest całkowicie pozbawiony cenzury, co dla wielu osób jest dość istotne. Spotkamy się również z modelami multimodalnymi, które są w stanie analizować obrazy. Od razu po instalacji oprogramowanie daje nam możliwość skorzystania z interfejsu API, więc bez żadnych problemów możemy wykorzystać nasz lokalny serwer w innych aplikacjach. Jeśli więc mamy chwilę wolnego czasu, to warto zapoznać się z tym materiałem, ponieważ pomoże nam on w instalacji Ollamy nie tylko na komputerach z systemem Windows, ale również na wielu dystrybucjach systemu Linux. Wisienką na torcie jest to, że nie musimy płacić ani grosza.

Stworzenie chatbota, który będzie działał lokalnie, jest dziś naprawdę proste. Wystarczy dosłownie chwila wolnego czasu, aby świat modeli językowych stał przed nami otworem. Wszystko dzięki programowi o nazwie Ollama.

Stwórz własnego chatbota w 5 minut! Lokalna instalacja modeli językowych na Linuksie i Windowsie. Poradnik krok po kroku [1]

Darmowa konkurencja dla ChatGPT - skorzystaj z modelu językowego Llama 2 bezpośrednio na swoim komputerze

Wymagania systemowe

Do skorzystania z niektórych dużych modeli językowych, które zostaną uruchomione lokalnie, wystarczy nam nawet komputer z niższej półki - oczywiście większa wydajność przełoży się na szybsze działanie chatbota. Natomiast aktualnie mamy do wyboru setki modeli - wiele z nich jest specjalnie przystosowanych do działania na mniej wydajnych urządzeniach, a inne mają większe możliwości, ale wymagają mocniejszego sprzętu. Możliwości modeli językowych określane są przez ich liczbę parametrów, która jest podawana w miliardach. Dla przykładu model Llama 2 od firmy Meta występuje w trzech wariantach: z 7, 13 i 70 miliardami parametrów. Pierwszy z nich wymaga co najmniej 8 GB RAM, drugi 16 GB, a trzeci 64 GB. Zależność jest więc dość prosta do wychwycenia: im większe możliwości daje nam dany model, tym większą (łączną) pojemność pamięci RAM powinna mieć nasza jednostka. Kluczową rolę odgrywają również układy graficzne, gdyż to właśnie one będą głównie używane do przetwarzania modeli językowych (choć oprogramowanie wykorzysta też moc CPU, jeśli odpowiednie GPU nie będzie dostępne). Ollama daje nam wsparcie dla naprawdę wielu układów od NVIDII i nieco mniejszej liczby modelów od AMD. Pełną listę kompatybilnych jednostek znajdziemy pod tym adresem.

Stwórz własnego chatbota w 5 minut! Lokalna instalacja modeli językowych na Linuksie i Windowsie. Poradnik krok po kroku [2]

Instalacja programu Ollama - Windows

W celu zainstalowania oprogramowania na systemie od Microsoftu najpierw przechodzimy na tę stronę. Następnie wybieramy ikonkę z podpisem Windows i klikamy przycisk Download for Windows (Preview). Po pobraniu instalatora musimy go tylko uruchomić i przejść przez cały proces, który wygląda tak samo, jak przy instalacji dowolnego programu na tym systemie. Na ten moment to wszystko. Pozostało nam oczywiście pobrać odpowiedni model językowy i nauczyć się z niego korzystać, jednak zanim przejdziemy do tej kwestii, zostaną omówione kroki potrzebne do instalacji oprogramowania Ollama na systemie Linux.

Stwórz własnego chatbota w 5 minut! Lokalna instalacja modeli językowych na Linuksie i Windowsie. Poradnik krok po kroku [3]

Instalacja programu Ollama - Linux

Zapewne wielu osobom wydaje się, że na Linuksie instalacja jakiegokolwiek programu wiąże się ze żmudnym wpisywaniem komend w konsoli. Natomiast te czasy już dawno odeszły do lamusa. Dziś oprogramowanie można wygodnie instalować z poziomu dedykowanych aplikacji. Tym razem jednak wystarczy skorzystać z jednej linijki tekstu, która od razu zainstaluje program Ollama na nośniku danych. Otwieramy więc konsolę, a następnie kopiujemy poniższe polecenie i je uruchamiamy (podając swoje hasło w wymaganym momencie):

  • curl -fsSL https://ollama.com/install.sh | sh

Tak naprawdę to wszystko. Większość dystrybucji ma obecnie domyślnie zainstalowane odpowiednie składniki, więc może skorzystać z polecenia curl. Jeśli jednak nasz system go nie rozpoznaje, to musimy zainstalować pakiet manualnie (sudo apt install curl dla systemów opartych na dystrybucjach Mint, Ubuntu lub Debian oraz sudo pacman -S curl dla dystrybucji Arch Linux). Następne sekcje poradnika nie będą się różniły pomiędzy omawianymi systemami, ponieważ do korzystania z programu Ollama trzeba się posługiwać identycznymi komendami. Możemy więc przejść do właściwej części materiału, w której będziemy mogli wybrać swój pierwszy model językowy. Przy okazji poznamy także konkretne polecenia, które okażą się przydatne podczas pracy z programem.

Stwórz własnego chatbota w 5 minut! Lokalna instalacja modeli językowych na Linuksie i Windowsie. Poradnik krok po kroku [4]

Instalacja modeli językowych

Ollama umożliwia nam lokalne uruchomienie naprawdę wielu dużych modeli językowych, takich jak najnowszy (i całkiem wydajny) produkt od firmy Meta, czyli Llama 3, Mistral, LlaVa, czy też Gemma. Pełną bazę znajdziemy pod tym adresem. Na dodatek proces instalacji ogranicza się do jednego polecenia. Otwieramy więc Wiersz polecenia na systemie Windows lub Linux i wpisujemy ollama pull nazwa_modelu (odpowiednie komendy dla poszczególnych modeli umieszczono w poniższej tabelce). Niektóre modele występują w kilku wariantach, które różnią się od siebie liczbą parametrów. Jeśli więc chcemy zainstalować konkretną wersję, to za podstawowym poleceniem stawiamy dwukropek (:), a następnie podajemy wybraną edycję. Dla przykładu, mając zamiar zainstalować wariant modelu językowego Llama 3, który ma 70 miliardów parametrów, musimy wpisać w konsoli: ollama pull llama3:70b (choć możemy również posługiwać się poleceniem uruchomienia danego modelu, czyli ollama run nazwa_modelu - w takim wypadku po pobraniu całości od razu zostaniemy przeniesieni do okienka rozmowy). Zaraz po instalacji konkretnego modelu językowego możemy zacząć z niego korzystać. Model Llama 3 jest w stanie odpowiadać nam w języku polskim (choć nie zawsze będzie to poprawna polszczyzna), a przy tym domyślna wersja z 8 mld parametrów działa naprawdę szybko nawet na mniej wydajnych urządzeniach. Tak więc jest to dobra opcja na start, aby zapoznać się z modelami językowymi.

Stwórz własnego chatbota w 5 minut! Lokalna instalacja modeli językowych na Linuksie i Windowsie. Poradnik krok po kroku [5]

  Wersje Komenda do instalacji
Llama 2 (bez cenzury) 7b (3,8 GB)
70b (39 GB)
70b-chat (39 GB)
70-chat-q4_0 (39 GB)
70b-chat-q4_1 (43 GB)
ollama pull llama2-uncensored
TinyLlama 1,1b (638 MB) ollama pull tinyllama
Llama 2 7b (3,8 GB)
13b - (7,4 GB)
70b (39 GB)
ollama pull llama 2
Llama 3 8b (4,7 GB)
70b (40 GB)
ollama pull llama3
Phi-2 2,7b (1,6 GB) ollama pull phi
Phi-3 3,8b (2,4 GB)
14b (7,9 GB)
ollama pull phi3:mini
ollama pull phi3:medium
Aya 23 8b (4,8 GB)
35b (20 GB)
ollama pull aya
Mistral 7b (4,1 GB) ollama pull mistral
Gemma 2b (1,7 GB)
7b (5 GB)
ollama pull gemma
LLaVA 7b (4,7 GB)
13b (8 GB)
34b (20 GB)
ollama pull llava
Zephyr 7b (4,1 GB)
141b (80 GB)
ollama pull zephyr
StarCoder2 3b (1,7 GB)
7b (4 GB)
15b (9,1 GB)
ollama pull starcoder2

Korzystanie z programu Ollama

Domyślnie program Ollama będzie uruchamiany wraz ze startem systemu, więc wystarczy po prostu przejść do konsoli i wpisać odpowiednie polecenie, aby zacząć z nim pracę. Jeśli natomiast chcemy manualnie włączyć usługę, jednak bez uruchamiania aplikacji (Windows), to wystarczy wpisać ollama serve. Do skorzystania z modelu językowego, który już wcześniej został pobrany, trzeba tylko uruchomić komendę ollama run nazwa_modelu. Gdy zechcemy zakończyć pracę z jednym modelem, najpierw wpisujemy /bye, a następnie wspomnianym poleceniem możemy przełączyć się na inny LLM. Oprogramowanie uruchamia lokalny serwer, dzięki któremu funkcjonują modele językowe, które wybierzemy — jego adres to 127.0.0.1:11434 (interfejs API jest już skonfigurowany, więc możemy się posługiwać tym adresem do używania konkretnego LLM w innych aplikacjach).

  Polecenie
Uruchomienie usługi Ollama ollama serve
Instalacja modelu językowego pull run nazwa_modelu
Uruchomienie (+ewentualna instalacja) modelu językowego ollama run nazwa_modelu
Wyjście z konwersacji z modelem językowym /bye
Usunięcie modelu językowego ollama rm nazwa_modelu
Lista wszystkich zainstalowanych modeli ollama list
Wyświetlanie działającego modelu językowego ollama ps
Wersja programu Ollama ollama -v
Licencja danego modelu językowego ollama show nazwa_modelu --license

Stwórz własnego chatbota w 5 minut! Lokalna instalacja modeli językowych na Linuksie i Windowsie. Poradnik krok po kroku [6]

Możliwości modeli multimodalnych oraz interaktywne pliki tekstowe

Spora część dużych modeli językowych jest multimodalna, a więc potrafi także analizować obrazy. Jednym z nich jest LlaVa, który radzi sobie ze wspomnianym zadaniem naprawdę dobrze (o czym możemy się przekonać, spoglądając na poniższe przykłady, w których model miał opisać dwa obrazy - nie tylko zrobił to całkiem dokładnie, ale też potrzebował bardzo krótkiego czasu do ukończenia operacji [z użyciem NVIDIA GeForce RTX 4090], albowiem mówimy tu o około 2 sekundach). Jeśli chcemy sami przetestować tę funkcję, to najpierw instalujemy model poleceniem ollama run llava, a następnie w okienku konwersacji wpisujemy Describe this image (LlaVa nie radzi sobie za bardzo z językiem polskim) i podajemy, w jakim miejscu znajduje się grafika, która ma zostać przeanalizowana. W wypadku adresu podajemy pełną ścieżkę (np. C:\Users\nazwa_użytkownika\Downloads\plik.png) lub przechodzimy w terminalu do konkretnego folderu, w którym znajduje się nasz plik i wpisujemy Desribe this image ./nazwa_pliku. Ważna uwaga w stosunku do modelu LlaVa: kiedy zaczniemy z nim konwersację i przekażemy obraz do analizy, to zostaje on w jego "pamięci" i możemy cały czas się do niego odnosić. Jeśli chcemy wybrać inny obraz, to najlepiej wyjść z okna rozmowy (/bye) i wejść do niego ponownie (ollama run llava) lub ewentualnie korzystać z tej funkcji będąc w oknie konsoli (ollama run llava "Describe this image ścieżka_do_pliku").

Stwórz własnego chatbota w 5 minut! Lokalna instalacja modeli językowych na Linuksie i Windowsie. Poradnik krok po kroku [7]

Stwórz własnego chatbota w 5 minut! Lokalna instalacja modeli językowych na Linuksie i Windowsie. Poradnik krok po kroku [8]

Tłumacz Google: Obraz przedstawia żywą i nieco kapryśną scenę. Pośrodku kadru znajduje się niezwykły widok: duży dojrzały banan z parą okularów przeciwsłonecznych na górze, ustawiony tak, jakby był osobą stojącą na rogu ulicy. Umiejscowienie banana nadaje mu postawę przypominającą człowieka, co potęguje antropomorfizm. Tło przedstawia scenę w środowisku miejskim. Biorąc pod uwagę ciemne niebo i mokrą ziemię, wydaje się, że był deszczowy wieczór. Odbicia świateł samochodów i iluminacji budynków tworzą nastrojową atmosferę. Po jednej stronie ulicy stoją zaparkowane samochody, a obok widać przechodzącą osobę, która ożywia scenę. Oświetlenie na zdjęciu jest miękkie i przyćmione, prawdopodobnie pochodzi ze sztucznych źródeł, takich jak latarnie uliczne lub reflektory pojazdów. Nadaje to obrazowi ogólnie stonowany ton, kontrastujący z jasnożółtym bananem. Fotografia wydaje się nawiązywać do koncepcji „banana” stojącego w pejzażu miejskim podczas lekkiego deszczu, co jest częstym zjawiskiem w wielu środowiskach miejskich na całym świecie. Obraz prawdopodobnie służy jako wypowiedź twórcza lub artystyczna, łącząc elementy prawdziwego życia z elementami surrealistycznymi i wyobraźnią.

Stwórz własnego chatbota w 5 minut! Lokalna instalacja modeli językowych na Linuksie i Windowsie. Poradnik krok po kroku [9]

Stwórz własnego chatbota w 5 minut! Lokalna instalacja modeli językowych na Linuksie i Windowsie. Poradnik krok po kroku [10]

Tłumacz Google: W sercu bujnej, tropikalnej scenerii zostaje schwytany majestatyczny tygrys o uderzająco niebieskich oczach. Wzrok tygrysa skierowany jest w stronę kamery, tworząc intymną więź między widzem a zwierzęciem. Jego szata w różnych odcieniach brązu płynnie komponuje się z otaczającym środowiskiem, niemal całkowicie go maskując. Tygrys stoi pośród żywej ekspozycji zielonych liści, których odważny kolor ostro kontrastuje z własnym. Liście otaczają tygrysa, tworząc wrażenie przebywania pośród dzikiej przyrody. Do tej wciągającej sceny dodaje się tło, które wydaje się być ciemnym, prawie czarnym płótnem. Służy to jako tło, które pozwala jeszcze bardziej wyróżnić tygrysa i jego najbliższe otoczenie. Ogólny obraz przedstawia potężne zestawienie surowego, nieokiełznanego piękna natury i hipnotyzującego spojrzenia tygrysa.

Stwórz własnego chatbota w 5 minut! Lokalna instalacja modeli językowych na Linuksie i Windowsie. Poradnik krok po kroku [11]

Oprócz tego jesteśmy w stanie dokonać podsumowania zawartości pliku tekstowego, a zarazem możemy zadawać pytania odnoszące się do jego treści. Wystarczy otworzyć program PowerShell w przypadku Windowsa (Wiersz poleceń nie obsłuży naszej komendy) lub terminal dla Linuxa, przejść do miejsca, w którym znajduje się dany plik (lub podać później dokładną ścieżkę) i wpisać polecenie: ollama run nazwa_modelu "Pytanie dotyczące tekstu: $(cat nazwa_pliku)". W ramach testu został utworzony plik tekstowy zawierający wszystkie informacje z materiału na PurePC, który znajdziemy pod tym adresem. Jest to jeden z newsów, który opisuje mini PC o nazwie Minisforum AtomMan G7 Pt. Poniżej możemy zobaczyć, jak poszczególne modele wypadły w praktyce (najlepiej sprawdzają się pytania w języku angielskim, choć sam tekst jest rzecz jasna napisany po polsku). Całkiem dobrze radzi sobie w tym aspekcie model Llama 3. Rozszerzenie .md zostało użyte tylko w celu zaprezentowania działania - możemy skorzystać z plików DOCX, TXT i innych.

Stwórz własnego chatbota w 5 minut! Lokalna instalacja modeli językowych na Linuksie i Windowsie. Poradnik krok po kroku [12]

Stwórz własnego chatbota w 5 minut! Lokalna instalacja modeli językowych na Linuksie i Windowsie. Poradnik krok po kroku [13]

Stwórz własnego chatbota w 5 minut! Lokalna instalacja modeli językowych na Linuksie i Windowsie. Poradnik krok po kroku [14]

Stwórz własnego chatbota w 5 minut! Lokalna instalacja modeli językowych na Linuksie i Windowsie. Poradnik krok po kroku [15]

Stwórz własnego chatbota w 5 minut! Lokalna instalacja modeli językowych na Linuksie i Windowsie. Poradnik krok po kroku [16]

Personalizacja modelu językowego

Każdy model językowy, jaki pobierzemy, jesteśmy w stanie dodatkowo dostosować. Możemy sprawić, że będzie udzielał bardziej kreatywnych odpowiedzi, a nawet, że wcieli się w jakąś postać. W tym celu musimy edytować jeden z plików, który dokładniej sprecyzuje omawiane aspekty. Wszystkich dostępnych parametrów jest naprawdę wiele, natomiast w tym poradniku skupimy uwagę na tych "podstawowych", które pomogą nam się rozeznać w tym świecie. Na początku standardowo otwieramy konsolę i wpisujemy w niej poniższe polecenie, które będzie się różniło w zależności od tego, z jakiego modelu ma zostać utworzony nowy, spersonalizowany wariant. Całość zostanie przedstawiona na przykładzie modelu Llama 3, więc zobaczymy także gotowe komendy.

  • ollama show nazwa_modelu --modelfile > nazwa_pliku
  • ollama show llama3:8b --modelfile > llama3_custom [przykład]

Teraz odszukujemy stworzoną kopię naszego pliku konfiguracyjnego i przechodzimy do jego edycji. W przypadku modelu językowego Llama 3 przed naszymi oczami ukaże się poniższy tekst. Parametr FROM określa miejsce, w którym znajduje się model językowy. Możemy jednak użyć samej nazwy modelu, który został już zainstalowany (w tym wypadku llama3:8b). Następnie możemy usunąć całą część, która zaczyna się od LICENSE, gdyż nie będzie nam tak naprawdę potrzebna. Dodajemy teraz pierwszą nowość, jaką będzie określenie "kreatywności" LLM. Wpisujemy więc na końcu PARAMETER temperature i określamy odpowiednią wartość pomiędzy 0 a 2 (im bliżej zera, tym dokładniejsze powinny być generowane odpowiedzi). Następnie dodajemy parametr SYSTEM i opisujemy, kim ma być, a także jak ma się zachowywać nasz model językowy - mamy tu pełną dowolność i możemy określić dosłownie każdą postać lub pełnioną rolę. Oczywiście im dokładniej opiszemy całość, tym lepsze efekty osiągniemy. Zapisujemy plik i przechodzimy dalej.

Stwórz własnego chatbota w 5 minut! Lokalna instalacja modeli językowych na Linuksie i Windowsie. Poradnik krok po kroku [17]

Stwórz własnego chatbota w 5 minut! Lokalna instalacja modeli językowych na Linuksie i Windowsie. Poradnik krok po kroku [18]

Ponownie uruchamiamy terminal i wpisujemy komendę (widoczna poniżej) pozwalającą stworzyć nowy model, który będzie opierał się na spersonalizowanych przez nas ustawieniach. Jeżeli edytowany przed chwilą plik nie znajduje się w miejscu, w którym otwarty jest terminal, to trzeba wskazać pełną ścieżkę - w przeciwnym razie wystarczy po prostu podać jego nazwę. Teraz musimy poczekać na zakończenie operacji, a następnie możemy uruchomić nasz nowy model poprzez ollama run nazwa_nowego_modelu. Po przywitaniu się lub zadaniu jakiegoś pytania od razu zauważymy zmiany. Wszystkie parametry, jakimi można się posługiwać, znajdziemy pod tym adresem (platforma GitHub).

  • ollama create nazwa_nowego_modelu -f nazwa_pliku_z_ustawieniami
  • ollama create deadpool -f llama3_custom [przykład]

Stwórz własnego chatbota w 5 minut! Lokalna instalacja modeli językowych na Linuksie i Windowsie. Poradnik krok po kroku [19]

Podsumowanie

Widzimy więc, że lokalne uruchomienie dużych modeli językowych jest naprawdę proste, a ich późniejsza konfiguracja również nie należy do trudnych zadań. Oczywiście program Ollama możemy wykorzystać w jeszcze większym stopniu, gdyż dostępny jest także graficzny interfejs (Ollama WebUI), a przy tym oprogramowanie umożliwia nam instalację modeli spoza bazy (z rozszerzeniem GGUF). Warto jednak najpierw zapoznać się z podstawową funkcjonalnością, a dopiero później wkroczyć głębiej do świata modeli językowych - można jednak wspomnieć, że Ollama jest nam w stanie zapewnić również obsługę modeli obrazu. Jeśli temat nas zainteresował i mamy ochotę na więcej, to wszystkie potrzebne informacje znajdziemy na oficjalnej stronie projektu na platformie GitHub.

Stwórz własnego chatbota w 5 minut! Lokalna instalacja modeli językowych na Linuksie i Windowsie. Poradnik krok po kroku [20]

Bądź na bieżąco - obserwuj PurePC.pl na Google News
Zgłoś błąd
Liczba komentarzy: 66

Komentarze:

x Wydawca serwisu PurePC.pl informuje, że na swoich stronach www stosuje pliki cookies (tzw. ciasteczka). Kliknij zgadzam się, aby ta informacja nie pojawiała się więcej. Kliknij polityka cookies, aby dowiedzieć się więcej, w tym jak zarządzać plikami cookies za pośrednictwem swojej przeglądarki.