У меня накопилась папка с рабочими документами, которые я не хочу никуда загружать. Договоры, внутренние инструкции, переписка с подрядчиками. 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 лучше всех». У каждого инструмента своя ниша.
| AnythingLLM | ChatPDF | NotebookLM | |
|---|---|---|---|
| Конфиденциальность | Полная (локально) | Данные в облаке | Данные в Google |
| Установка | Нужна (5 мин) | Не нужна | Не нужна |
| Цена | Бесплатно | Бесплатный план ограничен | Бесплатно |
| Качество ответов | Зависит от модели | GPT-4 | Gemini 1.5 |
| Объём документов | Не ограничен | До 120 страниц/PDF | До 50 источников |
| Форматы | 50+ типов | Только PDF | PDF, 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 тоже есть, но проще в настройке.
- RAG с нуля на Python — строим свою систему с LangChain и ChromaDB
- Fine-tuning vs RAG: что выбрать — когда дообучение, когда документы
Мой итог: AnythingLLM занял место постоянного инструмента в рабочем процессе. Особенно для тех случаев, когда нужно быстро найти что-то в горе документов или проверить, что написано в конкретном пункте договора. 15 минут на установку — и это просто работает.
Скачай AnythingLLM, загрузи любой рабочий документ и задай первый вопрос — сразу поймёшь, насколько это меняет работу с файлами.



