Использование Milvus в PrivateGPT
PrivateGPT - это готовый к производству ИИ-проект, который позволяет пользователям задавать вопросы о документах с помощью больших языковых моделей без подключения к интернету, обеспечивая при этом 100% конфиденциальность. PrivateGPT предлагает API, разделенный на высокоуровневые и низкоуровневые блоки. Он также предоставляет клиент Gradio UI и такие полезные инструменты, как скрипты массовой загрузки моделей и скрипты ингестирования. Концептуально PrivateGPT оборачивает конвейер RAG и раскрывает его примитивы, будучи готовым к использованию и предоставляя полную реализацию API и конвейера RAG.
В этом руководстве мы покажем вам, как использовать Milvus в качестве внутренней базы данных векторов для PrivateGPT.
Это руководство в основном ссылается на официальное руководство по установке PrivateGPT. Если вы обнаружите, что в этом руководстве есть устаревшие части, вы можете в приоритетном порядке следовать официальному руководству и создать проблему для нас.
Базовые требования для запуска PrivateGPT
1. Клонируйте репозиторий PrivateGPT
Клонируйте репозиторий и перейдите к нему:
$ git clone https://github.com/zylon-ai/private-gpt
$ cd private-gpt
2. Установите Poetry
Установите Poetry для управления зависимостями: Для установки следуйте инструкциям на официальном сайте Poetry.
3. (Необязательно) Установите make
Чтобы запускать различные скрипты, необходимо установить make.
macOS (с помощью Homebrew):
$ brew install make
Windows (использование Chocolatey):
$ choco install make
Установите доступные модули
PrivateGPT позволяет настроить некоторые модули, например, LLM, Embeddings, Vector Stores, UI.
В этом руководстве мы будем использовать следующие модули:
- LLM: Ollama
- Embeddings: Ollama
- Vector Stores: Milvus
- UI: Gradio
Выполните следующую команду, чтобы с помощью поэзии установить необходимые зависимости модулей:
$ poetry install --extras "llms-ollama embeddings-ollama vector-stores-milvus ui"
Запустите службу Ollama
Перейдите на сайт ollama.ai и следуйте инструкциям для установки Ollama на вашу машину.
После установки убедитесь, что приложение Ollama для рабочего стола закрыто.
Теперь запустите сервис Ollama (он запустит локальный сервер вывода, обслуживающий как LLM, так и Embeddings):
$ ollama serve
Установите модели, которые будут использоваться, по умолчанию settings-ollama.yaml
настроен на пользователя llama3.1
8b LLM (~4GB) и nomic-embed-text
Embeddings (~275MB).
По умолчанию PrivateGPT будет автоматически извлекать модели по мере необходимости. Это поведение можно изменить, изменив свойство ollama.autopull_models
.
В любом случае, если вы хотите извлекать модели вручную, выполните следующие команды:
$ ollama pull llama3.1
$ ollama pull nomic-embed-text
При желании вы можете изменить свои любимые модели в файле settings-ollama.yaml
и извлекать их вручную.
Изменение настроек Milvus
В файле settings-ollama.yaml
установите для vectorstore значение milvus:
vectorstore:
database: milvus
Вы также можете добавить некоторую конфигурацию Milvus, чтобы указать свои настройки. Например, так:
milvus:
uri: http://localhost:19530
collection_name: my_collection
Доступны следующие опции конфигурации:
Поле Опция | Описание |
---|---|
uri | По умолчанию установлен "local_data/private_gpt/milvus/milvus_local.db" в качестве локального файла; вы также можете установить более производительный сервер Milvus на docker или k8s, например http://localhost:19530, в качестве вашего uri; Чтобы использовать Zilliz Cloud, настройте uri и token на Public Endpoint и API key в Zilliz Cloud. |
токен | Пара с сервером Milvus на docker или k8s или api ключ в Zilliz Cloud. |
имя_коллекции | Имя коллекции, по умолчанию установлено "milvus_db". |
перезаписать | Перезаписывать данные в коллекции, если они существовали, по умолчанию установлено значение True. |
Запуск PrivateGPT
После того как все настройки выполнены, вы можете запустить PrivateGPT с помощью пользовательского интерфейса Gradio.
PGPT_PROFILES=ollama make run
UI будет доступен по адресу http://0.0.0.0:8001
.
Вы можете поиграть с пользовательским интерфейсом и задать вопросы о ваших документах.
За более подробной информацией обращайтесь к официальной документации PrivateGPT.