нейропоток
ГайдыПрактик

AnythingLLM: чат с документами на своём компьютере без облака

Устанавливаю AnythingLLM — бесплатный ChatPDF-аналог для своих документов. Работает с Ollama, никаких облаков. За 15 минут настраиваю RAG на Mac.

Павел·8 мин чтения
AnythingLLM: чат с документами на своём компьютере без облака
Поделиться:TelegramVK

У меня накопилась папка с рабочими документами, которые я не хочу никуда загружать. Договоры, внутренние инструкции, переписка с подрядчиками. ChatPDF и NotebookLM — удобные штуки, но данные уходят на серверы, а я не всегда готов на такой обмен. Начал искать альтернативу и наткнулся на AnythingLLM.

AnythingLLM — это бесплатное десктопное приложение, которое умеет делать ровно то, что ChatPDF, только полностью локально. Загружаешь документы, задаёшь вопросы, получаешь ответы. Никаких подписок, никаких серверов, данные не покидают компьютер. Под капотом — RAG (Retrieval-Augmented Generation, технология, при которой модель ищет нужные фрагменты в твоих документах и опирается на них при ответе) плюс Ollama для запуска самой языковой модели.

Если хочешь понять, как RAG работает изнутри или написать свою систему на Python — есть полный гайд по RAG с нуля.

Статья для тех, кто уже познакомился с Ollama и хочет применить локальные модели для реальных задач — работы с документами, личной базой знаний или чем угодно, что не должно попасть в чужое облако. Если Ollama — это ещё незнакомый инструмент, начни со статьи про Ollama, там есть вся база.

Что такое AnythingLLM и зачем он нужен

Представь, что у тебя есть личный ChatGPT, который знает только то, что ты ему дал. Ты закидываешь PDF с техническим заданием — он отвечает на вопросы строго по этому ТЗ. Загружаешь папку с договорами — он находит нужный пункт за секунды. Это и есть AnythingLLM.

Технически это десктопное приложение с открытым исходным кодом (MIT-лицензия, репозиторий Mintplex-Labs/anything-llm на GitHub). Работает на Mac, Windows и Linux. Никакого Docker не нужно — скачиваешь как обычную программу и запускаешь.

Почему это интересно:

  • Конфиденциальность. Медицинские карты, юридические документы, финансовая отчётность — ничего не уходит в интернет. Вообще.
  • Бесплатно. ChatPDF стоит денег при большом объёме. AnythingLLM — нет.
  • Гибкость. Работает с Ollama, LM Studio, а если хочешь — и с OpenAI или Anthropic. Выбираешь сам.
  • Форматы. PDF, Word, Excel, PowerPoint, Markdown, CSV, HTML, аудио (через Whisper) и даже GitHub-репозитории или YouTube-субтитры.

Самый частый use case, который я видел у людей: загружают рабочую документацию или базу знаний своей компании и перестают тратить время на поиск «а в каком файле была та инструкция».

Что потребуется

  • Ollama — установлен и работает (нужен для запуска языковой модели). Ссылка: Ollama — запускаем локальные AI-модели
  • Модель в Ollama. Рекомендую llama3.2 или qwen2.5. Для RAG-задач они справляются хорошо.
  • AnythingLLM Desktop — бесплатно, скачивается с anythingllm.com/desktop
  • RAM. Само приложение — около 2 ГБ. Плюс то, что нужно модели: для 7-8B моделей — 8 ГБ RAM минимум, на 16 ГБ работает комфортно.
  • Время. 15 минут на установку и первый тест.

На моём M2 Pro с 16 ГБ RAM всё работает без проблем. На Windows с 16 ГБ — тоже пробовал, нормально.

Установка — 5 шагов

Шаг 1. Иду на anythingllm.com/desktop и скачиваю версию под свою ОС. Для Mac — .dmg, для Windows — .exe, для Linux — .AppImage. Версия на момент написания — 1.7.x.

Шаг 2. Устанавливаю стандартно: открываю .dmg, перетаскиваю в Applications. На Mac может появиться предупреждение «неустановленного разработчика» — жму «Открыть всё равно» в настройках безопасности. Это нормально для open-source приложений, не подписанных в Apple.

Шаг 3. Запускаю AnythingLLM. При первом запуске — онбординг-визард с вопросом, куда сохранять данные. Оставляю дефолт.

Шаг 4. Открываю настройки (шестерёнка внизу слева) → LLM Preference → выбираю Ollama → в поле URL вписываю http://localhost:11434 (это стандартный порт Ollama). Нажимаю Save Changes.

Шаг 5. В том же разделе чуть ниже — Embedding Model. Это модель, которая превращает текст документов в числовые векторы для поиска. Выбираю nomic-embed-text через Ollama (надо сначала подтянуть её: ollama pull nomic-embed-text). Или можно выбрать встроенный Native Embedder — он не требует Ollama, чуть медленнее, но работает из коробки.

Всё. Приложение готово к работе.

Совет

Если Ollama не видит AnythingLLM или наоборот — проверь, что Ollama запущена (ollama serve в терминале). AnythingLLM не запускает Ollama сам.

