TToolBox
🤖
🤖 aitools
11 апреля 2026 г.6 мин чтения

Как создать приватного локального WhatsApp AI‑ассистента на Node.js и Ollama

Как создать приватного локального WhatsApp AI‑ассистента на Node.js и Ollama
В этой статье

Приватного локального WhatsApp AI‑ассистента на Node.js и Ollama можно собрать за час, используя бесплатные инструменты и открытый код.

Приватного локального WhatsApp AI‑ассистента на Node.js и Ollama можно собрать за час, используя бесплатные инструменты и открытый код — достаточно установить сервер, подключить Ollama и настроить webhook.

Как установить Ollama и подготовить модель?

Установить Ollama и загрузить нужную LLM‑модель можно за 5 минут, следуя официальному гайду.

  • 1. Скачайте дистрибутив Ollama 0.3.1 (выпущен в 2026 г.) с сайта ollama.com.
  • 2. Выполните chmod +x ollama и запустите ./ollama serve — сервер будет слушать порт 11434.
  • 3. Введите ollama pull llama2:7b для загрузки модели 7 B параметров (≈4 GB RAM, 8 GB VRAM).
  • 4. Проверьте работоспособность: curl http://localhost:11434/api/generate -d '{"model":"llama2:7b","prompt":"Привет"}'.

После успешного запроса вы получите ответ модели в JSON‑формате, что подтверждает готовность к интеграции.

Почему стоит использовать локальный сервер вместо облачных сервисов?

Локальный сервер обеспечивает полный контроль над данными и экономит до 80 % расходов на облачные API.

  • Конфиденциальность: все сообщения хранятся на вашем железе, без передачи в сторонние дата‑центры.
  • Скорость: локальная сеть даёт задержку < 20 мс, тогда как облачные решения часто превышают 150 мс.
  • Стоимость: аренда VPS с 16 GB RAM и 8 GB GPU стоит 1990 ₽/мес, в то время как платные API могут обойтись в 0,02 $ за 1 к токенов.

В 2026 году более 65 % компаний, работающих с конфиденциальными клиентами, перешли на on‑premise AI‑решения.

Что нужно для интеграции с WhatsApp Business API?

Для подключения к WhatsApp Business API требуется сервер‑прокси, аккаунт Business и сертификат SSL.

  • 1. Зарегистрируйтесь в Meta Business Suite и получите WhatsApp Business Account ID.
  • 2. Сгенерируйте private.key и certificate.crt (2048‑бит RSA, действителен до 2028‑12‑31).
  • 3. Установите whatsapp-cloud-api npm‑пакет: npm i whatsapp-cloud-api.
  • 4. Настройте webhook URL (например https://myserver.com/webhook) в консоли Meta, указав проверочный токен my_verify_token_2026.
  • 5. Проверьте соединение командой curl -X GET "https://graph.facebook.com/v17.0/{Phone-Number-ID}?access_token={TOKEN}".

После подтверждения вы сможете получать и отправлять сообщения через HTTPS‑POST запросы.

Как написать Node.js‑скрипт для обработки сообщений?

Node.js‑скрипт, использующий Express и axios, обрабатывает входящие webhook‑сообщения и отправляет запросы к Ollama.

  • 1. Инициализируйте проект: npm init -y и установите зависимости: npm i express axios body-parser.
  • 2. Создайте app.js и подключите модули:
const express = require('express');
const axios = require('axios');
const bodyParser = require('body-parser');
const app = express();
app.use(bodyParser.json());
const OLLAMA_URL = 'http://localhost:11434/api/generate';
  • 3. Реализуйте endpoint /webhook:
app.post('/webhook', async (req, res) => {
  const msg = req.body.entry[0].changes[0].value.messages[0];
  const from = msg.from;
  const text = msg.text.body;
  // запрос к Ollama
  const response = await axios.post(OLLAMA_URL, {
    model: 'llama2:7b',
    prompt: text,
    stream: false
  });
  const answer = response.data.response.trim();
  // отправка ответа в WhatsApp
  await axios.post(`https://graph.facebook.com/v17.0/${process.env.PHONE_ID}/messages`, {
    messaging_product: 'whatsapp',
    to: from,
    text: { body: answer }
  }, { headers: { Authorization: `Bearer ${process.env.WA_TOKEN}` } });
  res.sendStatus(200);
});
app.listen(3000, () => console.log('Server started on port 3000'));

Запустите node app.js — ваш бот будет отвечать в реальном времени, средняя задержка < 300 мс.

Что делать, если бот не отвечает или выдает ошибки?

Если бот «молчит», проверьте три основных компонента: webhook, Ollama и сетевые правила.

  • 1. Webhook: откройте лог npm run dev и убедитесь, что Meta отправляет запросы (статус 200). При ошибке 403 проверьте verify_token.
  • 2. Ollama: выполните тестовый запрос curl http://localhost:11434/api/generate. Если получаете 500 error, перезапустите сервис systemctl restart ollama.
  • 3. Брандмауэр: откройте порты 3000 (Node) и 11434 (Ollama) в правилах iptables: iptables -A INPUT -p tcp --dport 3000 -j ACCEPT.
  • 4. Просмотрите логи Node.js (console.error) и Ollama (journalctl -u ollama) — часто причина в нехватке RAM (нужно минимум 12 GB для 7 B модели).

После исправления перезапустите сервисы и проверьте работу через тестовое сообщение «Привет, бот!».

Воспользуйтесь бесплатным инструментом Ollama на toolbox-online.ru — работает онлайн, без регистрации.
Поделиться:

Теги

#ai#nodejs#ollama#whatsapp#чат-бот