- Внедрение локальных RAG-систем для взаимодействия с конфиденциальными документами без отправки данных в облако.
- Гибкая настройка языковых моделей и эмбеддингов благодаря интеграции с Ollama.
- Расширенные возможности управления знаниями посредством независимых рабочих пространств с контролем прав доступа для нескольких пользователей.
AnythingLLM и Ollama позволяют создать помощника, который будет работать с вашими собственными документами. с использованием моделей, запускаемых на компьютере или сервере. Ollama отвечает за загрузку языковой модели, а AnythingLLM предоставляет интерфейс, организует файлы и извлекает необходимую информацию с помощью RAG.
Когда все компоненты настроены локально, документы и запросы не нужно отправлять поставщику облачных услуг. Однако это влияет на конфиденциальность. Это также зависит от того, не активируете ли вы веб-поиск, внешние API или другие инструменты. которые передают информацию за пределы команды.
Что вам понадобится перед подключением AnythingLLM к Ollama

Для работы вам потребуется установленная и запущенная Ollama, а также AnythingLLM Desktop или развернутый в Docker экземпляр. Desktop проще для одного пользователя, в то время как Docker позволяет получить доступ из браузера. и поделиться установкой.
Необходимые ресурсы зависят от выбранной модели, её квантования и длины контекста. Небольшая модель может работать исключительно на ЦП, хотя и будет работать медленнее. Модели с 7.000 или 8.000 миллиардами параметров обычно требуют больше памяти и обеспечивают лучшую производительность, если Ollama может использовать совместимый графический процессор.
Нецелесообразно устанавливать минимальные требования к оперативной памяти, применимые ко всем случаям. Перед загрузкой большой модели проверьте её размер и убедитесь, что у вас достаточно памяти для операционной системы, AnythingLLM и векторной базы данных.
Скачайте шаблон чата и шаблон для встраивания.
Олламе нужна модель для генерации ответов. А если вы также хотите использовать его в качестве поставщика встраивания, то существует еще одна модель, специализирующаяся на преобразовании документов в векторные изображения.
Вы можете скачать два примера шаблонов, используя:
ollama pull llama3.1:8b
ollama pull nomic-embed-text
Первая модель используется для ведения диалога и написания ответов. nomic-embed-text Он только генерирует встраиваемые элементы и не может использоваться в качестве шаблона чата. Вы можете проверить доступные шаблоны с помощью:
ollama list
Эти имена — примеры, а не обязательные требования. Вы можете Выберите более компактный шаблон чата, если у команды ограниченные ресурсы.Для документов, преимущественно на испанском языке, вас также может заинтересовать многоязычный шаблон встраивания, доступный в библиотеке Ollama, например: bge-m3.
Модель встраивания необходимо выбрать до индексирования большой библиотеки. Если вы измените её позже, вам придётся повторно обработать документы для генерации совместимых векторов.
Как подключить AnythingLLM Desktop к Ollama
Откройте настройки AnythingLLM и выберите Ollama в качестве поставщика языковой модели.Если оба приложения запущены на одном компьютере, обычно используется следующий адрес:
http://127.0.0.1:11434
AnythingLLM должен отобразить загруженные шаблоны. Выберите тот, который будете использовать для чата, и протестируйте его, прежде чем добавлять документы.
Далее откройте настройки поставщика встраивания. Вы можете Выберите модель встраивания AnythingLLM или выберите Ollama и используйте модель встраивания. Ранее загружено. LanceDB можно хранить как локальную базу данных векторов, если вам не нужна другая система.
Не следует устанавливать контекстное окно с повышенными правами только потому, что модель это поддерживает. Увеличение контекста приводит к увеличению потребления памяти и может замедлить ответы. Начните с конфигурации, обнаруженной Ollama, и изменяйте её только в том случае, если этого требует ваша ситуация.
Как подключить AnythingLLM в Docker к Ollama

