Если вы решили реализовывать прототип Magical Stories самостоятельно, то для обеспечения безопасности использования ключа в прототипе необходимо:

  • Хранить DeepSeek API-ключ в Supabase.
  • Создать функцию в Supabase, которая будет обращаться в DeepSeek API и выполнять нужный промпт.

Далее мы приводим подробную инструкцию о том, как это сделать.

Этот материал — часть нашего курса «AI-прототипирование: от идеи до продукта за 1 день».

Сделаем аккаунт в DeepSeek и сгенерируем ключ

Для интеграции с DeepSeek API потребуется:

  • Создать аккаунт в DeepSeek Platform.
  • Внести небольшую сумму для использования API (для самостоятельной реализации и тестирования прототипа должно хватить порядка нескольких долларов бюджета).

Для базового прохождения курса вам будем достаточно готовых прототипов в курсе. Для самостоятельной реализации прототипа Magical Stories вам потребуется создать собственный аккаунт с небольшим бюджетом в DeepSeek Platform.

После создания аккаунта вы можете создать API ключ, для этого: 

  • выберите в панели меню “API keys”;
  • кликните на кнопку “Create new API key”;
  • введите названия ключа, например Magical-stories-1;
  • нажмите “Create API key”;
  • обязательно сохраните сгенерированный API ключ: копирование ключа будет доступно по клику на кнопку “Copy”.

Безопасность на уровне лимитов

DeepSeek Platform не позволяет настраивать лимиты использования (в отличии от OpenAI).

Поэтому мы рекомендуем контролировать использование DeepSeek на уровне бюджета аккаунта. То есть добавлять на счет количество денег, которого достаточно для обычной работы сервиса, но не более.

Настроим безопасное использование ключа 

Настроим шаг за шагом использование DeepSeek API через Supabase:

  • Шаг 1. Регистрация и создание проекта в Supabase.
  • Шаг 2. Подключение Supabase к проекту в Lovable.
  • Шаг 3. Сохранение API-ключа в Supabase.
  • Шаг 4. Настройка обращения в DeepSeek API из Supabase.

Шаг 1. Регистрация и создание проекта в Supabase 

Зарегистрироваться в Supabase можно по ссылке (платного аккаунта не потребуется). 

После регистрации станет возможно создать новый проект — сделаем это.  

Нажимаем на кнопку “New project” на вкладке Projects:

Указываем название проекта, пароль, регион и нажимаем “Create new project”. 

Шаг 2. Подключение Supabase к проекту в Lovable

Подключаем Supabase к проекту в Lovable:

  • Переходим в проект Magical Stories в Lovable.
  • Нажимаем на лого Supabase в верхнем правом углу: 

Нажимаем “Connect Supabase” и предоставляем доступ для Lovable к аккаунту Supabase, созданному на прошлом шаге:

После подключения аккаунта Supabase в интерфейсе Lovable выбираем проект Magical-stories-1 и нажимаем кнопку “Connect”:

Шаг 3. Сохранение API-ключа в Supabase

Перейдем в созданный проект в Supabase и выберем в меню Edge Functions.

Далее сохраним API-ключ в Supabase. Для этого необходимо создать переменную в Supabase со значением ключа. Это позволит «спрятать» значение ключа и не допустить к нему доступ «снаружи».

В разделе Edge Functions выбираем Secrets и вводим: 

  • Название ключа, например, DEEPSEEK_KEY.
  • Сам ключ DeepSeek API копируем в поле Value.
  • Нажимаем кнопку “Save”, чтобы сохранить ключ в Supabase.

Шаг 4. Настройка обращения к DeepSeek API из Supabase

Реализуем вызов DeepSeek API через Edge Function в Supabase. 

Настроим вызов DeepSeek API:

  • В разделе Edge Functions выбираем Functions.
  • Далее выбираем “Deploy a new function”.
  • Нажимаем “Via AI Assistant”, чтобы функция была написана с помощью AI-ассистента на основе промпта с описанием требований к функции.

В левом нижнем углу появится поле для ввода промпта. 

Можно использовать следующий промпт:

Create a new edge function that uses DeepSeek chat completion API with the key DEEPSEEK_KEY with prompt parameter.

Создание функции для обращения DeepSeek API 

Чтобы промпт из задания выше с высокой вероятностью дал корректный результат, к нему нужно добавить пример обращения к Deepseek API из документации DeepSeek:

Получится такой промпт:

Create a new edge function that uses DeepSeek chat completion API with the key DEEPSEEK_KEY with prompt parameter.

Use this example: curl https://api.deepseek.com/chat/completions
-H «Content-Type: application/json»
-H «Authorization: Bearer <DeepSeek API Key>»
-d ‘{ «model»: «deepseek-chat», «messages»: [ {«role»: «system», «content»: «You are a helpful assistant.»}, {«role»: «user», «content»: «Hello!»} ], «stream»: false }’

Вводим его в чат с AI Assistant Supabase и нажимаем Enter: 

Код функции появится в чате с AI Assistant. 

Нажимаем кнопку “Deploy”, чтобы созданная нами функция стала доступна для использования.

В разделе Edge Functions в Supabase появилась сгенерированная функция. 

Копируем ее URL-адрес.

Этот URL-адрес будет необходим для того, чтобы вызывать созданную функция из прототипа, созданного в Lovable.

После добавления функции кликните на нее и перейдите в раздел Details, а далее — блок Function Configuration.

Выключите настройку Enforce JWT Verification. Это позволит обращаться к функции без обязательной авторизации пользователя, которая на данном этапе не предполагается. 

После выключения настройки сохраните изменения, кликнув “Save changes”.

Промежуточные результаты 

Мы создали функцию внутри Supabase, через которую можно обращаться к DeepSeek.

API-ключ хранится внутри этой функции и поэтому хорошо защищен.

Теперь мы можем вернуться в Lovable, чтобы использовать созданную Edge Function в прототипе для генерации текста сказки — блок «Промпт для генерации сказок».