- Основные отличия между настольной версией и развертыванием Docker для многопользовательских сред.
- Процесс установки с использованием команд терминала, а также настройка портов и томов.
- Управление рабочим пространством и важность процесса встраивания для оптимизации извлечения данных.
- Интеграция интеллектуальных агентов и подключение к внешним API для автоматизации рабочих процессов.
AnythingLLM позволяет создать ИИ-помощника, который может запрашивать ваши документы, использовать локальные модели и организовывать информацию в отдельные рабочие пространства. Его можно установить на персональный компьютер или развернуть на сервере с помощью Docker, в зависимости от того, нужно ли вам использовать его самостоятельно или совместно с другими.
Хотя оно может функционировать полностью локально, Конфиденциальность зависит от настроек, которые вы используете.Если вы подключаете внешние сервисы для языковой модели, эмбеддингов или любых дополнительных инструментов, некоторая информация может покинуть вашу инфраструктуру.
Какую версию выбрать: настольную или Docker?

AnythingLLM Desktop — это самый простой вариант для одного пользователя. Он доступен для Windows, macOS и Linux, использует стандартный установщик и включает встроенный локальный поставщик моделей. Он также позволяет работать с RAG-файлами, документами и агентами без настройки сервера.
Версия Docker предназначена для доступа из браузера, создания многопользовательского экземпляра, управления правами доступа или публикации виджета чата на веб-странице. В отличие от настольной версии, Docker не включает встроенный провайдер LLM.Следовательно, вам потребуется подключить его к Ollama, LM Studio или совместимому API.
Docker изначально может работать в однопользовательском режиме. Включение многопользовательского режима позволяет создавать учетные записи с разными ролями и ограничивать доступ к рабочим пространствам. Имейте в виду, что Переход на многопользовательский режим необратим. из приложения.
Как установить AnythingLLM с помощью Docker