Создаём воркспейс и загружаем документы

Воркспейс в AnythingLLM — это отдельный чат с отдельным набором документов. Я сделал себе три: «Рабочие договоры», «Технические документы» и «Личное» — для заметок и статей, с которыми хочу поработать. Каждый воркспейс изолирован, модель отвечает только по своим документам.

Создать воркспейс. Кнопка «+ New Workspace» в левой панели. Называю его, нажимаю Enter.

Загрузить документы. Внутри воркспейса — кнопка «Upload Document» (иконка скрепки). Можно бросить файл мышкой или выбрать в проводнике. AnythingLLM принимает:

  • PDF, DOCX, XLSX, PPTX, TXT, MD, CSV, HTML
  • Аудио и видео — транскрибирует через Whisper прямо здесь
  • Веб-страницы — вставляешь URL и он скрейпит содержимое
  • YouTube — по ссылке забирает субтитры
  • GitHub-репозиторий — подтягивает весь код как контекст

После загрузки файл проходит через embedder — нарезается на чанки и индексируется. На PDF в 50 страниц уходит 10-15 секунд. На большой Word-файл — немного дольше.

Проверяю в деле. Загружаю договор на 12 страниц. Спрашиваю: «Какой срок действия договора и как он продлевается?» — AnythingLLM находит нужный раздел и отвечает дословно, со ссылкой на источник. Это прям работает. Не пересказывает весь документ — отвечает конкретно.

Ещё один тест — загружаю три документа сразу (инструкция, прайс-лист, техническое задание) и прошу «найди все упоминания срока сдачи» — отвечает по всем трём файлам одновременно.

Под какие задачи настраивать

Выбор модели для RAG — отдельная история. Здесь важна не только умность, но и способность работать с контекстом на русском.

Llama 3.2 8B — мой основной выбор. Хорошо понимает русский, быстро отвечает, не галлюцинирует по документам. На M2 Pro — 25-30 токенов в секунду.

Qwen 2.5 7B — чуть умнее в аналитических задачах, хуже работает с очень длинными документами. Зато для кода — лучший вариант в этой весовой категории.

Mistral 7B — базовый вариант, хорош для английских документов. На русском хуже, чем Llama.

Есть ещё настройка Context Chunks в параметрах воркспейса. По умолчанию стоит 4 чанка — это значит, модель видит 4 фрагмента документа при ответе на вопрос. Для технической документации с плотными ссылками — поднимаю до 6-8. Для простых вопросов — 4 хватает.

Multi-document workspace. По умолчанию все загруженные документы активны. Если хочешь спрашивать только по одному — заходишь в управление документами воркспейса и снимаешь галочки с лишних. Удобно, когда в одном воркспейсе собраны файлы за несколько кварталов, а нужен только последний.

AnythingLLM против ChatPDF и NotebookLM — честно

Не будет честным сказать «AnythingLLM лучше всех». У каждого инструмента своя ниша.

AnythingLLMChatPDFNotebookLM
КонфиденциальностьПолная (локально)Данные в облакеДанные в Google
УстановкаНужна (5 мин)Не нужнаНе нужна
ЦенаБесплатноБесплатный план ограниченБесплатно
Качество ответовЗависит от моделиGPT-4Gemini 1.5
Объём документовНе ограниченДо 120 страниц/PDFДо 50 источников
Форматы50+ типовТолько PDFPDF, DOCX, веб, YouTube
Русский языкХорошо (с Llama/Qwen)ОтличноХорошо

Если данные не конфиденциальные и нужен максимальный комфорт прямо сейчас — NotebookLM с Gemini под капотом выдаёт качественные ответы без настройки. ChatPDF удобен для разового анализа одного PDF.

AnythingLLM выигрывает там, где данные нельзя отдавать в облако или когда нужно работать с большим объёмом документов постоянно. Для меня это основной сценарий. У меня есть воркспейс с 40+ рабочими файлами, который я использую почти каждый день.

Одна реальная боль — AnythingLLM требует, чтобы Ollama была запущена. Это значит, что при перезагрузке компьютера нужно вручную стартовать Ollama перед работой. Решается добавлением ollama serve в автозапуск, но это минута настройки, о которой надо знать.

Что дальше

Если хочешь пойти глубже — есть Docker-версия AnythingLLM с поддержкой нескольких пользователей, разграничением прав, API и внешними векторными базами (Pinecone, Chroma). Для команды или self-hosted корпоративного решения это уже серьёзный вариант. Desktop-версия — только для одного пользователя.

Из смежных инструментов — Open WebUI как альтернативный интерфейс для Ollama без RAG, зато с красивым чатом и историей разговоров. А если хочется GUI без терминала вообще — смотри в сторону LM Studio, там RAG тоже есть, но проще в настройке.

Мой итог: AnythingLLM занял место постоянного инструмента в рабочем процессе. Особенно для тех случаев, когда нужно быстро найти что-то в горе документов или проверить, что написано в конкретном пункте договора. 15 минут на установку — и это просто работает.

Скачай AnythingLLM, загрузи любой рабочий документ и задай первый вопрос — сразу поймёшь, насколько это меняет работу с файлами.