Когда AnythingLLM запускается внутри контейнера, localhost Это указывает на сам контейнер, а не на хост-компьютер. В Docker Desktop для Windows или macOS можно использовать:
http://host.docker.internal:11434
В Linux это имя может быть недоступно автоматически. Вы можете добавить сопоставление при запуске контейнера или включить его в Docker Compose:
extra_hosts:
- "host.docker.internal:host-gateway"
Также может быть необходимо Настройте Ollama для прослушивания адреса, доступного из сети Docker.Не открывайте порт 11434 напрямую в Интернет, поскольку локальный API Ollama не предназначен для публикации без дополнительного уровня защиты.
Если Ollama и AnythingLLM работают как сервисы из одного и того же файла Docker Compose, удобнее объединить их в общую частную сеть и использовать имя сервиса, например:
http://ollama:11434
После сохранения адреса убедитесь, что AnythingLLM может отображать установленные модели, прежде чем продолжить.
Добавьте документы и настройте RAG.
Создайте рабочее пространство и загрузите документы, которые хотите просмотреть. Чтобы сделать их доступными через RAG, необходимо добавить их в рабочее пространство и начать обработку. AnythingLLM разделит текст на фрагменты, сгенерирует векторные представления и сохранит их в векторной базе данных.
Когда вы задаёте вопрос, система извлекает некоторые связанные фрагменты и включает их в контекст, отправляемый модели. Это уменьшает объём обрабатываемого текста, но это означает, что модель... Она не считывает автоматически все документы. на каждой консультации.
Если в ответе отсутствует важная информация, проверьте максимальное количество извлекаемых фрагментов и пороговое значение сходства. Слишком жесткое пороговое значение может привести к отбрасыванию фрагмента, содержащего ответ. В документации рекомендуется временно использовать неограниченный вариант, если RAG не может найти информацию, присутствующую в файлах.
Ссылки, отображаемые AnythingLLM, помогают идентифицировать использованный документ, но не гарантируют правильность ответа или точное указание номера страницы. Перед использованием результата в важных решениях рекомендуется проверить источник.
Это решает самые распространенные проблемы.
Если AnythingLLM не обнаруживает Ollama, сначала убедитесь, что служба запущена и что настроенный адрес доступен из той же среды, где запущен AnythingLLM. Вы также можете проверить локальный API, используя:
curl http://localhost:11434/api/tags
Если модель отображается в Ollama, но отсутствует в AnythingLLM, обновите список моделей и убедитесь, что вы выбрали правильный поставщик. В Docker проблема обычно связана с злоупотребление localhost или с сетевой конфигурацией, которая препятствует доступу к хосту..
Если ответы неточны, проверьте модель встраивания, язык документа, размер фрагмента и пороговое значение сходства. Более крупная модель чата не исправит проблемы с плохим поиском, если соответствующие фрагменты не попадают в контекст.
Использование Ollama позволяет избежать затрат на запросы к внешнему API, но всё же влечет за собой потребление электроэнергии, занимаемое место для хранения данных и техническое обслуживание оборудования. Главное преимущество такого сочетания — возможность контролировать место обработки документов и адаптировать модель к имеющимся ресурсам.
Я энтузиаст технологий, который превратил свои «компьютерные» интересы в профессию. Я провел более 10 лет своей жизни, используя передовые технологии и возясь со всевозможными программами из чистого любопытства. Сейчас я специализируюсь на компьютерных технологиях и видеоиграх. Это потому, что более 5 лет я пишу статьи для различных сайтов, посвященных технологиям и видеоиграм, создавая статьи, которые стремятся дать вам необходимую информацию на понятном каждому языке.
Если у вас есть какие-либо вопросы, мои знания варьируются от всего, что связано с операционной системой Windows, а также Android для мобильных телефонов. И я предан вам, я всегда готов потратить несколько минут и помочь вам решить любые вопросы, которые могут у вас возникнуть в этом мире Интернета.