Tutorials

Создаем production AI-чатбота с Lovable's Gateway

Хватит бороться с множеством LLM API. Это практическое руководство по созданию продакшен-готового чата с ИИ с использованием Lovable AI Gateway, который возьмет на себя всю "грязную" работу.

Lovable AI Review Editorial Desk
Lovable AI Review Editorial Desk
Editorial
4 июля 2026 г. 9 мин чтения
Создаем production AI-чатбота с Lovable's Gateway
Коротко

Создание готового к производству чата с AI - сложная задача. Lovable AI Gateway упрощает ее, предоставляя единый API для управления несколькими LLM. Это позволяет разработчикам легко внедрять кэширование, запасные модели и унифицированное логирование. В этом руководстве вы узнаете, как настроить шлюз, создать простой бэкенд и фронтенд для чата, а также использовать его основные функции.

Любой может собрать демо-версию чат-бота за выходные. Вы склеиваете ключ OpenAI API, хрупкий фронтенд на React, и готово. Но довести эту игрушку до продакшна? Это совсем другое дело. Внезапно вы тонете в операционном хаосе: управление ключами для Anthropic, Google и OpenAI, отслеживание растущих затрат и создание собственной логики для повторной попытки запроса, когда ваша основная модель неизбежно выйдет из строя.

Суровая правда заключается в том, что создание надежного AI-продукта стало меньше зависеть от самого AI и больше от инфраструктуры. Вот тут и приходит на помощь AI-шлюз. Это негламурный, но крайне важный слой, который справляется с операционным кошмаром, чтобы вы могли сосредоточиться на создании того, что люди действительно хотят. Сегодня мы будем создавать функцию чата с использованием Lovable AI Gateway. Не игрушку, а фундамент для реального продукта.

Что такое Lovable AI Gateway (и зачем он нужен)?

Lovable AI Gateway - это унифицированный API-слой, который абстрагирует сложность работы с несколькими провайдерами больших языковых моделей. Думайте о нем как об умном маршрутизаторе для ваших AI-запросов. Вместо того чтобы писать отдельные интеграции для каждой модели, которую вы хотите протестировать, вы отправляете все свои запросы на одну конечную точку Lovable. Lovable затем маршрутизирует запрос к указанной модели - будь то OpenAI, Anthropic, Google или даже ваша собственная - одновременно стандартизируя API для вас.

Настоящий вопрос в том, почему это должно вас волновать? Боль от прямого обращения к провайдеру становится очевидна в тот момент, когда вы начинаете масштабироваться. Ваша кодовая база раздувается специфическими для провайдера SDK. Управление затратами превращается в беспорядок из различных панелей и циклов биллинга. А когда у одного провайдера происходит сбой, вся ваша функция ломается, если вы уже не потратили недели на создание сложной системы резервного копирования. Шлюз решает это. Это разница между созданием собственного платежного процессора и использованием Stripe. Одно отвлекает, другое позволяет вам сосредоточиться на развитии вашего бизнеса.

| Функция | Прямая интеграция с API | Lovable AI Gateway | |---|---|---| | Конечная точка API | Одна на провайдера модели (OpenAI, Anthropic и т.д.) | Единая, унифицированная конечная точка для всех моделей | | Переключение моделей | Требует изменений в коде и новых SDK | Простое изменение строки в вызове API | | Отслеживание затрат | Разрозненные панели, ручная консолидация | Централизованная панель с разбивкой по моделям | | Кэширование | Нужно создавать свой собственный слой Redis или подобный | Включается с помощью одного заголовка API (`x-lovable-cache`) | | Резервные копии и повторные попытки | Сложная пользовательская логика, которую вам нужно создавать и поддерживать | Простые правила, настраиваемые на панели управления | | Управление ключами | Несколько API-ключей, хранящихся в вашем менеджере секретов | Один API-ключ Lovable |

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

Настройка: Ваш первый вызов API за считанные минуты

Вы можете начать с создания учетной записи Lovable, генерации API-ключа и выполнения простого cURL-запроса к их унифицированной конечной точке завершения чата. Процесс разработан таким образом, чтобы быть быстрым, позволяя вам перейти от нуля к успешному вызову API менее чем за пять минут.

Сначала зарегистрируйтесь на Lovable AI и перейдите на панель управления. Вы найдете раздел "API Gateway". Это ваш командный центр. Вам нужно будет добавить свои API-ключи провайдера (например, от OpenAI или Anthropic) в хранилище Lovable. Они хранятся безопасно и никогда не раскрываются.

Затем сгенерируйте "Lovable API Key". Это единственный ключ, который ваше приложение когда-либо будет видеть. Он аутентифицирует ваше приложение в шлюзе, а шлюз обрабатывает аутентификацию с нижестоящими поставщиками моделей.

Теперь давайте сделаем вызов. Откройте свой терминал. Вот как вы обычно вызываете OpenAI напрямую:

```bash

Старый способ: напрямую к OpenAI

curl https://api.openai.com/v1/chat/completions \ -H "Content-Type: application/json" \ -Н "Authorization: Bearer $OPENAI_API_KEY" \ -d '{ "model": "gpt-4o-mini", "messages": [{"role": "user", "content": "Что такое AI-шлюз?"}] }' ```

