Firebase Genkit имеет встроенные возможности интеграции, которые помогут вам развернуть ваши потоки в Cloud Functions для Firebase и Google Cloud Run, но вы также можете развернуть свои потоки на любой платформе, которая может обслуживать приложение Express.js, будь то облачный сервис или самостоятельное использование. размещен.
На этой странице в качестве примера описывается процесс развертывания примера потока по умолчанию.
Прежде чем начать
- Node.js 20+: убедитесь, что в вашей среде используется Node.js версии 20 или выше (node --version).
- Вы должны быть знакомы с концепцией потоков Genkit.
1. Настройте свой проект
Создайте каталог для проекта:
export GENKIT_PROJECT_HOME=~/tmp/genkit-express-project
mkdir -p $GENKIT_PROJECT_HOME
cd $GENKIT_PROJECT_HOME
Инициализируйте проект Node.js:
npm init -y
Установите Genkit и необходимые зависимости:
npm install --save genkit @genkit-ai/googleai
npm install -D genkit-cli typescript tsx
2. Настройте приложение Genkit.
Настройте пример потока и сервера:
В
src/index.ts
определите образец потока и настройте сервер потока:import { genkit } from 'genkit'; import { googleAI, gemini15Flash } from '@genkit-ai/googleai'; const ai = genkit({ plugins: [googleAI()], model: gemini15Flash, }); const helloFlow = ai.defineFlow( { name: 'helloFlow', inputSchema: z.object({ name: z.string() }), outputSchema: z.string(), }, async (input) => { const { text } = ai.generate('Say hello to ${input.name}'); return text; } ); ai.startFlowServer({ flows: [menuSuggestionFlow], });
Есть также несколько дополнительных параметров для
startFlowServer
, которые вы можете указать:-
port
: сетевой порт для прослушивания. Если не указано, сервер прослушивает порт, определенный в переменной среды PORT, а если PORT не установлен, по умолчанию используется значение 3400. -
cors
: политика CORS сервера потока. Если вы будете получать доступ к этим конечным точкам из веб-приложения, вам, вероятно, потребуется указать это. -
pathPrefix
: необязательный префикс пути, который нужно добавить перед конечными точками потока. -
jsonParserOptions
: параметры для передачи в анализатор тела JSON Express.
-
Настройте учетные данные поставщика модели:
Настройте необходимые переменные среды для вашего поставщика модели. В этом руководстве в качестве примера мы будем использовать API Gemini из Google AI Studio.
Получите ключ API от Google AI Studio.
После создания ключа API задайте переменную среды
GOOGLE_GENAI_API_KEY
для своего ключа с помощью следующей команды:export GOOGLE_GENAI_API_KEY=<your API key>
Разные поставщики развертывания будут использовать разные способы защиты вашего ключа API в своей среде. В целях безопасности убедитесь, что ваш ключ API не является общедоступным.
3. Подготовьте проект Node.js к развертыванию.
Добавьте сценарии запуска и сборки в package.json
Чтобы развернуть проект Node.js, определите сценарии start
и build
в package.json
. Для проекта TypeScript эти сценарии будут выглядеть следующим образом:
"scripts": {
"start": "node --watch lib/index.js",
"build": "tsc"
},
Сборка и тестирование локально
Запустите команду сборки, затем запустите сервер и протестируйте его локально, чтобы убедиться, что он работает должным образом.
npm run build
npm start
В другом окне терминала проверьте конечную точку:
curl -X POST "http://127.0.0.1:3400/menuSuggestionFlow" \
-H "Content-Type: application/json" \
-d '{"data": "banana"}'
Необязательно: запустите пользовательский интерфейс разработчика.
Вы можете использовать пользовательский интерфейс разработчика для интерактивного тестирования потоков во время разработки:
npx genkit start -- npm run start
Перейдите по адресу http://localhost:4000/flows, чтобы протестировать потоки в пользовательском интерфейсе.
4. Разверните проект
После того как ваш проект настроен и протестирован локально, вы готовы к развертыванию на любой Node.js-совместимой платформе. Шаги развертывания различаются в зависимости от поставщика, но обычно вам необходимо настроить следующие параметры:
Параметр | Ценить |
---|---|
Время выполнения | Node.js 20 или новее |
Команда сборки | npm run build |
Команда запуска | npm start |
Переменные среды | Установите GOOGLE_GENAI_API_KEY=<your-api-key> и другие необходимые секреты. |
Команда start
( npm start
) должна указывать на скомпилированную точку входа, обычно lib/index.js
. Обязательно добавьте все необходимые переменные среды для вашей платформы развертывания.
После развертывания вы можете использовать предоставленный URL-адрес службы для вызова вашего потока в качестве конечной точки HTTPS.