CHATGPT-KTÓRY MOŻESZ ZAINSTALOWAĆ NA SWOIM KOMPUTERZE BEZ INTERNETU


PrivateGPT zapewnia interfejs API zawierający wszystkie elementy wymagane do tworzenia prywatnych, kontekstowych aplikacji AI . Interfejs API jest zgodny ze standardem OpenAI API i rozszerza go oraz obsługuje zarówno odpowiedzi normalne, jak i przesyłane strumieniowo. Oznacza to, że jeśli możesz używać interfejsu API OpenAI w jednym ze swoich narzędzi, możesz zamiast tego używać własnego interfejsu API PrivateGPT, bez zmian w kodzie i za darmo, jeśli korzystasz z localtrybu privateGPT.

Szukasz przewodnika szybkiego startu dotyczącego instalacji? Skrócona instrukcja instalacji dla systemów Linux i macOS .

Czy chcesz zainstalować go w systemie Windows? A może chcesz w pełni wykorzystać swój sprzęt, aby uzyskać lepszą wydajność? Przewodnik instalacji pomoże Ci w sekcji Instalacja .

Instalacja

Instalacja i ustawienia

Podstawowe wymagania do uruchomienia PrivateGPT

  • Git sklonuj repozytorium PrivateGPT i przejdź do niego:
  git clone https://github.com/imartinez/privateGPT
  cd privateGPT
  • Zainstaluj Pythona 3.11jeśli jeszcze go nie masz ). Idealnie za pośrednictwem menedżera wersji Pythona, takiego jak pyenv. Wcześniejsze wersje Pythona nie są obsługiwane.
pyenv install 3.11
pyenv local 3.11
  • Zainstaluj Poezję do zarządzania zależnościami:
  • Miej poprawny kompilator C++, taki jak gcc. Aby uzyskać więcej informacji, zobacz Rozwiązywanie problemów: kompilator C++ .
  • Zainstaluj makedla skryptów:
    • osx: (Używając homebrew):brew install make
    • Windows: (Używając czekolady)choco install make

Zainstaluj zależności

Zainstaluj zależności:

poetry install --with ui

Sprawdź, czy wszystko działa, uruchamiając make run(lub poetry run python -m private_gpt) i przejdź do http://localhost:8001 . Powinieneś zobaczyć interfejs użytkownika Gradio skonfigurowany z próbnym LLM , który wyświetli echo wejścia. Poniżej zobaczymy jak skonfigurować prawdziwy LLM.

Ustawienia

Domyślne ustawienia PrivateGPT powinny działać od razu po wyjęciu z pudełka w przypadku 100% konfiguracji lokalnej. Jednak w obecnym stanie działa wyłącznie na Twoim procesorze. Pomiń tę sekcję, jeśli chcesz po prostu przetestować PrivateGPT lokalnie i wróć później, aby dowiedzieć się więcej o opcjach konfiguracji (i uzyskać lepszą wydajność).

Lokalne wymagania LLM

Zainstaluj dodatkowe zależności do lokalnego wykonania:

poetry install --with local

Aby PrivateGPT mógł działać w pełni lokalnie, wymagane jest przyspieszenie procesora graficznego (wykonanie procesora jest możliwe, ale bardzo powolne), jednak typowym laptopom Macbook lub komputerom stacjonarnym z systemem Windows i procesorami graficznymi średniej klasy brakuje pamięci VRAM, aby uruchomić nawet najmniejsze LLM. Z tego powodu wykonanie lokalne jest obsługiwane tylko w modelach kompatybilnych z llama.cpp

Wiadomo, że te dwa modele działają dobrze:

Aby ułatwić proces instalacji, użyj skryptu setup, który pobierze zarówno osadzenie, jak i model LLM i umieści je we właściwej lokalizacji (w modelsfolderze):

poetry run python scripts/setup

Jeśli wykonanie procesora jest w porządku, możesz pominąć resztę tej sekcji.

Jak wspomniano wcześniej, wymagany jest plik llama.cpp, a w szczególności używany jest plik llama-cpp-python .

Zdecydowanie zalecamy dokładne zapoznanie się z dokumentacją llama-cpp i llama-cpp-python odpowiednią dla Twojej platformy. Wystąpienie problemów z instalacją jest bardzo prawdopodobne i będziesz musiał je rozwiązać samodzielnie.