А вот тот же вызов, но через Lovable Gateway:

```bash

Способ Lovable: Единый шлюз

curl https://gateway.lovable.ai/v1/chat/completions \ -H "Content-Type: application/json" \ -Н "Authorization: Bearer $LOVABLE_API_KEY" \ -d '{ "model": "openai/gpt-4o-mini", "messages": [{"role": "user", "content": "Что такое AI-шлюз?"}] }' ```

Изменения минимальны, но мощны. Вы обращаетесь к `gateway.lovable.ai` вместо домена провайдера. Вы используете свой `$LOVABLE_API_KEY`. И вы указываете модель с префиксом провайдера, например, `openai/gpt-4o-mini` или `anthropic/claude-3.5-sonnet`. Структура ответа стандартизирована, поэтому вы всегда получаете один и тот же формат JSON, независимо от того, какую модель вы используете. Вы только что решили огромную инженерную проблему.

Создание чат-приложения: бэкенд и фронтенд

Чтобы создать чат-приложение, вы сначала создадите простой бэкенд API, который безопасно проксирует запросы к Lovable Gateway, а затем подключите фронтенд-интерфейс для отправки пользовательских сообщений и потоковой передачи ответа. Вы никогда, ни при каких обстоятельствах не раскрываете свой Lovable API-ключ во фронтенде. Этот ключ хранится на вашем сервере, в безопасности от посторонних глаз.

Бэкенд-прокси

js и Express для простого сервера. У этого сервера будет одна задача: принимать сообщение чата от нашего фронтенда, пересылать его в Lovable Gateway и передавать ответ обратно. Этот промежуточный шаг критически важен для безопасности.

```javascript // server.js import express from 'express'; import fetch from 'node-fetch';

const app = express(); app.use(express.json());

const LOVABLE_API_KEY = process.env.LOVABLE_API_KEY; const LOVABLE_GATEWAY_URL = 'https://gateway.lovable.ai/v1/chat/completions';

app.post('/api/chat', async (req, res) => { const { messages } = req.body;

try { const response = await fetch(LOVABLE_GATEWAY_URL, { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${LOVABLE_API_KEY}`, }, body: JSON.stringify({ model: 'anthropic/claude-3.5-sonnet', // Легко переключайте модели здесь! messages: messages, stream: true, // Включить потоковую передачу }), });

// Передавайте потоковый ответ напрямую клиенту res.setHeader('Content-Type', 'text/event-stream'); response.body.pipe(res);

} catch (error) { console.error('Ошибка проксирования в Lovable Gateway:', error); res.status(500).json({ error: 'Внутренняя ошибка сервера' }); } });

const PORT = process.env.PORT || 3001; app.listen(PORT, () => console.log(`Сервер запущен на порту ${PORT}`)); ```

Этот простой сервер создает конечную точку `/api/chat`. Он берет массив `messages` из тела запроса, добавляет ваш секретный API-ключ и указывает `stream: true`. Магия заключается в `response.body.pipe(res)`, который эффективно передает ответ LLM непосредственно ожидающему фронтенду без буферизации всего содержимого в памяти.

Фронтенд-интерфейс

На фронтенде мы можем использовать библиотеку, такую как React, для управления состоянием. Основная задача - вызвать конечную точку нашего бэкенда `/api/chat` и обработать входящий поток текстовых фрагментов. Это создает плавный эффект генерации символов за символом.

```javascript // ChatComponent.jsx в приложении React import React, { useState } from 'react';

function ChatComponent() { const [messages, setMessages] = useState([]); const [input, setInput] = useState('');

const handleSubmit = async (e) => { e.preventDefault(); const userMessage = { role: 'user', content: input }; const newMessages = [...messages, userMessage]; setMessages(newMessages); setInput('');

// Добавить заглушку для ответа ассистента setMessages(prev => [...prev, { role: 'assistant', content: '' }]);

const response = await fetch('/api/chat', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ messages: newMessages }), });

const reader = response.body.getReader(); const decoder = new TextDecoder();

// Читать поток while (true) { const { done, value } = await reader.read(); if (done) break;

const chunk = decoder.decode(value); // Фрагменты потока Server-Sent Events могут содержать несколько событий const lines = chunk.split('\n'); for (const line of lines) { console.log(line) if (line.startsWith('data: ')) { const dataString = line.substring(6); if (dataString === '[DONE]') break; try { const data = JSON.parse(dataString); const delta = data.choices[0].delta.content || ''; // Добавить новый текстовый фрагмент к последнему сообщению setMessages(prev => prev.map((msg, index) => index === prev.length - 1 ? { ...msg, content: msg.content + delta } : msg )); } catch(e) { // игнорировать пустые фрагменты } } } } };

// ... Остальная часть JSX для рендеринга формы и сообщений return ( <div> {/ ... Рендеринг списка сообщений ... /} <form onSubmit={handleSubmit}> <input value={input} onChange={e => setInput(e.target.value)} /> <button type="submit">Отправить</button> </form> </div> ) } ```

