Запустите AnythingLLM на любой модели через Generic OpenAI.
Updated 2026-07-29
Провайдер Generic OpenAI в AnythingLLM подключает всё приложение к любому OpenAI-совместимому эндпоинту: Base URL https://api.apisrouter.com/v1, один ключ, id чат-модели и честные лимиты токенов. Id Claude, GPT, Gemini и DeepSeek — все подходят, одинаково для документов, агентов и чата.
Короткий ответ: пять полей в LLM Preference.
Откройте настройки AnythingLLM, перейдите в раздел LLM под AI Providers (экран, исторически называвшийся LLM Preference), и найдите в списке провайдеров Generic OpenAI. При выборе открываются пять полей: Base URL, API Key, Chat Model Name, Token Context Window и Max Tokens. Заполните их так: Base URL — https://api.apisrouter.com/v1 (/v1 указывается прямо в этом поле), ваш ключ, и точный id из каталога в Chat Model Name, например claude-sonnet-4-6. Затем два числа: Token Context Window — это полное окно модели, а Max Tokens ограничивает один ответ, так что берите оба значения из документации модели, а не угадывайте. Сохраните — и каждый workspace, следующий системному умолчанию, теперь общается через шлюз. Документация помечает этого провайдера как ориентированного на разработчиков именно потому, что он доверяет вашим вводным данным; это не предостережение против использования, а просто утверждение, что пять полей — это контракт.
Base URL: https://api.apisrouter.com/v1
API Key: sk-YOUR-APISROUTER-KEY
Chat Model Name: claude-sonnet-4-6
Token Context Window: 200000
Max Tokens: 8192Что на самом деле приводит в движение провайдер Generic OpenAI.
AnythingLLM (Mintplex Labs на GitHub, около 63K звёзд) — универсальный приватный ассистент по документам: workspace'ы, которые эмбеддят ваши файлы, чат, опирающийся на извлечённый контекст, агенты с использованием инструментов, доступен как десктопное приложение и как self-hosted сервер. Настроенный выше LLM preference — это мозг по умолчанию для всего этого. Запросы уходят как стандартные chat completions к вашему Base URL со строкой Chat Model Name в качестве модели, так что вендор не важен: id Claude так же валиден, как id GPT, а переключение означает правку одного поля. Workspace'ы также могут переопределить системное умолчание собственными настройками провайдера и модели — так один деплой запускает claude-sonnet-4-6 для юридического workspace и gpt-5.5 для инженерного, причём ни один не знает о другом. Два поля токенов заслуживают уважения, потому что AnythingLLM использует их для бюджетирования контекста. Значение context window решает, сколько текста из извлечённых документов и истории чата упаковывается в каждый запрос; занизите его — и ваши тщательно заэмбеженные документы окажутся обрезаны из собственных ответов, завысьте — и запросы будут отскакивать от реального лимита модели. Именно эта пара полей стоит за большинством жалоб «RAG туповат» на дженерик-эндпоинтах.
Эмбеддинги — это отдельное решение.
AnythingLLM разделяет LLM preference и embedding preference, и это разделение несущее. Чат-модель отвечает на вопросы; эмбеддер превращает ваши документы в векторы в момент загрузки, и эти векторы сохраняются. Смену чат-моделей можно делать свободно, в любой день, на уровне workspace. Смена эмбеддера обесценивает геометрию всего уже заэмбеженного и означает переэмбеддинг ваших документов. Практическая настройка: AnythingLLM поставляется со встроенным локальным эмбеддером, который работает офлайн и ничего не стоит, и многие деплои просто оставляют его. Если вместо этого вы направите embedding preference на удалённый эндпоинт, убедитесь, что конкретный embedding id там обслуживается, прежде чем загружать базу документов, и относитесь к этому выбору как к неразрывно связанному с векторным хранилищем. Свобода, которую это покупает на стороне чата, — вот в чём суть архитектуры: когда с эмбеддингами всё улажено, чат-модель Generic OpenAI — это малозначительный переключатель. Гоняйте deepseek-v4-pro месяц для тяжёлой суммаризации, переключите поле на claude-sonnet-4-6 на квартал клиентской работы — и ничего в ваших документах не нужно трогать.
curl -s https://api.apisrouter.com/v1/models \
-H "Authorization: Bearer $APISROUTER_API_KEY" | head -50
# Chat Model Name must match one of these ids exactlyВыбор моделей для работы с документами.
Каждый id тарифицируется через один и тот же ключ, так что цикл сравнения — это правка настроек: тот же workspace, те же документы, две недели на каждого кандидата, и расходы по модели в консоли APIsRouter рядом с вашей собственной оценкой ответов.
- Ответы на вопросы по извлечённым чанкам — это работа с большим объёмом входных данных: claude-haiku-4-5-20251001 и gemini-3.5-flash хорошо отвечают на вопросы с цитированием источников по объёмным ценам.
- claude-sonnet-4-6 заслуживает роли умолчания там, где ответы уходят к людям без редактирования: разбор договоров, черновики отчётов, всё, что имеет последствия.
- deepseek-v4-pro — рабочая лошадка с длинным контекстом для workspace'ов, построенных на больших документах, где окно и цена входа определяют весь опыт.
- Агентским workspace'ам нужен надёжный вызов инструментов; начинайте агентов с claude-sonnet-4-6, а затем проверьте, справляется ли более лёгкий id на ваших реальных флоу.
- Используйте переопределения на уровне workspace как политику: умолчание остаётся быстрым, а дорогой id живёт только в тех workspace'ах, чья работа его оправдывает.
Оплата по факту · дешевле официальных цен
Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.
| Модель | Официальная цена | Наша цена |
|---|---|---|
| Claude Sonnet 4.6 | $3.00 / $15.00 per M | $2.40 / $12.00 per M |
| Claude Haiku 4.5 20251001 | $1.00 / $5.00 per M | $0.80 / $4.00 per M |
| GPT-5.5 | $5.00 / $30.00 per M | $4.00 / $24.00 per M |
| Gemini 3.5 Flash | $1.50 / $9.00 per M | $1.20 / $7.20 per M |
| DeepSeek V4 Pro | $0.43 / $0.87 per M | $0.40 / $0.90 per M |
Сбои, специфичные именно для AnythingLLM.
Поля токенов вызывают самые незаметные сбои. Слишком низкий context window тихо обрезает извлечённый контекст, что выглядит как модель, игнорирующая ваши документы; ставьте задокументированное окно для id в Chat Model Name. Слишком высокий для модели Max Tokens даёт жёсткие ошибки на длинных ответах; выставляйте его в то, что модель реально допускает на выход. Жёсткие ошибки честнее. Сбои аутентификации — это поле API Key. Model-not-found — это расхождение Chat Model Name с написанием в каталоге; поле свободнотекстовое, и листинг /v1/models — источник истины. Ошибки подключения на десктопном приложении обычно означают прокси или файрвол между приложением и эндпоинтом; на Docker-деплоях помните, что до Base URL должен дотянуться контейнер, а не ваш браузер. Если чат работает, но какой-то workspace ведёт себя не так, как ожидалось, проверьте его настройки переопределения; настройки провайдера на уровне workspace побеждают системное умолчание, и забытое переопределение — классическая загадка «тот же вопрос, другая модель». Ориентация документации на разработчиков резюмирует всё вышесказанное: провайдер делает ровно то, что говорят его пять полей, не больше и не меньше.
Кто направляет AnythingLLM через шлюз.
- Команды, запускающие приватных ассистентов по документам, которым нужно топовое качество ответов без аккаунта у вендора на каждое семейство моделей.
- Пользователи десктопа, направляющие свою личную базу документов на id Claude или GPT на предоплаченном балансе, без необходимости карты для старта.
- Self-hosters, которые оставляют встроенный локальный эмбеддер и относятся к удалённому чату как к единственной тарифицируемой полосе, читаемой по модели в одном логе использования.
- Деплои, сегментированные по workspace, где переопределения на уровне workspace плюс учёт по ключу дают каждой команде свою модель и свой счёт.
- Разработчики, сравнивающие модели ответов на фиксированной базе документов, где каждый кандидат — это одна правка настроек, а не миграция.
Проверьте эндпоинт и отладьте первый чат в workspace.
Сначала curl'ните листинг моделей и один chat completion, используя точный id, который собираетесь указать в Chat Model Name. Если оба проходят, половина со шлюзом доказана, и все оставшиеся симптомы живут в пяти полях. Затем сохраните настройки провайдера и задайте один вопрос в workspace с документом, который хорошо знаете. Обоснованный ответ с цитированием означает, что весь пайплайн работает. Ответ, игнорирующий документ, указывает на значение context window или на собственные настройки retrieval workspace. Жёсткие ошибки раскладываются чисто: ключ, написание id, форма Base URL. Как только чаты начинают работать, консоль APIsRouter показывает модель на запрос, счётчики токенов и расходы. QA по документам умножает входные токены через retrieval, и лог использования — это место, где вы узнаёте, во что реально обходится запрос к вашей базе документов, по модели, по дню и по ключу workspace, если вы их разделяете.
curl -s https://api.apisrouter.com/v1/chat/completions \
-H "Authorization: Bearer $APISROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"claude-sonnet-4-6",
"messages":[{"role":"user","content":"ping"}]}'Частые вопросы
Как задать кастомный Base URL в AnythingLLM?
В настройках под AI Providers откройте экран LLM preference и выберите Generic OpenAI в списке провайдеров. Установите Base URL в https://api.apisrouter.com/v1, добавьте свой ключ, укажите точный id из каталога в Chat Model Name и заполните оба поля токенов по документации модели.
Что контролируют Token Context Window и Max Tokens?
Context window сообщает AnythingLLM, сколько извлечённого текста и истории можно упаковать в один запрос; Max Tokens ограничивает один ответ. Занижение окна обрезает ваши документы из ответов, а завышение любого из значений даёт запросы, которые модель отклоняет.
Может ли AnythingLLM работать с Claude или DeepSeek через Generic OpenAI?
Да. Провайдер отправляет Chat Model Name как простую строку на Base URL через стандартные chat completions, так что работают claude-sonnet-4-6, deepseek-v4-pro, gemini-3.5-flash и id GPT — переключаются правкой одного поля или на уровне workspace.
Влияет ли смена чат-модели на мои заэмбеженные документы?
Нет. Chat и embedding preferences независимы; векторы сохраняются, а чат-модели меняются свободно. Только смена эмбеддера обесценивает существующие векторы и требует переэмбеддинга, поэтому многие деплои оставляют встроенный локальный эмбеддер и настраивают только сторону чата.
Почему документация называет Generic OpenAI ориентированным на разработчиков?
Потому что он доверяет вашим вводным данным вместо готовых пресетов по вендорам: неверные id, URL или значения токенов дают сбой во время выполнения, а не отлавливаются формой. С id, скопированными из /v1/models, и лимитами из документации модели это стабильный путь первого класса.
Могут ли разные workspace использовать разные модели?
Да. Workspace'ы наследуют системное умолчание, но могут переопределить провайдера и модель в собственных настройках чата, так что один деплой может по умолчанию работать на быстром id и закреплять claude-sonnet-4-6 только в тех workspace'ах, чья работа это заслуживает.