TypeScriptLLMBackendNext.js

Классификация ответов с помощью LLM после отправки формы в Next.js

·MAGMA

Архитектура решения

В статье рассматривается подход к классификации форм с использованием моделей машинного обучения (LLM), при этом сохраняя низкую задержку и минимизируя влияние на производительность.

Основные требования:

  • Минимизация задержки обработки формы.
  • Изоляция вызовов LLM от критического пути выполнения.
  • Обработка ошибок без нарушения основного процесса подачи данных.
  • Стоимость менее одного цента за классификацию.
  • Защита от инъекций через пользовательский ввод.

Решение основано на использовании функции after() в Next.js версии 16, которая позволяет выполнять асинхронные задачи после того, как ответ был отправлен пользователю.

Реализация

Процесс выглядит следующим образом:

User submit → Server Action → Validate → Rate Limit → Capacity Check & Insert → File Upload → Return 200 → after() → Email Send → Spam Classification → Webhook / Workflow → A/B Submit Count

После отправки ответа пользователю запускаются следующие действия:

  • Отправка электронного письма.
  • Классификация спама с помощью модели LLM.
  • Выполнение веб-хуков или рабочих процессов.
  • Сбор статистики о количестве отправленных форм.

Таким образом, все операции, связанные с обработкой данных и их анализом, выполняются параллельно и не влияют на время отклика пользователя.

Пример кода

Пример реализации асинхронной обработки с использованием функции after():

import { after } from 'next/server';
//...
bloc

Этот подход обеспечивает высокую масштабируемость и надежность системы, позволяя эффективно использовать ресурсы сервера и минимизировать затраты.

Вернуться к блогу
Классификация форм с LLM в Next.js — MAGMA