В этом руководстве показано, как использовать App Prototyping agent для быстрой разработки и публикации полнофункционального приложения с помощью Gemini в Firebase . Вы будете использовать подсказки на естественном языке для создания приложения Next.js, которое распознаёт продукты питания по изображению или снимку с камеры браузера и генерирует рецепт с указанными ингредиентами.
Другие технологии, которые вы будете использовать при изучении этого руководства, включают:
Шаг 1: Создайте свое приложение
Войдите в свою учетную запись Google и откройте Firebase Studio .
В поле «Прототип приложения с ИИ» введите следующую команду, которая создаст приложение с рецептами на основе изображений, использующее камеру браузера и генеративный ИИ.
Например, вы можете ввести следующую подсказку, чтобы создать приложение для генерации рецептов:
Use secure coding practices to create an error-free web app that lets users upload a photo or take a picture with their browser camera. The app identifies the food in the picture and generates a recipe and accompanying image that includes that food. If no food product is identified, generate a random dessert recipe.
При желании вы можете загрузить изображение, которое будет сопровождать ваше приглашение. Например, вы можете загрузить изображение с цветовой схемой, которую вы хотите использовать в приложении, и указать Firebase Studio использовать её. Размер изображения должен быть менее 3 МБ.
Нажмите «Прототип с ИИ» .
Gemini создает план приложения на основе вашего запроса, возвращая предлагаемое название приложения, требуемые функции и рекомендации по стилю.
Проверьте план. При необходимости внесите несколько изменений. Например, вы можете изменить предлагаемое название приложения или цветовую схему, используя один из следующих вариантов:
Нажмите
» , чтобы изменить чертеж. Внесите изменения и нажмите «Сохранить» .В поле «Опишите...» на панели чата добавьте уточняющие вопросы и контекст. Вы также можете загрузить дополнительные изображения.
Нажмите «Создать прототип этого приложения» .
Агент прототипирования приложения начинает кодирование вашего приложения.
- Поскольку ваше приложение использует ИИ, вам будет предложено добавить или сгенерировать ключ API Gemini . Если вы нажмете «Сгенерировать автоматически», App Prototyping agent подготовит для вас проект Firebase и ключ API Gemini .
Шаг 2: Тестирование, уточнение, отладка и итерация
После создания начального приложения вы можете его тестировать, дорабатывать, отлаживать и повторять.
Проверка и взаимодействие с вашим приложением: после завершения генерации кода появится предварительный просмотр вашего приложения. Вы можете напрямую взаимодействовать с предварительным просмотром, чтобы протестировать его. Подробнее см. в статье «Предварительный просмотр вашего приложения» .
Исправьте любые ошибки по мере их возникновения: в большинстве случаев App Prototyping agent предлагает вам исправить любые возникающие ошибки. Нажмите «Исправить ошибку» , чтобы разрешить агенту попытаться исправить их.
Если вы получили сообщение об ошибке, которое не было предложено исправить автоматически, скопируйте ошибку и любой соответствующий контекст (например, «Можете ли вы исправить эту ошибку в моем коде инициализации Firebase?») в окно чата и отправьте его в Gemini .
Тестируйте и итерируйте, используя естественный язык: тщательно тестируйте свое приложение и работайте с App Prototyping agent чтобы итерировать код и схему, пока вы не будете довольны результатом.
В Prototyper mode, you can also use the following features:
Щелкните
Аннотируйте , чтобы рисовать непосредственно в окне предварительного просмотра. Используйте доступные инструменты для работы с фигурами, изображениями и текстом, а также дополнительную текстовую подсказку, чтобы визуально описать, что именно должен изменить App Prototyping agent .
Щелкните
Выберите конкретный элемент и введите инструкции для App Prototyping agent . Это позволяет быстро выбрать нужный значок, кнопку, фрагмент текста или другой элемент. При нажатии на изображение вы также можете найти и выбрать готовое изображение на Unsplash .
При желании вы можете нажать
Поделитесь ссылкой на предварительный просмотр , чтобы временно и публично опубликовать свое приложение с помощью публичных предварительных версий Firebase Studio .
Создайте проект Firebase: Агент прототипирования приложений подготавливает проект Firebase от вашего имени, когда вы:
- Автоматически сгенерировать ключ API Gemini
- Попросите подключить ваше приложение к проекту Firebase
- Попросите о помощи в подключении вашего приложения к сервисам Firebase, таким как Cloud Firestore или Firebase Authentication
- Нажмите кнопку «Опубликовать» и настройте Firebase App Hosting
Отладка и итерация непосредственно в коде: нажмите
Переключитесь в режим «Код» , чтобы открыть представление Code , где вы можете просматривать все файлы приложения и напрямую изменять код. Вы можете Prototyper mode at any time.
В режиме просмотра Code вы также можете использовать следующие полезные функции:
Встроенные функции отладки и отчетности Firebase Studio для проверки, отладки и аудита вашего приложения.
Помощь ИИ с Gemini в Firebase можно реализовать либо встроенным в код, либо с помощью интерактивного чата (оба доступны по умолчанию). Интерактивный чат позволяет диагностировать проблемы, предлагать решения и запускать инструменты для ускорения исправления ошибок в приложении. Чтобы открыть чат, нажмите на значок Spark Gemini в нижней части рабочей области.
Откройте Firebase Local Emulator Suite для просмотра данных базы данных и аутентификации . Чтобы открыть эмулятор в рабочей области:
Щелкните
Переключитесь в режим «Код» и откройте расширение Firebase Studio (
Ctrl+',Ctrl+'
илиCmd+',Cmd+'
на MacOS).Прокрутите страницу до раздела Внутренние порты и разверните его.
В столбце Действия , соответствующем порту 4000 , нажмите Открыть в новом окне .
Тестируйте и измеряйте производительность функций генеративного ИИ: вы можете использовать пользовательский интерфейс разработчика Genkit для запуска потоков ИИ Genkit, тестирования, отладки, взаимодействия с различными моделями, уточнения подсказок и многого другого.
Чтобы загрузить потоки Genkit в пользовательский интерфейс разработчика Genkit и начать тестирование:
В терминале в рабочей области Firebase Studio выполните следующую команду, чтобы получить ключ API Gemini и запустить сервер Genkit:
npm run genkit:watch
Нажмите ссылку «Genkit Developer UI». Интерфейс Genkit Developer UI откроется в новом окне с вашими потоками, подсказками, встраиваемыми модулями и выбором различных доступных моделей.
Дополнительную информацию о Genkit Developer UI можно найти на странице Genkit Developer Tools .
(Необязательно) Шаг 3: Опубликуйте свое приложение с помощью App Hosting
После того как вы протестировали свое приложение и остались довольны его работой в рабочей области, вы можете опубликовать его в Интернете с помощью Firebase App Hosting .
При настройке App Hosting Firebase Studio создает для вас проект Firebase (если он еще не был создан путем автоматической генерации ключа API Gemini или с помощью запроса App Prototyping agent ) и помогает вам подключить учетную запись Cloud Billing .
Чтобы опубликовать ваше приложение:
Нажмите «Опубликовать» , чтобы настроить проект Firebase и опубликовать приложение. Откроется панель «Опубликовать приложение» .
На этапе проекта Firebase App Prototyping agent отображает Firebase, связанный с рабочей областью. Если проекта Firebase ещё нет, он создаст новый. Нажмите «Далее» , чтобы продолжить.
На этапе «Привязать учетную запись Cloud Billing выберите один из следующих вариантов:
Выберите учетную запись Cloud Billing , которую вы хотите связать с вашим проектом Firebase.
Если у вас нет учётной записи Cloud Billing или вы хотите создать новую, нажмите «Создать учётную запись Cloud Billing . Откроется консоль Google Cloud , где вы можете создать новую учётную запись Cloud Billing для самостоятельного обслуживания . После создания учётной записи вернитесь в Firebase Studio и выберите её в списке «Связать с Cloud Billing .
Нажмите кнопку «Далее» . Firebase Studio связывает платежный аккаунт с проектом, связанным с вашим рабочим пространством, созданным либо при автоматической генерации ключа API Gemini , либо при нажатии кнопки «Опубликовать» .
Нажмите «Настроить службы» . Агент прототипирования приложений начнет подготовку служб Firebase.
Нажмите «Опубликовать сейчас» . Firebase Studio настроит службы Firebase. Это может занять несколько минут. Чтобы узнать больше о том, что происходит за кулисами, см. статью «Процесс сборки App Hosting .
После завершения публикации появится обзор приложения с URL-адресом и аналитикой приложения, основанной на данных наблюдения App Hosting . Чтобы использовать собственный домен (например, example.com или app.example.com) вместо домена, сгенерированного Firebase, вы можете добавить его в консоли Firebase .
Дополнительную информацию о App Hosting см. в разделе Понимание App Hosting и принципов его работы .
(Рекомендуется) Шаг 6: Добавьте Firebase App Check в свое приложение
Если вы интегрировали в своё приложение сервисы Firebase или Google Cloud, Firebase App Check поможет защитить бэкенд вашего приложения от несанкционированного доступа, предотвращая несанкционированный доступ клиентов к ресурсам Firebase. Сервис работает как с сервисами Google (включая Firebase и Google Cloud), так и с вашими собственными бэкендами, обеспечивая безопасность ваших ресурсов.
Мы рекомендуем добавлять функцию App Check к любому приложению, которое вы публикуете публично, чтобы защитить ваши внутренние ресурсы от злоупотреблений.
В этом разделе описывается настройка App Check в Firebase Studio с использованием reCAPTCHA Enterprise для веб-приложения, созданного с помощью App Prototyping agent . Однако вы можете настроить App Check в любом приложении, которое реализует службы Firebase и может использовать собственные поставщики. Подробнее см. в статье Firebase App Check .
ReCAPTCHA Enterprise предоставляет до 10 000 оценок бесплатно .
Шаг 1: Настройте reCAPTCHA Enterprise для вашего приложения
Откройте раздел reCAPTCHA Enterprise в консоли Google Cloud .
Выберите имя вашего проекта Firebase в меню выбора проектов консоли Google Cloud .
Если вам будет предложено включить API reCAPTCHA Enterprise, сделайте это.
Нажмите «Начать» и добавьте отображаемое имя для ключа сайта reCAPTCHA.
Примите ключ типа веб -приложения по умолчанию.
Нажмите «Добавить домен» и выберите нужный домен. Вам нужно будет добавить домен App Hosting (например,
studio-- PROJECT_ID . REGION .hosted.app
) и любые пользовательские домены, которые вы используете или планируете использовать с вашим приложением.Нажмите «Следующий шаг» .
Оставьте флажок «Будете ли вы использовать испытания?» невыбранным.
Нажмите Создать ключ .
Скопируйте и сохраните свой идентификатор ключа и перейдите к настройке App Check .
Шаг 2: Настройте App Check
Откройте консоль Firebase и выберите Сборка > Проверка приложения в меню навигации.
Нажмите «Начать» , затем нажмите «Зарегистрироваться» рядом с вашим приложением.
Щелкните, чтобы развернуть ReCAPTCHA , и вставьте идентификатор ключа, сгенерированный вами для reCAPTCHA Enterprise.
Нажмите «Сохранить» .
Шаг 3: Добавьте App Check в свой код
Вернитесь в Firebase Studio и в представлении Code добавьте сгенерированный вами ключ сайта в файл
.env
:NEXT_PUBLIC_RECAPTCHA_SITE_KEY=RECAPTCHA_SITE_KEY
Если у вас еще нет сохраненной конфигурации Firebase в
.env
, получите ее:В консоли Firebase откройте «Настройки проекта» и найдите его в разделе, соответствующем вашему приложению.
Из терминала в режиме просмотра Code :
- Войти в Firebase:
firebase auth login
- Выберите свой проект:
firebase use FIREBASE_PROJECT_ID
- Получите конфигурацию Firebase:
firebase apps:sdkconfig
- Войти в Firebase:
Добавьте конфигурацию в файл
.env
, чтобы она выглядела следующим образом:NEXT_PUBLIC_FIREBASE_API_KEY=FIREBASE_API_KEY NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=FIREBASE_AUTH_DOMAIN NEXT_PUBLIC_FIREBASE_PROJECT_ID=FIREBASE_PROJECT_ID NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=FIREBASE_STORAGE_BUCKET NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=FIREBASE_MESSAGING_SENDER_ID NEXT_PUBLIC_FIREBASE_APP_ID=FIREBASE_APP_ID NEXT_PUBLIC_RECAPTCHA_SITE_KEY=RECAPTCHA_SITE_KEY
Добавьте App Check в код своего приложения. Вы можете попросить Gemini добавить App Check с помощью reCAPTCHA Enterprise в ваше приложение (обязательно укажите «reCAPTCHA Enterprise» и перепроверьте!) или следуйте инструкциям в разделе «Инициализация App Check .
Повторно опубликуйте свой сайт на App Hosting . Попробуйте протестировать функции Firebase, чтобы сгенерировать данные.
Убедитесь, что App Check получает запросы в консоли Firebase , открыв Build > App Check .
Нажмите, чтобы проверить службы Firebase. Убедившись в поступлении запросов, нажмите «Применить» , чтобы применить App Check .
Повторите проверку и принудительное применение Firebase Authentication .
Если после регистрации приложения в App Check вы хотите запустить его в среде, которую App Check обычно не классифицирует как допустимую, например, локально во время разработки или в среде непрерывной интеграции (CI), вы можете создать отладочную сборку приложения, которая использует поставщик отладки App Check вместо настоящего поставщика аттестации. Подробнее см. в статье «Использование App Check с поставщиком отладки в веб-приложениях» .
(Необязательно) Шаг 7: Мониторинг вашего приложения
Панель обзора приложения в Firebase Studio предоставляет ключевые показатели и информацию о вашем приложении, позволяя отслеживать производительность веб-приложения с помощью встроенных инструментов наблюдения App Hosting . После запуска сайта вы сможете получить доступ к обзору, нажав кнопку «Опубликовать» . На этой панели вы можете:
- Нажмите «Опубликовать» , чтобы выпустить новую версию вашего приложения.
- Поделитесь ссылкой на свое приложение или откройте его напрямую в разделе «Посетите свое приложение» .
- Просмотрите сводку производительности вашего приложения за последние 7 дней, включая общее количество запросов и статус последнего внедрения. Нажмите «Подробнее», чтобы получить более подробную информацию в консоли Firebase .
- Просмотрите график количества запросов, полученных вашим приложением за последние 24 часа, с разбивкой по кодам статуса HTTP.
Если вы закроете панель обзора приложения, вы сможете снова открыть ее в любое время, нажав кнопку «Опубликовать» .
Дополнительную информацию об управлении и мониторинге развертываний App Hosting можно найти в разделе Управление развертываниями и выпусками .
(Необязательно) Шаг 8: Откатите развертывание
Если вы развернули несколько версий своего приложения на App Hosting , вы можете откатить его к одной из более ранних версий. Вы также можете удалить его.
Чтобы откатить опубликованный сайт:
Откройте App Hosting в консоли Firebase .
Найдите бэкэнд вашего приложения, нажмите «Просмотр» , а затем нажмите «Развертывания» .
Рядом с развертыванием, к которому вы хотите вернуться, нажмите More
, затем выберите Откатиться к этой сборке и подтвердите.
Дополнительную информацию можно найти в разделе Управление развертываниями и выпусками .
Чтобы удалить домен вашего App Hosting из Интернета:
В консоли Firebase откройте App Hosting и нажмите View в разделе приложения Firebase Studio .
В разделе «Информация о внутреннем сервере» нажмите «Управление» . Загрузится страница «Домены» .
Рядом с вашим доменом нажмите More
, затем выберите Disable domain и подтвердите.
Это удалит ваш домен из интернета. Чтобы полностью удалить бэкенд App Hosting , следуйте инструкциям в разделе Удаление бэкенда .
(Необязательно) Шаг 9: Используйте Genkit Monitoring для развернутых функций
Вы можете отслеживать этапы, входные и выходные данные функций Genkit , включив телеметрию в код вашего ИИ-потока. Функция телеметрии Genkit позволяет отслеживать производительность и использование ваших ИИ-потоков. Эти данные помогут вам выявить области для улучшения, устранить неполадки, оптимизировать запросы и потоки для повышения производительности и экономической эффективности, а также отслеживать использование ваших потоков с течением времени.
Чтобы настроить мониторинг в Genkit , вы добавляете телеметрию в потоки ИИ Genkit , а затем просматриваете результаты в консоли Firebase .
Шаг 1: Добавьте телеметрию в код потока Genkit в Firebase Studio
Чтобы настроить мониторинг в вашем коде:
Если вы еще не находитесь в режиме просмотра Code , нажмите
Чтобы открыть его, переключитесь на «Код» .
Проверьте
package.json
, чтобы узнать установленную версию Genkit .Откройте терминал (
Ctrl-Shift-C
илиCmd-Shift-C
в MacOS).Щелкните в терминале и установите плагин Firebase, используя версию, соответствующую вашему файлу
package.json
. Например, если пакеты Genkit в вашемpackage.json
имеют версию 1.0.4, выполните следующую команду для установки плагина:npm i --save @genkit-ai/firebase@1.0.4
В Проводнике разверните
src > ai > flows
. В папкеflows
появится один или несколько файлов TypeScript, содержащих ваши потоки Genkit .Щелкните один из потоков, чтобы открыть его.
В нижней части раздела импорта файла добавьте следующее, чтобы импортировать и включить
FirebaseTelemetry
:import { enableFirebaseTelemetry } from '@genkit-ai/firebase'; enableFirebaseTelemetry();
Шаг 2: Настройте разрешения
Firebase Studio включила необходимые API при настройке вашего проекта Firebase, но вам также необходимо предоставить разрешения учетной записи службы App Hosting .
Чтобы настроить разрешения:
Откройте консоль Google Cloud IAM, выберите свой проект, затем предоставьте следующие роли учетной записи службы App Hosting :
- Мониторинговый метрический писатель (
roles/monitoring.metricWriter
) - Cloud Trace Agent (
roles/cloudtrace.agent
) - Записыватель журналов (
roles/logging.logWriter
)
- Мониторинговый метрический писатель (
Повторно опубликуйте свое приложение на App Hosting .
После завершения публикации загрузите приложение и начните его использовать. Через пять минут приложение должно начать регистрировать телеметрические данные.
Шаг 3: Отслеживайте функции генеративного ИИ на консоли Firebase
Если телеметрия настроена, Genkit записывает количество запросов, успешность и задержку для всех ваших потоков, а для каждого конкретного потока Genkit собирает показатели стабильности, отображает подробные графики и регистрирует захваченные трассировки.
Для мониторинга функций ИИ, реализованных с помощью Genkit :
Через пять минут откройте Genkit в консоли Firebase и просмотрите запросы и ответы Genkit .
Genkit компилирует следующие показатели стабильности :
- Общее количество запросов: общее количество запросов, полученных вашим потоком.
- Показатель успешности: процент успешно обработанных запросов.
- 95-й процентиль задержки: 95-й процентиль задержки вашего потока, то есть время, необходимое для обработки 95% запросов.
Использование токена:
- Входные токены: количество токенов, отправленных модели в подсказке.
- Выходные токены: количество токенов, сгенерированных моделью в ответе.
Использование изображения:
- Входные изображения: количество изображений, отправленных модели в подсказке.
- Выходные изображения: количество изображений, сгенерированных моделью в ответе.
Если развернуть показатели стабильности, станут доступны подробные графики:
- Объем запросов с течением времени.
- Показатель успешности с течением времени.
- Ввод и вывод токенов с течением времени.
- Задержка (95-й и 50-й процентиль) с течением времени.
Узнайте больше о Genkit на Genkit .
Следующие шаги
- Узнайте, как разрабатывать приложения в рабочей среде Firebase Studio .
- Узнайте больше об использовании ИИ в Firebase Studio .