Dostosowywanie parametrów niskiego poziomu

Obecnie nie wszystkie parametry llama.cppllama-cpp-pythonsą dostępne w pliku PrivateGPT settings.yaml. Jeżeli zajdzie potrzeba dostosowania parametrów, takich jak liczba warstw załadowanych do procesora graficznego, można je zmienić w pliku znajdującym się llm_component.pypod rozszerzeniem private_gpt/components/llm/llm_component.py.

Dostępne opcje konfiguracji LLM

Sekcja llmustawień umożliwia dokonanie następujących konfiguracji:

  • mode: jak uruchomić plik llm
  • max_new_tokens: pozwala skonfigurować liczbę nowych tokenów, które LLM wygeneruje i doda do okna kontekstowego (domyślnie używa Llama.cpp 256)

Przykład:

llm:
  mode: local
  max_new_tokens: 256

Jeśli pojawia się błąd braku pamięci, możesz także wypróbować mniejszy model lub trzymać się proponowanych, zalecanych modeli, zamiast dostosowywać parametry na zamówienie.

Obsługa procesora graficznego OSX

Będziesz musiał zbudować plik llama.cpp z metalowym wsparciem.

Aby to zrobić, musisz zainstalować llama.cpppowiązanie Pythona llama-cpp-pythonprzez pip, z flagą kompilacji, która się aktywuje METAL: musisz przejść -DLLAMA_METAL=ondo polecenia CMake, które pipdziała dla ciebie (patrz poniżej).

Innymi słowy, należy po prostu uruchomić:

CMAKE_ARGS="-DLLAMA_METAL=on" pip install --force-reinstall --no-cache-dir llama-cpp-python

Powyższe polecenie wymusi ponowną instalację llama-cpp-pythonze METALwsparciem poprzez kompilację llama.cpplokalną z METALbibliotekami (domyślnie dostarczanymi z systemem macOS).

Więcej informacji można znaleźć w dokumentacji samych bibliotek:

Obsługa procesora graficznego NVIDIA w systemie Windows

Obsługa procesorów graficznych systemu Windows odbywa się za pośrednictwem CUDA. Postępuj zgodnie z instrukcjami w oryginalnym repozytorium llama.cpp , aby zainstalować wymagane zależności.

Kilka wskazówek, jak sprawić, by działał z kartą NVIDIA i CUDA (testowane na Windows 10 z CUDA 11.5 RTX 3070):

Jeśli masz poprawnie skonfigurowane wszystkie wymagane zależności, uruchomienie następującego polecenia PowerShell powinno zakończyć się pomyślnie.

$env:CMAKE_ARGS='-DLLAMA_CUBLAS=on'; poetry run pip install --force-reinstall --no-cache-dir llama-cpp-python

Jeśli instalacja przebiegła prawidłowo, przy następnym uruchomieniu serwera powinien zostać wyświetlony komunikat podobny do poniższego BLAS = 1.

llama_new_context_with_model: total VRAM used: 4857.93 MB (model: 4095.05 MB, context: 762.87 MB)
AVX = 1 | AVX2 = 1 | AVX512 = 0 | AVX512_VBMI = 0 | AVX512_VNNI = 0 | FMA = 1 | NEON = 0 | ARM_FMA = 0 | F16C = 1 | FP16_VA = 0 | WASM_SIMD = 0 | BLAS = 1 | SSE3 = 1 | SSSE3 = 0 | VSX = 0 |

Należy pamiętać, że plik llama.cpp odciąża obliczenia macierzy na procesorze graficznym, ale wydajność nadal jest mocno obniżona ze względu na opóźnienia pomiędzy komunikacją między procesorem a procesorem graficznym. Może zajść potrzeba dostosowania wielkości partii i innych parametrów, aby uzyskać najlepszą wydajność dla konkretnego systemu.

Obsługa procesorów graficznych NVIDIA w systemie Linux i Windows-WSL

Obsługa procesorów graficznych w systemie Linux odbywa się za pośrednictwem CUDA. Postępuj zgodnie z instrukcjami w oryginalnym repozytorium llama.cpp , aby zainstalować wymagane zależności zewnętrzne.

