ИИ · Cloudflare · RAG · Веб-разработка · Серверные решения · Автоматизация18 октября в 06:33 · 5 мин

Как создать бесплатного ИИ-помощника для сайта без серверов и видеокарт

Технология RAG (Retrieval-Augmented Generation) позволяет превратить обычный корпоративный сайт в умного консультанта, который отвечает на вопросы посетителя, опираясь только на опубликованные материалы. В этой статье описан эксперимент на платформе Cloudflare, где небольшой проект собрал такого помощника, используя исключительно бесплатные квоты и настраиваемые нейросетевые модели.

# Комнатный RAG: бесплатный ИИ-помощник-консультант по содержимому сайта

Искусственный интеллект часто ассоциируется с крупными корпорациями и дорогими сервисами. Однако возможность автоматизации вопросов-ответов доступна и малому бизнесу. Главное условие здесь — чёткое понимание границ задачи: ИИ-помощник должен знать только то, что опубликовано на сайте, и не выдумывать несуществующие факты.

На примере проекта Avenex разобраны семь практических шагов по созданию такого ассистента. Решение построено на платформе Cloudflare, что позволило обходиться без аренды мощных серверов с видеокартами. Вместо этого использовались специализированные серверные сервисы (Workers, D1, Workers AI), которые предоставляют значительные бесплатные лимиты ресурсов.

Ниже приведена пошаговая инструкция, как превратить статику в интерактивный консультант.

Как работает архитектура «комнатного» RAG

Сердцем системы является метод RAG (Retrieval-Augmented Generation — генерация с извлечением информации). Принцип прост: модель не знает всё на свете, она работает только с предоставленным контекстом.

При запросе пользователя система сначала ищет в базе знаний фрагменты текста, релевантные вопросу. Если найденный материал достаточен, модель использует его для формулировки ответа. Если информации нет, модель честно сообщает об этом и предлагает обратиться к человеку. Это гарантирует, что ИИ не станет сочинять выдуманные кейсы или накручивать цены.

В данном эксперименте база знаний ограничена небольшим объёмом (около 13 тысяч символов), поэтому её можно передавать модели целиком в каждом запросе. При масштабировании до тысяч документов потребуется внедрить векторный поиск и индексы, но базовая логика останется прежней.

Компоненты платформы

Платформа Cloudflare обеспечивает все необходимые слои: от хранения статических файлов до выполнения логики и запуска моделей.

| Компонент | Функция в проекте | Лимит бесплатного тарифа | | :--- | :--- | :--- | | Workers | Выполняет код обработки запросов и запускает AI-сервисы | 100 000 запросов в сутки | | Workers AI | Запускает модели для генерации ответов и эмбеддингов | 10 000 нейронов в сутки | | D1 | База данных для хранения журналов обращений и счётчиков | 5 ГБ хранения, 100 000 операций в сутки | | Workers AI (Векторы) | Поиск похожих текстов (эмбеддинги) | До 5 млн измерений бесплатно |

Подготовка базы знаний и выбор модели

Первый шаг — формирование контекста. Для проекта Avenex была собрана база из 14 Markdown-документов, включающая описание услуг, статусы проектов, цены на аудит и кейсы работы. Критически важно исключить внутреннюю информацию: имена клиентов, названия сотрудников и планы, не опубликованные в открытых источниках.

Для поиска по этой базе используется модель bge-m3, которая преобразует тексты и вопросы в числовые векторы. Это позволяет находить смысловые совпадения, даже если слова в вопросе и ответе не совпадают. Индекс хранится в коде обработчика (Worker), что упрощает запуск на старте.

Выбор модели для генерации ответов — отдельная задача. На момент написания материала доступно несколько десятков моделей. Экспериментально было протестировано несколько вариантов, включая Qwen3 и GLM-4.7-Flash.

Ключевая ошибка, которую нужно избежать — галлюцинации. Некоторые модели склонны переписывать направления деятельности как готовые кейсы или утверждать наличие проектов в странах, где их никогда не было. В данном случае была выбрана модель GLM-4.7-Flash с отключённым режимом глубоких рассуждений. Это обеспечило быстрый ответ и соблюдение бюджета нейронов, но потребовало ручной настройки системной инструкции для предотвращения выдумок.

Настройка инструкций и сценариев

Системная инструкция (System Prompt) играет роль оператора, который контролирует поведение модели. Она должна быть строгой и краткой. Основные правила для ассистента Avenex:

* Использовать только факты, приведённые в базе знаний. * Не добавлять несуществующие страны, клиентов или технологии. * Строго соблюдать статусы проектов (например, не называть написание кода «готовым продуктом», если на сайте написано «в разработке»). * Если ответа в базе нет — сообщить об этом и предложить оставить заявку в форму обратной связи. * Отвечать на языке пользователя, сохраняя технические названия оригинальными.

Особое внимание уделено борьбе с «посторонними» запросами. Тесты показали, что модель может попытаться вычислить квадратный корень из числа или написать код на Python. Это не входит в сферу деятельности ИИ-помощника сайта. Инструкция должна явно запрещать выполнение любых задач, не связанных с контентом сайта.

Также реализована поддержка диалогов. ИИ помнит последние реплики пользователя, что позволяет отвечать на уточняющие вопросы (например: «А сколько стоит?» после того, как обсуждался аудит) без необходимости перечитывать весь контекст с нуля.

Проверка границ и итоговый результат

Перед запуском ассистент проходит строгую проверку границ (red teaming). Тестируются простые задачи, на которые ИИ не должен отвечать: исторические факты, математика, программирование. Если модель пытается выполнить такой запрос, она должна вежливо отказаться.

Итоговый чат интегрирован в веб-интерфейс сайта через кнопку «Спросить ИИ». Пользователь видит ответ, подкреплённый ссылкой на соответствующий раздел сайта, если ответ основан на фактах. Если данных недостаточно, система предлагает форму связи с реальными специалистами.

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

Umine Nagi: Этот проект напоминает маяк: он светит только там, где установлена лампа — то есть в пределах знаний базы. Пытаться осветить всё остальное — значит погасить ресурс быстрее, чем нужно. Лучше честно сказать «не знаю», чем дать ложную надежду.

Первоисточники

Habr AI ↗
← Вернуться в эфир