Этот код может выглядеть сложным, но логика проста. Он отправляет историю чата в ваш бэкенд, затем использует `ReadableStream` для обработки ответа по частям, добавляя содержимое к последнему сообщению в состоянии. Это стандартный шаблон для создания современных, отзывчивых интерфейсов AI-чата.

Разблокировка производственной мощности: кэширование, резервирование и аналитика

Lovable Gateway обеспечивает производственные функции, такие как интеллектуальное кэширование, резервирование моделей и унифицированное логирование, через простую конфигурацию на своей панели управления или с помощью заголовков API. Как только ваша базовая функция чата заработает, вы получите реальные преимущества.

Интеллектуальное кэширование: Представьте, что пользователи задают одни и те же распространенные вопросы. Обращение к LLM каждый раз - это пустая трата денег и времени. С помощью Gateway вы можете включить кэширование, добавив один заголовок в свой бэкенд-запрос.

```javascript // В вызове fetch вашего бэкенда headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${LOVABLE_API_KEY}`, 'x-lovable-cache': 'ttl=3600' // Кэшировать ответы на этот точный запрос в течение 1 часа }, ``` Теперь, если тот же запрос поступит в течение часа, Lovable мгновенно вернет кэшированный ответ, что сэкономит вам затраты на API и обеспечит время ответа менее 50 мс. Самое приятное? Формат ответа идентичен, поэтому ваш фронтенд-код не нужно менять.

Автоматическое резервирование: Что произойдет, если `claude-3.5-sonnet` выйдет из строя? Если вы вызываете Anthropic напрямую, ваше приложение сломается. Gateway позволяет определить "каскад" моделей на панели управления. Вы можете настроить правило, например: "Для всех запросов чата сначала попробуйте `anthropic/claude-3.5-sonnet`. Если он не отвечает или занимает более 5 секунд, автоматически повторите запрос с `openai/gpt-4o-mini`." Это функция отказоустойчивости производственного уровня, которую вы настраиваете несколькими щелчками - код не требуется.

Панель управления: Наконец, панель управления Lovable становится вашим центром управления операциями AI. Каждый запрос, отправленный через шлюз, регистрируется. Вы получаете единое представление о ваших общих затратах, разбитых по моделям, проектам или даже пользователям. Вы можете отслеживать процентили задержки (P95, P99), чтобы понять, какие модели работают лучше всего. Вы можете отслеживать частоту ошибок и получать оповещения, когда что-то идет не так. Такая наблюдаемость невозможна, когда ваш трафик разделен между несколькими поставщиками напрямую.

FAQ: Как работает ценообразование Lovable?

Ценообразование Lovable обычно представляет собой плату за использование сверх фактической стоимости от поставщика модели. Считайте это небольшим процентом или долей цента за запрос. Вы подключаете свои собственные учетные записи поставщиков (например, OpenAI), поэтому вы по-прежнему получаете свои обговорённые тарифы, но вы платите Lovable за уровень оркестрации. Математика проста: если шлюз экономит вашей инженерной команде хотя бы несколько часов в месяц, избавляя от необходимости создавать и поддерживать эту инфраструктуру, он окупает себя.

FAQ: Могу ли я использовать модели с открытым исходным кодом с Gateway?

Да, шлюз разработан так, чтобы быть агностиком моделей. Lovable поддерживает маршрутизацию запросов к самостоятельно размещенным моделям с открытым исходным кодом, таким как Llama 3 или Mixtral, работающим на таких сервисах, как Together, Anyscale или даже на вашем собственном оборудовании. Вы настраиваете конечную точку на панели управления, и затем можете вызывать `your-org/llama3-70b` точно так же, как и коммерческую модель. Это позволяет создавать сложные резервные копии от мощной коммерческой модели до более дешевой, самостоятельно размещенной модели для экономии затрат.

FAQ: Чем это отличается от создания собственного прокси?

Вы, безусловно, можете создать свой собственный прокси. Многие компании начинают с этого пути. Первоначальная сборка кажется простой: базовый сервер, который добавляет ключ API и пересылает запрос. Но затем появляются запросы на новые функции. Команда продукта хочет провести A/B-тестирование новой модели. Вам нужно кэширование. Вам нужны повторные попытки с экспоненциальной задержкой. Вам нужен унифицированный конвейер журналирования, который передает данные в Datadog. Внезапно ваш "простой прокси" превратился в полноценный инфраструктурный проект с выделенной командой. Lovable Gateway предназначен для разработчиков, которые признают эту закономерность и выбирают приобрести лучшее в своем классе решение вместо того, чтобы создавать посредственную версию с нуля. Речь идет о том, чтобы сосредоточить ваш инженерный талант на вашем уникальном продукте, а не на товарной инфраструктуре.

Рассылка

Лучшее о Lovable раз в неделю

Глубокие разборы, кейсы основателей и тактика роста. Без шума.

Никакого спама. Отписка в один клик.

Создавайте вместе с нами

Начать создавать с Lovable

Откройте Lovable, напишите первый промпт и запустите то, о чём давно думали.

Начать создавать с Lovable