Kilka porad:

  • Upewnij się, że masz aktualny kompilator C++
  • Zainstaluj zestaw narzędzi CUDA https://developer.nvidia.com/cuda-downloads
  • Sprawdź, czy instalacja jest poprawna, uruchamiając nvcc --versionnvidia-smi, upewnij się, że wersja CUDA jest aktualna i wykryto procesor graficzny.

Następnie uruchomienie następującej komendy w repozytorium spowoduje zainstalowanie pliku llama.cpp z obsługą GPU:

CMAKE_ARGS='-DLLAMA_CUBLAS=on' poetry run pip install --force-reinstall --no-cache-dir llama-cpp-python

Jeśli instalacja przebiegła prawidłowo, przy następnym uruchomieniu serwera powinien zostać wyświetlony komunikat podobny do poniższego BLAS = 1.

llama_new_context_with_model: total VRAM used: 4857.93 MB (model: 4095.05 MB, context: 762.87 MB)
AVX = 1 | AVX2 = 1 | AVX512 = 0 | AVX512_VBMI = 0 | AVX512_VNNI = 0 | FMA = 1 | NEON = 0 | ARM_FMA = 0 | F16C = 1 | FP16_VA = 0 | WASM_SIMD = 0 | BLAS = 1 | SSE3 = 1 | SSSE3 = 0 | VSX = 0 |

Znane problemy i ich rozwiązywanie

Lokalne wykonywanie LLM nadal ma wiele ostrych krawędzi, szczególnie gdy działa na platformach innych niż Linux. Możesz napotkać kilka problemów:

  • Wydajność: użycie pamięci RAM lub VRAM jest bardzo wysokie, komputer może doświadczyć spowolnienia, a nawet awarii.
  • Wirtualizacja GPU w systemach Windows i OSX: po prostu niemożliwa w przypadku pulpitu dokowanego, musisz uruchomić serwer bezpośrednio na hoście.
  • Błędy budowania: niektóre zależności PrivateGPT wymagają zbudowania kodu natywnego i mogą się nie powieść na niektórych platformach. Najprawdopodobniej brakuje Ci niektórych narzędzi programistycznych na swoim komputerze (zaktualizowany kompilator C++, CUDA nie jest na PATH itp.). Jeśli napotkasz którykolwiek z tych problemów, otwórz go, a my postaramy się pomóc.

Jednym z pierwszych odruchów, jaki należy zastosować, jest: zdobądź więcej informacji. Jeśli podczas instalacji coś nie pójdzie zgodnie z planem, spróbuj ponownie w trybie szczegółowym i zobacz, co pójdzie nie tak.

Na przykład, instalując pakiety za pomocą pip install, możesz dodać opcję -vvvpokazania szczegółów instalacji.

Rozwiązywanie problemów: kompilator C++

Jeśli podczas budowania koła napotkasz błąd pip install, może być konieczne zainstalowanie kompilatora C++ na swoim komputerze.

Dla systemu Windows 10/11

Aby zainstalować kompilator C++ w systemie Windows 10/11, wykonaj następujące kroki:

  1. Zainstaluj program Visual Studio 2022.
  2. Upewnij się, że wybrane zostały następujące komponenty:
    • Rozwój uniwersalnej platformy Windows
    • Narzędzia C++ CMake dla systemu Windows
  3. Pobierz instalator MinGW ze strony MinGW .
  4. Uruchom instalator i wybierz gcckomponent.

Dla OSX

  1. Sprawdź, czy masz zainstalowany kompilator C++, Xcodepowinien był to zrobić za Ciebie. Aby zainstalować Xcode, przejdź do App Store, wyszukaj Xcode i zainstaluj go. Możesz też zainstalować narzędzia wiersza poleceń, uruchamiając xcode-select --install.
  2. Jeśli nie, możesz zainstalować clang lub gcc z homebrewbrew install gcc

Rozwiązywanie problemów: Mac z systemem Intel

Podczas uruchamiania komputera Mac ze sprzętem Intel (nie M1) możesz napotkać błąd clang: błąd: kompilator clang nie obsługuje opcji „-march=native” podczas instalacji pip.

Jeśli tak, ustaw swoje archflagi podczas instalacji pip. np.: ARCHFLAGS=”-arch x86_64″ pip3 install -r wymagania.txt

Please follow and like us:

Dodaj komentarz