Firebase Genkit bietet integrierte Integrationen, mit denen Sie Ihre Workflows in Cloud Functions for Firebase und Google Cloud Run bereitstellen können. Sie können Ihre Workflows aber auch auf jeder Plattform bereitstellen, die eine Express.js-Anwendung ausliefern kann, unabhängig davon, ob es sich um einen Cloud-Dienst oder einen selbst gehosteten Dienst handelt.
Auf dieser Seite wird beispielsweise beschrieben, wie Sie den Standard-Beispielfluss bereitstellen.
Hinweis
- Node.js 20 oder höher: Prüfen Sie, ob in Ihrer Umgebung Node.js 20 oder höher verwendet wird (node --version).
- Sie sollten mit dem Genkit-Konzept Abläufe vertraut sein.
1. Projekt einrichten
Erstellen Sie ein Verzeichnis für das Projekt:
export GENKIT_PROJECT_HOME=~/tmp/genkit-express-project
mkdir -p $GENKIT_PROJECT_HOME
cd $GENKIT_PROJECT_HOME
So initialisieren Sie ein Node.js-Projekt:
npm init -y
Genkit und die erforderlichen Abhängigkeiten installieren:
npm install --save genkit @genkit-ai/googleai
npm install -D genkit-cli typescript tsx
2. Genkit-App konfigurieren
Richten Sie einen Beispielablauf und einen Server ein:
Definieren Sie in
src/index.ts
einen Beispielablauf und konfigurieren Sie den Ablaufserver: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], });
Es gibt auch einige optionale Parameter für
startFlowServer
, die Sie angeben können:port
: Der Netzwerkport, auf dem gelauscht werden soll. Wenn nicht angegeben, überwacht der Server den in der Umgebungsvariablen „PORT“ definierten Port. Wenn „PORT“ nicht festgelegt ist, wird standardmäßig 3400 verwendet.cors
: die CORS-Richtlinie des Workflow-Servers. Wenn Sie von einer Webanwendung aus auf diese Endpunkte zugreifen, müssen Sie dies wahrscheinlich angeben.pathPrefix
: Ein optionales Pfadpräfix, das vor den Ablaufendpunkten hinzugefügt werden soll.jsonParserOptions
: Optionen, die an den JSON-Body-Parser von Express übergeben werden
Anmeldedaten für den Modellanbieter einrichten:
Konfigurieren Sie die erforderlichen Umgebungsvariablen für Ihren Modellanbieter. In dieser Anleitung verwenden wir die Gemini API aus Google AI Studio als Beispiel.
API-Schlüssel in Google AI Studio abrufen
Nachdem Sie einen API-Schlüssel erstellt haben, legen Sie die Umgebungsvariable
GOOGLE_GENAI_API_KEY
mit dem folgenden Befehl auf Ihren Schlüssel fest:export GOOGLE_GENAI_API_KEY=<your API key>
Unterschiedliche Anbieter für die Bereitstellung haben unterschiedliche Möglichkeiten, Ihren API-Schlüssel in ihrer Umgebung zu schützen. Aus Sicherheitsgründen sollte Ihr API-Schlüssel nicht öffentlich zugänglich sein.
3. Node.js-Projekt für die Bereitstellung vorbereiten
Start- und Build-Scripts zu package.json
hinzufügen
Wenn Sie ein Node.js-Projekt bereitstellen möchten, definieren Sie start
- und build
-Scripts in package.json
. Bei einem TypeScript-Projekt sehen diese Scripts so aus:
"scripts": {
"start": "node --watch lib/index.js",
"build": "tsc"
},
Build lokal erstellen und testen
Führen Sie den Befehl zum Erstellen aus, starten Sie den Server und testen Sie ihn lokal, um sicherzustellen, dass er wie erwartet funktioniert.
npm run build
npm start
Testen Sie den Endpunkt in einem anderen Terminalfenster:
curl -X POST "http://127.0.0.1:3400/menuSuggestionFlow" \
-H "Content-Type: application/json" \
-d '{"data": "banana"}'
Optional: Entwickleroberfläche starten
Mit der Entwickleroberfläche können Sie während der Entwicklung Abläufe interaktiv testen:
npx genkit start -- npm run start
Rufen Sie http://localhost:4000/flows auf, um Ihre Workflows in der Benutzeroberfläche zu testen.
4. Projekt bereitstellen
Sobald Ihr Projekt lokal konfiguriert und getestet wurde, können Sie es auf einer beliebigen Node.js-kompatiblen Plattform bereitstellen. Die Schritte zur Bereitstellung variieren je nach Anbieter. Im Allgemeinen konfigurieren Sie jedoch die folgenden Einstellungen:
Einstellung | Wert |
---|---|
Laufzeit | Node.js 20 oder höher |
Build-Befehl | npm run build |
Startbefehl | npm start |
Umgebungsvariablen | GOOGLE_GENAI_API_KEY=<your-api-key> und andere erforderliche Secrets festlegen |
Der Befehl start
(npm start
) sollte auf den kompilierten Einstiegspunkt verweisen, in der Regel lib/index.js
. Achten Sie darauf, alle erforderlichen Umgebungsvariablen für Ihre Bereitstellungsplattform hinzuzufügen.
Nach der Bereitstellung können Sie den Flow mit der angegebenen Dienst-URL als HTTPS-Endpunkt aufrufen.