Начать

Чтобы начать работу с Firebase Genkit, установите Genkit CLI и запустите genkit init в проекте Node.js. Оставшаяся часть этой страницы покажет вам, как это сделать.

Требования

Node.js 20 или новее.

Процедура

  1. Установите Genkit CLI, выполнив следующую команду:

    npm i -g genkit
    
  2. Создайте новый проект Node:

    mkdir genkit-intro && cd genkit-intro
    npm init -y
    

    Посмотрите package.json и убедитесь, что для main поля установлено значение lib/index.js .

  3. Инициализируйте проект Genkit:

    genkit init
    
    1. Выберите Node.js в качестве варианта платформы развертывания (также доступны шаблоны для Firebase Cloud Functions и Google Cloud Run).

    2. Выберите свою модель:

      Близнецы (ИИ Google)

      Самый простой способ начать — использовать Google AI Gemini API. Убедитесь, что оно доступно в вашем регионе .

      Создайте ключ API для Gemini API с помощью Google AI Studio. Затем установите для переменной среды GOOGLE_GENAI_API_KEY свой ключ:

      export GOOGLE_GENAI_API_KEY=<your API key>
      

      Близнецы (Vertex AI)

      Если API Google AI Gemini недоступен в вашем регионе, рассмотрите возможность использования API Vertex AI, который также предлагает модели Gemini и другие модели. Вам потребуется иметь проект Google Cloud с поддержкой биллинга, включить API платформы AI и установить некоторые дополнительные переменные среды:

      gcloud services enable aiplatform.googleapis.com
      export GCLOUD_PROJECT=<your project ID>
      export GCLOUD_LOCATION=us-central1
      

      Цены на Vertex AI см. на странице https://cloud.google.com/vertex-ai/generative-ai/pricing.

    3. Выберите ответы по умолчанию на остальные вопросы, которые инициализируют папку вашего проекта с помощью примера кода.

    Команда genkit init создает образец исходного файла index.ts . Это точка входа в ваш проект, где вы настраиваете Genkit для своего проекта, настраиваете плагины, которые хотите загружать, и экспортируете потоки ИИ и другие определенные вами ресурсы. Образец файла содержит конфигурацию, которая загружает плагин для поддержки выбранного вами ранее поставщика модели. Он также содержит единственный поток, menuSuggestionFlow , который предлагает LLM предложить блюдо для ресторана с заданной темой.

    configureGenkit({
      plugins: [googleAI()],
      logLevel: 'debug',
      enableTracingAndMetrics: true,
    });
    
    export const menuSuggestionFlow = defineFlow(
      {
        name: 'menuSuggestionFlow',
        inputSchema: z.string(),
        outputSchema: z.string(),
      },
      async (subject) => {
        const llmResponse = await generate({
          prompt: `Suggest an item for the menu of a {subject} themed restaurant`,
          model: geminiPro,
          config: {
            temperature: 1,
          },
        });
    
        return llmResponse.text();
      }
    );
    
    startFlowsServer();
    

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

  4. Теперь вы можете запустить и изучить функции Genkit и пример проекта локально на своем компьютере. Загрузите и запустите пользовательский интерфейс разработчика Genkit:

    genkit start
    

    Добро пожаловать в пользовательский интерфейс разработчика Genkit

    Пользовательский интерфейс разработчика Genkit теперь работает на вашем компьютере. Когда вы запускаете модели или потоки на следующем этапе, ваша машина будет выполнять задачи оркестрации, необходимые для совместной работы этапов вашего потока; вызовы внешних сервисов, таких как API Gemini, по-прежнему будут выполняться на действующих серверах.

    Кроме того, поскольку вы находитесь в среде разработки, Genkit будет хранить трассировки и состояние потока в локальных файлах.

  5. Пользовательский интерфейс разработчика Genkit загружается и открывается автоматически при запуске команды genkit start .

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

    • На вкладке «Выполнить» вы увидите список всех определенных вами потоков и всех моделей, настроенных с помощью плагинов.

      Нажмите менюSuggestionFlow и попробуйте запустить его с каким-нибудь входным текстом (например, "cat" ). Если все пройдет хорошо, вы будете вознаграждены предложением меню для ресторана, оформленного в кошачьей тематике.

    • На вкладке «Проверка» вы увидите историю выполнения потока. Для каждого потока вы можете увидеть параметры, которые были переданы в поток, и трассировку каждого шага во время их выполнения.

Следующие шаги

Узнайте, как создать и развернуть приложение Genkit с помощью Firebase , Cloud Run или любой платформы Node.js.