Auf dieser Seite erfahren Sie, wie Sie Genkit-Abläufe in Angular-Apps verwenden.
Hinweis
Sie sollten mit dem Genkit-Konzept von Abläufen und deren Erstellung vertraut sein.
Angular-Projekt erstellen
In diesem Leitfaden wird eine Angular-App mit SSR mit Server-Routing verwendet.
Mit der Angular CLI können Sie ein neues Projekt mit serverseitigem Routing erstellen:
ng new --ssr --server-routing
Sie können einem vorhandenen Projekt auch mit dem Befehl ng add
serverseitiges Routing hinzufügen:
ng add @angular/ssr --server-routing
Genkit-Abhängigkeiten installieren
Installieren Sie die Genkit-Abhängigkeiten in Ihrer Angular-App wie bei jedem Genkit-Projekt:
Installieren Sie die Genkit-Kernbibliothek:
npm i --save genkit
Installieren Sie mindestens ein Modell-Plug-in.
So verwenden Sie beispielsweise die KI von Google:
npm i --save @genkit-ai/googleai
So verwenden Sie Vertex AI:
npm i --save @genkit-ai/vertexai
Installieren Sie die Genkit Express-Bibliothek:
npm i --save @genkit-ai/express
Zod installieren:
npm i --save zod
Wenn Sie die Genkit-Befehlszeile nicht global installiert haben, können Sie sie als Entwicklungsabhängigkeit installieren. Das tsx-Tool wird ebenfalls empfohlen, da es das Testen Ihres Codes erleichtert. Beide Abhängigkeiten sind jedoch optional.
npm i --save-dev genkit-cli tsx
Genkit-Abläufe definieren
Erstellen Sie in Ihrem Angular-Projekt eine neue Datei für Ihre Genkit-Abläufe, z. B. src/genkit.ts
. Diese Datei kann Ihre Workflows unverändert enthalten.
Beispiel:
import { gemini20Flash, googleAI } from "@genkit-ai/googleai";
import { genkit } from "genkit";
import { z } from "zod";
const ai = genkit({
plugins: [googleAI()],
model: gemini20Flash,
});
export const menuSuggestionFlow = ai.defineFlow(
{
name: "menuSuggestionFlow",
inputSchema: z.string(),
outputSchema: z.string(),
},
async (restaurantTheme) => {
const { text } = await ai.generate(
`Invent a menu item for a ${restaurantTheme} themed restaurant.`
);
return text;
}
);
Serverrouten hinzufügen
Fügen Sie src/server.ts
die folgenden Importe hinzu:
import { expressHandler } from '@genkit-ai/express';
import { menuSuggestionFlow } from './genkit';
Fügen Sie nach der Variableninitialisierung app
die folgende Zeile hinzu:
app.use(express.json());
Fügen Sie dann eine Route hinzu, über die der Ablauf ausgeliefert werden soll:
app.post('/menu', expressHandler(menuSuggestionFlow));
Aufrufen von Flows
Jetzt können Sie Ihre Workflows über Ihre Clientanwendung ausführen.
Sie können den Inhalt von src/app/app.component.ts
beispielsweise durch Folgendes ersetzen:
import { Component, resource, signal } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { runFlow } from 'genkit/beta/client';
@Component({
selector: 'app-root',
imports: [FormsModule],
templateUrl: './app.component.html',
})
export class AppComponent {
menuInput = '';
theme = signal('');
menuResource = resource({
request: () => this.theme(),
loader: ({request}) => runFlow({ url: 'menu', input: request })
});
}
Nehmen Sie entsprechende Änderungen an src/app/app.component.html
vor:
<h3>Generate a custom menu item</h3>
<input type="text" [(ngModel)]="menuInput" />
<button (click)="this.theme.set(menuInput)">Generate</button>
<br />
@if (menuResource.isLoading()) {
Loading...
} @else {
<pre>{{menuResource.value()}}</pre>
}
App lokal testen
Wenn Sie Ihre App lokal ausführen möchten, müssen Sie Anmeldedaten für den von Ihnen ausgewählten Modell-API-Dienst verfügbar machen.
Gemini (Google AI)
Prüfen Sie, ob Google AI in Ihrer Region verfügbar ist.
Erstellen Sie einen API-Schlüssel für die Gemini API mit Google AI Studio.
Legen Sie die Umgebungsvariable
GEMINI_API_KEY
auf Ihren Schlüssel fest:export GEMINI_API_KEY=<your API key>
Gemini (Vertex AI)
Aktivieren Sie in der Cloud Console die Vertex AI API für Ihr Projekt.
Legen Sie einige Umgebungsvariablen fest und verwenden Sie das Tool
gcloud
, um Standardanmeldedaten für die Anwendung einzurichten:export GCLOUD_PROJECT=<your project ID>
export GCLOUD_LOCATION=us-central1
gcloud auth application-default login
Führen Sie die App dann wie gewohnt lokal aus:
ng serve
Alle Entwicklungstools von Genkit funktionieren weiterhin wie gewohnt. So laden Sie beispielsweise Ihre Workflows in die Entwickler-UI:
npx genkit start -- ng serve
Anwendung bereitstellen
Wenn Sie Ihre App bereitstellen, müssen Sie dafür sorgen, dass die Anmeldedaten für alle verwendeten externen Dienste (z. B. der von Ihnen ausgewählte Modell-API-Dienst) für die bereitgestellte App verfügbar sind. Auf den folgenden Seiten finden Sie Informationen speziell für die von Ihnen ausgewählte Bereitstellungsplattform:
Nächste Schritte
- Genkit in einer bereitgestellten Angular-App kennenlernen: Sehen Sie sich eine Referenzimplementierung mehrerer Genkit-Flows an, die eine Angular-App unterstützen, und gehen Sie dann den Code in Firebase Studio durch.