Во-первых, вам необходимо установить Docker. В Linux или macOS вы можете создать постоянную папку и запустить официальный образ с помощью следующих команд:
export STORAGE_LOCATION=$HOME/anythingllm
mkdir -p "$STORAGE_LOCATION"
touch "$STORAGE_LOCATION/.env"
docker run -d \
--name anythingllm \
-p 3001:3001 \
-v "$STORAGE_LOCATION:/app/server/storage" \
-v "$STORAGE_LOCATION/.env:/app/server/.env" \
-e STORAGE_DIR="/app/server/storage" \
--restart unless-stopped \
mintplexlabs/anythingllm:latest
Затем вы можете открыть http://localhost:3001Объем установлен на /app/server/storage Это важно, поскольку позволяет сохранить документы, настройки и базу данных при перезапуске или замене контейнера.
Если вам необходимо использовать веб-скрейпинг, в официальной документации указано, что нужно добавить... --cap-add SYS_ADMINЭта возможность предоставляет контейнеру широкие привилегии, поэтому не рекомендуется её внедрять, если вы не собираетесь использовать эту функцию.
На сервере, доступном из интернета, разместите AnythingLLM за обратным прокси-сервером с использованием HTTPS, ограничьте доступ к портам с помощью брандмауэра и включите аутентификацию. Не предоставляйте прямой доступ к незащищенному экземпляру через порт 3001.
Как подключить Ollama или другого поставщика решений на основе ИИ
На этапе первоначальной настройки необходимо выбрать языковую модель, поставщика эмбеддингов и базу данных векторов. AnythingLLM включает модель эмбеддингов, работающую на ЦП и использующую LanceDB в качестве базы данных векторов по умолчанию, но в Docker вам потребуется настроить LLM отдельно.
Если Ollama или LM Studio запущены на одном компьютере, не используйте их. localhost в качестве адреса из AnythingLLM, поскольку внутри контейнера этот адрес указывает на сам контейнер. В Windows и macOS вы можете использовать host.docker.internalДля установки Linux с сетью по умолчанию документация AnythingLLM предлагает следующий адрес. 172.17.0.1Однако это может измениться, если вы настроили сеть Docker.
Вы также можете подключить такие сервисы, как OpenAI, Anthropic или Gemini. В этом случае сообщения и полученный контекст, отправляемые модели, будут регулироваться политикой конфиденциальности стороннего поставщика.
Как работают рабочие пространства и RAG
Рабочие пространства позволяют разделять документы, обсуждения и инструкции. Например, вы можете выделить одно пространство для технических руководств, а другое — для деловой документации, не смешивая источники, используемые в ответах.
Документ, прикрепленный к беседе, ограничивается этой веткой обсуждения и может содержать только ее полный текст в контексте. Однако при интеграции с использованием RAG, AnythingLLM разбивает его на фрагменты, генерирует векторы и делает доступным для всех бесед в рабочем пространстве. В многопользовательском режиме он также будет доступен любому пользователю, имеющему доступ к этому рабочему пространству.
Если система не находит нужный фрагмент, вы можете проверить максимальное количество результатов и пороговое значение сходства. В документации рекомендуется использовать неограниченный вариант при отбрасывании релевантных фрагментов.
Вы также можете закрепить документ, чтобы вставить его полный текст в контекст. Этот вариант подходит только в том случае, если файл помещается в контекстное окно, поскольку он может увеличить потребление ресурсов, время ответа и стоимость при использовании внешнего API.
Как использовать агентов, потоки и API
Агенты могут использовать инструменты для поиска информации с помощью RAG-запросов, запроса веб-страниц, сохранения файлов или выполнения предварительно настроенных потоков. Их функциональность зависит от выбранной модели, поскольку некоторые небольшие или сильно квантованные модели испытывают трудности с корректным генерацией вызовов инструментов.
Если в поле для ввода текста появляется соответствующий символ, запрос следует начинать с @agentЕсли этот индикатор не отображается, AnythingLLM может автоматически активировать совместимые инструменты. Чтобы завершить сеанс, начатый вручную, используйте команду. /exit.
AnythingLLM также имеет API для управления документами, рабочими пространствами и диалогами. Интерактивную документацию можно найти по адресу: /api/docs в рамках вашего экземпляра. Защитите ключи API, поскольку любой, кто получит один из них, сможет выполнять операции, связанные с предоставленными ему правами доступа.
Схемы действий агентов позволяют объединять действия в цепочки, например, запрашивать информацию со страницы, обрабатывать ее содержимое и возвращать набор результатов. Перед автоматизацией важных задач протестируйте схему на тестовых данных и ограничьте доступные инструменты.
Конфиденциальность и распространенные проблемы
Для обеспечения обработки данных в рамках вашей инфраструктуры следует использовать локальную модель, локального поставщика встраивания и базу данных векторов, размещенные в одной системе. Также следует избегать инструментов, которые обращаются к внешним сервисам. Использование Ollama для LLM само по себе не гарантирует, что весь поток будет локальным..
AnythingLLM собирает анонимную телеметрию, которую можно отключить в настройках конфиденциальности приложения. Даже после отключения этой функции внешние подключения могут по-прежнему устанавливаться при использовании API, удаленных моделей, веб-поиска или ресурсов, загруженных из интернета.
Если Docker выдает ошибки доступа, убедитесь, что настроенные UID и GID совпадают с владельцами постоянной папки. Обычно в образе используется значение 1000, но этот идентификатор может отличаться в разных системах.
Перед обновлением контейнера создайте резервную копию папки хранилища. Для больших установок также рекомендуется использовать определенную версию образа и протестировать обновления перед их применением.
AnythingLLM — интересный вариант для запросов к документам с использованием ИИ, создания баз знаний и обмена данными между внутренними помощниками. Однако перед развертыванием необходимо решить, какие компоненты будут локальными, кто будет иметь к ним доступ и какая информация может быть отправлена внешним поставщикам.
Я энтузиаст технологий, который превратил свои «компьютерные» интересы в профессию. Я провел более 10 лет своей жизни, используя передовые технологии и возясь со всевозможными программами из чистого любопытства. Сейчас я специализируюсь на компьютерных технологиях и видеоиграх. Это потому, что более 5 лет я пишу статьи для различных сайтов, посвященных технологиям и видеоиграм, создавая статьи, которые стремятся дать вам необходимую информацию на понятном каждому языке.
Если у вас есть какие-либо вопросы, мои знания варьируются от всего, что связано с операционной системой Windows, а также Android для мобильных телефонов. И я предан вам, я всегда готов потратить несколько минут и помочь вам решить любые вопросы, которые могут у вас возникнуть в этом мире Интернета.