Вы когда-нибудь задумывались о том, чтобы разговаривать со своими документами?
Например, есть длинный pdf-файл, который вы с ужасом читаете, но он важен для вашей работы или задания.
Что, если бы вы могли задавать ему вопросы вроде «Какие ключевые особенности упоминаются в этом документе?». Или «Обобщите взгляды (какого-то автора, которого вы читаете)».
Это все звучит слишком фантастично или футуристично, если бы кто-то сказал это несколько лет назад, но с появлением всех инструментов ИИ доступных на рынке, это вполне нормально.
Не только ChatGPT есть тонны бесплатных и платных сервисов на основе ИИ, которые могут сделать эту работу сегодня.
Но я бы не хотел делиться своими документами и данными для обучения чужого ИИ. Я сделаю это сам.
Я собираюсь показать вам, как я настроил ИИ PrivateGPT, который является открытым исходным кодом и поможет мне «общаться с документами». Вы можете попробовать выполнить те же шаги, чтобы создать свой собственный PrivateGPT в домашней лаборатории или на персональном компьютере.
Не ожидайте от ChatGPT быстрого ответа. Вычисления происходят на вашей локальной системе, и это зависит от того, насколько мощная у вас система.
Требования
- X64 процессор на базе Intel/AMD
- 8 ГБ RAM (минимум), но чем больше, тем лучше
- Видеокарта Nvidia с 2 ГБ VRAM (минимум)
- Любой дистрибутив Linux будет работать просто отлично. Просто обратите внимание на команды управления пакетами. Я использую Ubuntu Server 22.04.
- Python 3.11 (важно)
- Много времени и терпения
Это руководство предполагает, что вы знакомы с командами Linux и имеете некоторый опыт использования окружения Python. Предыдущий опыт работы с CUDA и любыми другими инструментами искусственного интеллекта будет полезен.
Шаг 1. Обновление системы
Важно убедиться, что наша система обновлена последними версиями любых пакетов.
sudo apt update && sudo apt upgrade -y
Шаг 2. Установка Python версии 3.11
Нам нужен Python 3.11. Ubuntu 22.04 и многие другие дистрибутивы поставляются со старой версией Python 3.10.12. Поэтому вам необходимо обновить версию Python.
Чтобы проверить версию Python, введите:
python3 --version
В Ubuntu вы можете использовать PPA для получения новой версии Python.
sudo add-apt-repository ppa:deadsnakes/ppa
Здесь я также устанавливаю другой пакет под названием python3.11-venv
(Подробнее о Python Virtual Environment)
sudo apt install python3.11 python3.11-venv -y
Несмотря на установку новой версии python, версия по умолчанию остается на уровне 3.10. Чтобы изменить это, вам нужно обновить наши альтернативы:
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 110 sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 100
Сейчас у вас есть две конфигурации в альтернативах, и все, что вам нужно сделать, это обновить их:
sudo update-alternatives --config python3
Вы получите два варианта выбора версии Python, и, как вы можете видеть на скриншоте, я выбрал номер 2, который является необходимой версией.
Если в будущем вы захотите перейти на более раннюю версию python, вы можете выполнить ту же команду и выбрать желаемую версию.
Шаг 3. Установка Poetry
Вы можете установить Poetry, используя pip
. Если у вас его еще нет, вы можете установить Pip на Ubuntu, используя:
python3 -m pip install pip
после этого:
pip install poetry
На этом шаге программа установки может выдать несколько ошибок, связанных с PATH
, как на скриншоте ниже:
Добавить /home/user/.local/bin
к нашему PATH
:
nano ~/.bashrc
Здесь перейдите в конец файла конфигурации и добавьте:
export PATH="$HOME/.local/bin:$PATH"
Я использовал точное значение вместо использования переменной $HOME.
Для сохранения и выхода из nano нажмите CTRL + X, затем нажмите y и Enter. Затем, чтобы проверить, успешно ли вы добавили путь, введите:
source .bashrc
echo $PATH
Вывод будет примерно таким:
Теперь давайте проверим версию Poetry, которую мы установили. Она должна быть 1.7
или выше.
poetry --version
В моем случае выводится:
Poetry (version 1.7.1)
Шаг 4. Настройка PrivateGPT
Сначала вам нужно клонировать репозиторий Private GPT в нашей системе. Я предполагаю, что у вас в системе установлен Git
git clone https://github.com/imartinez/privateGPT
Затем заходим в клонированный репозиторий:
cd privateGPT
Теперь нужно настроить новое окружение, чтобы не испортить всю систему:
python3 -m venv venv
Создана новая папка с именем venv
, и чтобы активировать виртуальное окружение, введите:
source venv/bin/activate
Шаг 5. Установка ui, local в Poetry:
Поскольку нам нужен пользовательский интерфейс для взаимодействия с нашим ИИ, нам нужно установить ui
функцию poetry и нам нужен local
, так как мы размещаем наши собственные локальные LLM.
poetry install --with ui,local
Это займет немного времени, так как он устанавливает графические драйверы и другие зависимости, которые необходимы для запуска LLM.
Шаг 6. Установка LLM-модели
Поскольку большая часть работы уже сделана, вам нужна только LLM-модель, чтобы начать общаться с документами.
Чтобы установить LLM-модель:
poetry run python scripts/setup
Этот процесс также займет много времени, поскольку модель сначала нужно загрузить, а затем установить. Размер моделей обычно превышает 4 ГБ.
Шаг 7. Установка инструментария Nvidia CUDA
Если вы думаете запускать какие-либо модели ИИ только на своем процессоре, у меня для вас плохие новости. То есть, технически вы все еще можете это сделать, но это будет мучительно медленно. Возможно, это даже не сработает.
Поэтому лучше использовать специализированный GPU с большим количеством VRAM. У меня графический процессор Nvidia с 2 ГБ VRAM.
sudo apt install nvidia-cuda-toolkit -y
8. Компиляция LLM
Все, что вам нужно сделать, это скомпилировать LLM для начала работы.
CMAKE_ARGS='-DLLAMA_CUBLAS=on' poetry run pip install --force-reinstall --no-cache-dir llama-cpp-python
Если вы следуете этому руководству на WSL или на Mac, я бы рекомендовал вам проверить правильную команду для вашей платформы из этой официальной документации
9. Запустите privateGPT
Этот шаг требует установки локального профиля, который вы можете отредактировать в файле внутри папки privateGPT под названием settings-local.yaml
, но чтобы не затягивать этот урок, давайте запустим его с помощью этой команды:
PGPT_PROFILES=local make run
В терминале должно появиться вот такое сообщение, а ниже вы можете увидеть, что наш privateGPT теперь работает в нашей локальной сети.
Шаг 10. Давайте пообщаемся с документами
Чтобы открыть первый экземпляр PrivateGPT в браузере, просто введите 127.0.0.1:8001
. Он также будет доступен по сети, поэтому проверьте IP-адрес вашего сервера и используйте его.
В моем случае мой сервер имеет IP-адрес 192.168.1.7
После загрузки страницы вас встретит простой пользовательский интерфейс PrivateGPT.
С левой стороны вы можете загрузить свои документы и выбрать, что вы хотите делать с вашим AI, т.е. «Запрос документов, поиск в документах, LLM-чат», а справа находится панель «Подсказки». Здесь вы введете запрос и получите ответ.
Я использую статью о Linux, которую я скачал из Википедии. Это 28-страничный PDF-документ.
Вот я задаю несколько вопросов PrivateGPT:
Вот еще один вопрос:
Вы также можете общаться с вашим LLM, как и в ChatGPT.
Вы можете задавать более подробные и сложные запросы, и он ответит. Во время тестирования я обнаружил, что время ответа сильно зависит от мощности железа, на котором Вы запускаете ИИ. Мне пришлось ждать около 2 минут, чтобы получить один ответ, поскольку у меня старый компьютер.
Заключение
Вот как настроить и разместить свой собственный PrivateGPT. Вы можете перенаправить его в домен и получить доступ к нему за пределами домашней сети.
Я знаю, что это решение не для всех, и этот проект также находится в постоянном развитии, но это хорошая отправная точка для энтузиастов, которые хотят «сесть на поезд» открытого ИИ.
Комментарии (0)