In dieser Anleitung erfahren Sie, wie Sie mit Genkit in einer Go-App beginnen.
Wenn Sie Probleme mit den Bibliotheken oder dieser Dokumentation feststellen, melden Sie sie bitte in unserem GitHub-Repository.
Voraussetzungen
Go 1.24 oder höher. Weitere Informationen finden Sie in der offiziellen Go-Dokumentation unter Herunterladen und installieren.
Node.js 20 oder höher (für die Genkit-Befehlszeile und ‑Benutzeroberfläche) Im nächsten Abschnitt finden Sie eine kurze Anleitung zur Installation von Node.
Genkit installieren
Wenn Node 20 oder höher noch nicht auf Ihrem System installiert ist, installieren Sie es jetzt.
Empfehlung: Die Tools
nvm
undnvm-windows
sind eine praktische Möglichkeit, bestimmte Node-Versionen zu installieren, wenn sie noch nicht auf Ihrem System installiert sind. Mit diesen Tools wird Node pro Nutzer installiert, sodass Sie keine systemweiten Änderungen vornehmen müssen.So installieren Sie
nvm
:Linux, macOS usw.
Führen Sie dazu diesen Befehl aus:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
Windows
Laden Sie das Installationsprogramm wie in der nvm-windows-Dokumentation beschrieben herunter und führen Sie es aus.
Öffnen Sie dann eine neue Shell und führen Sie den folgenden Befehl aus, um Node und
npm
zu installieren:nvm install 20
Installieren Sie die Genkit-Befehlszeile mit dem folgenden Befehl:
npm i -g genkit-cli
Mit diesem Befehl wird die Genkit-Befehlszeile in Ihrem Node-Installationsverzeichnis installiert, damit sie außerhalb eines Node-Projekts verwendet werden kann.
Beispielprojekt erstellen und untersuchen
Erstellen Sie ein neues Projektverzeichnis:
mkdir genkit-intro && cd genkit-intro
Initialisieren Sie das Go-Modul und laden Sie das Genkit-Paket herunter:
go mod init example/genkit-intro
go get github.com/firebase/genkit/go
API-Schlüssel des Modells konfigurieren
In dieser Anleitung zeigen wir Ihnen, wie Sie die Gemini API verwenden. Diese bietet eine großzügige kostenlose Stufe, sodass Sie für den Einstieg keine Kreditkarte brauchen. Zur Verwendung der Gemini API benötigen Sie einen API-Schlüssel. Wenn Sie noch keinen haben, erstellen Sie einen in Google AI Studio.
Nachdem Sie den API-Schlüssel erstellt haben, legen Sie die Umgebungsvariable GEMINI_API_KEY
mit dem folgenden Befehl auf Ihren Schlüssel fest:
export GEMINI_API_KEY=<your API key>
Erste Anfrage senden
In Genkit können Sie mit nur wenigen Codezeilen loslegen.
package main
import (
"context"
"log"
"github.com/firebase/genkit/go/ai"
"github.com/firebase/genkit/go/genkit"
"github.com/firebase/genkit/go/plugins/googlegenai"
)
func main() {
ctx := context.Background()
// Initialize a Genkit instance.
g, err := genkit.Init(ctx,
// Install the Google AI plugin which provides Gemini models.
genkit.WithPlugins(&googlegenai.GoogleAI{}),
// Set the default model to use for generate calls.
genkit.WithDefaultModel("googleai/gemini-2.0-flash"),
)
if err != nil {
log.Fatal(err)
}
// Generate a model response.
resp, err := genkit.Generate(ctx, g, ai.WithPrompt("Hello, Gemini!"))
if err != nil {
log.Fatal(err)
}
log.Println(resp.Text())
}
Nächste Schritte
Sie haben die Voraussetzungen für Modellanfragen mit Genkit geschaffen. Es gibt jedoch noch weitere Genkit-Funktionen zum Erstellen KI-basierter Apps und Workflows. Informationen zu den ersten Schritten mit diesen zusätzlichen Genkit-Funktionen finden Sie in diesen Anleitungen:
- Entwicklertools: Hier erfahren Sie, wie Sie die Befehlszeile und die Entwickler-UI von Genkit einrichten und verwenden, um Ihre App lokal zu testen und zu debuggen.
- Inhalte generieren: Darin erfahren Sie, wie Sie die einheitliche Generierungs-API von Genkit verwenden, um Text und strukturierte Daten aus einem beliebigen unterstützten Modell zu erstellen.
- Flows erstellen: Wir zeigen Ihnen, wie Sie spezielle Genkit-Funktionen, sogenannte Flows, verwenden, die eine End-to-End-Beobachtbarkeit für Workflows sowie umfangreiches Debugging mit Genkit-Tools ermöglichen.
- Prompts verwalten: Hier finden Sie Informationen dazu, wie Sie mit Genkit Prompts und Konfigurationen als Code verwalten.