Что вы настраиваете
Если вы попали сюда, введя openwebui how to chat n8n, вы, вероятно, хотите решить две связанные задачи: общаться с моделью в Open WebUI и вызывать ту же модель из рабочих процессов n8n. Оба инструмента могут обращаться к любому серверу, поддерживающему формат завершения чата OpenAI, поэтому одного аккаунта хватит для обоих.
Open WebUI — это интерфейс чата, который разворачивается на вашем сервере. n8n — инструмент автоматизации рабочих процессов, где вы соединяете узлы. API, стоящий за ними в обоих случаях, одинаков:
- Базовый URL:
https://api.nofilteraichat.com/v1 - Идентификатор модели:
uncensored - Аутентификация: заголовок
Authorization: Bearerс вашим ключом
Сначала вам нужен ключ. На странице API-ключ описаны регистрация и получение пробного кредита на $0,50 в один клик, которого достаточно, чтобы протестировать всё, что описано ниже.
Часть первая: Open WebUI
Вариант A: панель администратора
Если Open WebUI уже запущен, войдите как администратор и откройте «Настройки администратора», затем «Подключения». Добавьте новое подключение OpenAI API со следующими значениями:
- URL:
https://api.nofilteraichat.com/v1 - Ключ: ваш API-ключ
- Сохраните и нажмите кнопку проверки, если она есть в вашей версии.
Названия меню немного меняются от версии к версии, поэтому ищите раздел, где перечисляются подключения в стиле OpenAI. После сохранения начните новый чат и откройте выбор модели. Модель uncensored должна появиться, так как Open WebUI загружает список из GET /v1/models.
Вариант B: переменные окружения в Docker
Если вы запускаете систему с нуля, передайте настройки при запуске контейнера:
docker run -d --name open-webui -p 3000:8080 \
-e OPENAI_API_BASE_URL="https://api.nofilteraichat.com/v1" \
-e OPENAI_API_KEY="$NOFILTER_API_KEY" \
-v open-webui:/app/backend/data \
ghcr.io/open-webui/open-webui:mainОткройте http://localhost:3000, создайте первую локальную учётную запись, и модель будет в списке выбора. Обратите внимание, что Open WebUI сохраняет настройки подключения в своей базе данных после первого запуска. Если вы измените переменные позже, а ничего не произойдёт, отредактируйте подключение в панели администратора.
Настройка чата
В настройках чата можно задать температуру, top_p, стоп-последовательность и системный промпт. Эти параметры передаются модели. Для художественной литературы и ролевых игр температура от 0,7 до 1,0 даёт более живой текст. Для фактических вопросов лучше выбрать меньшее значение. Если модель начинает повторять фразы, немного повысьте штраф за частоту.
Часть вторая: n8n с узлом OpenAI
В n8n есть встроенные учётные данные OpenAI. Их конфигурация включает поле Base URL, которое по умолчанию указывает на официальный сервер. Измените его, и узел будет обращаться к вашему эндпоинту:
- В n8n создайте новые учетные данные типа OpenAI.
- Вставьте ваш API-ключ.
- Установите базовый URL в
https://api.nofilteraichat.com/v1. - Сохраните и привяжите учетные данные к узлу Chat Model или рабочему процессу AI Agent.
Подвох в поле модели. Некоторые узлы показывают выпадающий список, заполненный из списка моделей, а некоторые ограничивают выбор известными именами. Если вы не можете выбрать uncensored, переключите поле в режим выражения и введите ID вручную. Если ваша версия n8n всё ещё отказывается, используйте подход HTTP Request в следующем разделе, который не имеет таких ограничений.
Когда учётные данные работают, вы можете подключить модель чата к узлу AI Agent и дать ей инструменты. Вызов функций поддерживается API (tools, tool_choice и результаты в виде role: "tool"). Как и с любой моделью с открытыми весами, тестируйте агента на реальных данных и делайте описания инструментов короткими и дословными.
Часть третья: чат через узел HTTP Request
Самый предсказуемый вариант — обычный узел HTTP Request. Он показывает, что именно отправляется, и работает во всех версиях n8n. Настройте узел следующим образом:
- Метод: POST
- URL:
https://api.nofilteraichat.com/v1/chat/completions - Аутентификация: Header Auth, с именем
Authorizationи значениемBearer YOUR_KEY(сохраните их как учётные данные, а не в узле) - Отправлять тело: вкл, тип содержимого JSON
Установите тело запроса следующим образом, используя выражение для текста пользователя:
{
"model": "uncensored",
"messages": [
{ "role": "system", "content": "You are a concise story assistant for adult fiction writers." },
{ "role": "user", "content": "{{ $json.prompt }}" }
],
"temperature": 0.8,
"max_tokens": 600
}Текст ответа находится по пути choices[0].message.content. В следующем узле прочитайте его с помощью выражения {{ $json.choices[0].message.content }}. Тот же ответ также содержит блок usage, поэтому вы можете записывать количество токенов в таблицу или базу данных.
Типичный рабочий процесс — это триггер вебхук, этот HTTP-узел и узел ответа, возвращающий текст. Другой распространённый вариант считывает строки из таблицы, генерирует черновик для каждой из них и записывает результаты обратно. Вы также можете сначала протестировать запрос вне n8n с помощью curl:
curl https://api.nofilteraichat.com/v1/chat/completions \
-H "Authorization: Bearer $NOFILTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"uncensored","messages":[{"role":"user","content":"Say hello in five words."}]}'Лимиты, повторные попытки и пакетная обработка в n8n
Полный ключ позволяет 8 параллельных запросов и 300 запросов в минуту; пробный ключ — 2 и 60 соответственно. n8n легко превысит эти лимиты, так как узел обрабатывает каждый входящий элемент и может отправлять их быстро.
В узле HTTP Request откройте Options и используйте Batching: установите размер пакета 4 или 6 и интервал в одну или две секунды. В настройках узла включите Retry On Fail с 3 попытками и задержкой 5000 мс. Это соответствует поведению API: при кратковременной перегрузке он возвращает HTTP 429 с заголовком Retry-After: 5. Другие коды 429 сообщают, какой лимит вы превысили: rate_limited означает слишком много запросов в минуту, concurrency — слишком много одновременно.
Потоковая передача заслуживает отдельного внимания. Потоковый запрос удерживает слот параллельности до завершения потока. В n8n оставьте потоковую передачу выключенной в HTTP-узле, так как рабочий процесс все равно ждет полный ответ. В Open WebUI потоковая передача включена по умолчанию, что подходит для окна чата.
Стоимость рабочего процесса
Предположим, что рабочий процесс обрабатывает 500 строк, отправляя 800 входных токенов и получая 250 выходных токенов для каждой. Вход: 500 × 800 = 400 000 токенов, что стоит 400 000 × $0,15 / 1 000 000 = $0,06. Выход: 500 × 250 = 125 000 токенов, что стоит 125 000 × $0,50 / 1 000 000 = $0,0625. Итого за запуск $0,1225, примерно 12 центов. См. страницу цен для пополнения.
Устранение неполадок
| Симптом | Вероятная причина | Исправление |
|---|---|---|
| Open WebUI не показывает модели | Неверный URL или ключ | Используйте базовый URL, заканчивающийся на /v1; протестируйте GET /v1/models с помощью curl |
| Переменные окружения Docker игнорируются | Настройки уже сохранены | Отредактируйте подключение в «Настройках администратора» |
| Ошибка 401 от n8n | В значении заголовка отсутствует слово Bearer | Значение должно быть Bearer, пробел, затем ключ |
| Open WebUI в Docker не может подключиться к локальному прокси | localhost указывает на контейнер | Используйте адрес хоста, а не localhost |
| Ошибка 429 в середине цикла | Слишком много параллельных элементов | Включите пакетную отправку в узле HTTP и повторные попытки |
| Модель не найдена | Имя введено неверно | Единственный идентификатор — uncensored |
Помните об ограничениях продукта при проектировании потока: только текстовый чат, контекстное окно на 100 000 токенов, разделяемое промптом и ответом, и тело запроса до 8 МБ. Эндпоинта эмбеддингов нет, поэтому оставьте любой векторный поиск на другом сервисе. В быстром старте есть полная справочная информация по запросам, а в руководстве по интеграции — больше фронтендов. Промпты, отправленные через API, не используются для обучения.
Жёсткое правило действует во всех инструментах: нет сексуального контента с участием несовершеннолетних. В рамках законного использования взрослыми модель настроена так, чтобы отвечать без отказов по содержанию, что подходит для художественной литературы, ролевых игр и приложений-компаньонов для взрослых.
