In dieser Kurzanleitung werden die ersten Schritte mit der Gemini API mit dem SDK Ihrer Wahl beschrieben.
Voraussetzungen
Python
Auf Google AI ansehen | In Google Colab ausführen | Notebook auf GitHub ansehen |
Wenn Sie diese Kurzanleitung lokal ausführen möchten, achten Sie darauf, dass Ihre Entwicklungsumgebung die folgenden Anforderungen erfüllt:
- Python 3.9 oder höher
- Eine Installation von
jupyter
zum Ausführen des Notebooks.
Ok
In dieser Kurzanleitung wird davon ausgegangen, dass Sie mit dem Erstellen von Anwendungen mit Go vertraut sind.
Achten Sie beim Durcharbeiten dieser Kurzanleitung darauf, dass Ihre Entwicklungsumgebung die folgenden Anforderungen erfüllt:
- Go 1.20 oder höher
Node.js
In dieser Kurzanleitung wird davon ausgegangen, dass Sie mit dem Erstellen von Anwendungen mit Node.js vertraut sind.
Achten Sie beim Durcharbeiten dieser Kurzanleitung darauf, dass Ihre Entwicklungsumgebung die folgenden Anforderungen erfüllt:
- Node.js v18 und höher
- npm
Web
In dieser Kurzanleitung wird davon ausgegangen, dass Sie mit der Verwendung von JavaScript zum Entwickeln von Webanwendungen vertraut sind. Diese Anleitung ist vom Framework unabhängig.
Achten Sie beim Durcharbeiten dieser Kurzanleitung darauf, dass Ihre Entwicklungsumgebung die folgenden Anforderungen erfüllt:
- (Optional) Node.js
- Moderner Webbrowser
Dart (Flutter)
In dieser Kurzanleitung wird davon ausgegangen, dass Sie mit dem Erstellen von Anwendungen mit Dart vertraut sind.
Achten Sie beim Durcharbeiten dieser Kurzanleitung darauf, dass Ihre Entwicklungsumgebung die folgenden Anforderungen erfüllt:
- Dart 3.2.0 oder höher
Swift
In dieser Kurzanleitung wird davon ausgegangen, dass Sie mit der Verwendung von Xcode zum Entwickeln von Swift-Apps vertraut sind.
Achten Sie für diese Kurzanleitung darauf, dass Ihre Entwicklungsumgebung und die Swift-Anwendung die folgenden Anforderungen erfüllen:
- Xcode 15.0 oder höher
- Ihre Swift-App muss auf iOS 15 oder höher bzw. macOS 12 oder höher ausgerichtet sein.
Android
In dieser Kurzanleitung wird davon ausgegangen, dass Sie mit der Entwicklung von Android-Apps mit Android Studio vertraut sind.
Achten Sie für diese Kurzanleitung darauf, dass Ihre Entwicklungsumgebung und Android-App die folgenden Anforderungen erfüllen:
- Android Studio (neueste Version)
- Deine Android-App muss auf API-Level 21 oder höher ausgerichtet sein.
API-Schlüssel einrichten
Sie benötigen einen API-Schlüssel, um die Gemini API zu verwenden. Erstellen Sie einen Schlüssel in Google AI Studio, falls noch nicht geschehen.
Konfigurieren Sie dann Ihren Schlüssel.
Python
Es wird dringend empfohlen, einen API-Schlüssel nicht in das Versionsverwaltungssystem einzuchecken. In dieser Kurzanleitung wird davon ausgegangen, dass Sie auf Ihren API-Schlüssel als Umgebungsvariable zugreifen.
Weisen Sie Ihren API-Schlüssel einer Umgebungsvariablen zu:
export API_KEY=<YOUR_API_KEY>
Ok
Es wird dringend empfohlen, einen API-Schlüssel nicht in das Versionsverwaltungssystem einzuchecken. In dieser Kurzanleitung wird davon ausgegangen, dass Sie auf Ihren API-Schlüssel als Umgebungsvariable zugreifen.
Weisen Sie Ihren API-Schlüssel einer Umgebungsvariablen zu:
export API_KEY=<YOUR_API_KEY>
Node.js
Es wird dringend empfohlen, einen API-Schlüssel nicht in das Versionsverwaltungssystem einzuchecken. In dieser Kurzanleitung wird davon ausgegangen, dass Sie auf Ihren API-Schlüssel als Umgebungsvariable zugreifen.
Weisen Sie Ihren API-Schlüssel einer Umgebungsvariablen zu:
export API_KEY=<YOUR_API_KEY>
Web
Es wird dringend empfohlen, einen API-Schlüssel nicht in das Versionsverwaltungssystem einzuchecken. Stattdessen sollten Sie Ihren API-Schlüssel direkt vor der Initialisierung des Modells an Ihre Anwendung übergeben.
In dieser Kurzanleitung wird davon ausgegangen, dass Sie auf Ihren API-Schlüssel als globale Konstante zugreifen.
Dart (Flutter)
Es wird dringend empfohlen, einen API-Schlüssel nicht in das Versionsverwaltungssystem einzuchecken. In dieser Kurzanleitung wird davon ausgegangen, dass Sie auf Ihren API-Schlüssel als Prozessumgebungsvariablen zugreifen. Wenn Sie eine Flutter-Anwendung entwickeln, können Sie String.fromEnvironment
verwenden und --dart-define=API_KEY=$API_KEY
an flutter build
oder flutter run
übergeben, um mit dem API-Schlüssel zu kompilieren, da sich die Prozessumgebung bei der Ausführung der Anwendung unterscheidet.
Swift
Es wird dringend empfohlen, einen API-Schlüssel nicht in das Versionsverwaltungssystem einzuchecken. Eine alternative Option besteht darin, den API-Schlüssel in der Datei GenerativeAI-Info.plist
zu speichern und dann aus der Datei .plist
zu lesen. Legen Sie diese .plist
-Datei in den Stammordner Ihrer Anwendung ab und schließen Sie sie von der Versionsverwaltung aus.
enum APIKey {
// Fetch the API key from `GenerativeAI-Info.plist`
static var `default`: String {
guard let filePath = Bundle.main.path(forResource: "GenerativeAI-Info", ofType: "plist")
else {
fatalError("Couldn't find file 'GenerativeAI-Info.plist'.")
}
let plist = NSDictionary(contentsOfFile: filePath)
guard let value = plist?.object(forKey: "API_KEY") as? String else {
fatalError("Couldn't find key 'API_KEY' in 'GenerativeAI-Info.plist'.")
}
if value.starts(with: "_") {
fatalError(
"Follow the instructions at https://ai.google.dev/tutorials/setup to get an API key."
)
}
return value
}
}
Android
Es wird dringend empfohlen, einen API-Schlüssel nicht in das Versionsverwaltungssystem einzuchecken. Speichern Sie ihn stattdessen in einer local.properties
-Datei, die sich im Stammverzeichnis Ihres Projekts befindet, von der Versionsverwaltung ausgeschlossen ist, und verwenden Sie dann das Secrets Gradle-Plug-in für Android, um Ihren API-Schlüssel als Build-Konfigurationsvariable zu lesen.
Kotlin:
// Access your API key as a Build Configuration variable
val apiKey = BuildConfig.apiKey
Java:
// Access your API key as a Build Configuration variable
String apiKey = BuildConfig.apiKey;
Wenn Sie sich die Implementierung des Secrets Gradle-Plug-ins ansehen möchten, können Sie sich die Beispiel-App für dieses SDK ansehen oder die neueste Vorschau von Android Studio Iguana verwenden. Dort gibt es eine Gemini API Starter-Vorlage, die für den Einstieg die Datei local.properties
enthält.
SDK Installieren
Python
Das Python SDK für die Gemini API ist im Paket google-generativeai
enthalten. Installieren Sie die Abhängigkeit mit „Pip“:
pip install -q -U google-generativeai
Ok
Wenn Sie die Gemini API in Ihrer eigenen Anwendung verwenden möchten, müssen Sie das Go SDK-Paket in Ihrem Modulverzeichnis mit einem get
-Befehl versehen:
go get github.com/google/generative-ai-go
Node.js
Wenn Sie die Gemini API in Ihrer eigenen Anwendung verwenden möchten, müssen Sie das Paket GoogleGenerativeAI
für Node.js installieren:
npm install @google/generative-ai
Web
Importieren Sie @google/generative-ai
, um die Gemini API in Ihrer eigenen Web-App zu verwenden:
<script type="importmap">
{
"imports": {
"@google/generative-ai": "https://esm.run/@google/generative-ai"
}
}
</script>
Dart (Flutter)
Wenn Sie die Gemini API in Ihrer eigenen Anwendung verwenden möchten, müssen Sie das google_generative_ai
-Paket mit add
an Ihre Dart- oder Flutter-App anhängen:
Dart:
dart pub add google_generative_ai
Flutter:
flutter pub add google_generative_ai
Swift
Wenn Sie die Gemini API in Ihrer eigenen Swift-App verwenden möchten, fügen Sie Ihrer App das Paket GoogleGenerativeAI
hinzu:
Klicken Sie in Xcode in der Projektnavigation mit der rechten Maustaste auf Ihr Projekt.
Wählen Sie im Kontextmenü Pakete hinzufügen aus.
Fügen Sie im Dialogfeld Add Packages (Pakete hinzufügen) die Paket-URL in die Suchleiste ein:
none https://github.com/google/generative-ai-swift
Klicken Sie auf Paket hinzufügen. Xcode fügt Ihrem Projekt nun das Paket
GoogleGenerativeAI
hinzu.
Android
Fügen Sie in der Gradle-Konfigurationsdatei des Moduls (auf App-Ebene) (z. B.
<project>/<app-module>/build.gradle.kts
) die Abhängigkeit für das Google AI SDK for Android hinzu:Kotlin:
dependencies { // add the dependency for the Google AI client SDK for Android implementation("com.google.ai.client.generativeai:generativeai:0.3.0") }
Java:
Für Java müssen Sie zwei weitere Bibliotheken hinzufügen.
dependencies { // add the dependency for the Google AI client SDK for Android implementation("com.google.ai.client.generativeai:generativeai:0.3.0") // Required for one-shot operations (to use `ListenableFuture` from Guava Android) implementation("com.google.guava:guava:31.0.1-android") // Required for streaming operations (to use `Publisher` from Reactive Streams) implementation("org.reactivestreams:reactive-streams:1.0.4") }
Synchronisiere dein Android-Projekt mit Gradle-Dateien.
Generatives Modell initialisieren
Python
Bevor Sie API-Aufrufe ausführen können, müssen Sie das generative Modell importieren und initialisieren.
import google.generativeai as genai
genai.configure(api_key=os.environ["API_KEY"])
model = genai.GenerativeModel('gemini-pro')
Ok
Bevor Sie API-Aufrufe ausführen können, müssen Sie das generative Modell importieren und initialisieren.
import "github.com/google/generative-ai-go/genai"
import "google.golang.org/api/option"
ctx := context.Background()
// Access your API key as an environment variable (see "Set up your API key" above)
client, err := genai.NewClient(ctx, option.WithAPIKey(os.Getenv("API_KEY")))
if err != nil {
log.Fatal(err)
}
defer client.Close()
// For text-only input, use the gemini-pro model
model := client.GenerativeModel("gemini-pro")
Node.js
Bevor Sie API-Aufrufe ausführen können, müssen Sie das generative Modell importieren und initialisieren.
const { GoogleGenerativeAI } = require("@google/generative-ai");
// Access your API key as an environment variable (see "Set up your API key" above)
const genAI = new GoogleGenerativeAI(process.env.API_KEY);
// ...
// For text-only input, use the gemini-pro model
const model = genAI.getGenerativeModel({ model: "gemini-pro"});
// ...
Web
Bevor Sie API-Aufrufe ausführen können, müssen Sie das generative Modell importieren und initialisieren.
<html>
<body>
<!-- ... Your HTML and CSS -->
<!-- Import @google/generative-ai, as shown above. -->
<script type="module">
import { GoogleGenerativeAI } from "@google/generative-ai";
// Fetch your API_KEY
const API_KEY = "...";
// Access your API key (see "Set up your API key" above)
const genAI = new GoogleGenerativeAI(API_KEY);
// ...
// For text-only input, use the gemini-pro model
const model = genAI.getGenerativeModel({ model: "gemini-pro"});
// ...
</script>
</body>
</html>
Dart (Flutter)
Bevor Sie API-Aufrufe ausführen können, müssen Sie das generative Modell importieren und initialisieren.
import 'package:google_generative_ai/google_generative_ai.dart';
// Access your API key as an environment variable (see "Set up your API key" above)
final apiKey = Platform.environment['API_KEY'];
if (apiKey == null) {
print('No \$API_KEY environment variable');
exit(1);
}
// For text-only input, use the gemini-pro model
final model = GenerativeModel(model: 'gemini-pro', apiKey: apiKey);
Swift
Bevor Sie API-Aufrufe ausführen können, müssen Sie das generative Modell initialisieren.
Importieren Sie das Modul
GoogleAI
:import GoogleGenerativeAI
Initialisieren Sie das generative Modell:
// For text-only input, use the gemini-pro model // Access your API key from your on-demand resource .plist file (see "Set up your API key" above) let model = GenerativeModel(name: "gemini-pro", apiKey: APIKey.default)
Android
Bevor Sie API-Aufrufe ausführen können, müssen Sie das GenerativeModel
-Objekt initialisieren:
Kotlin:
val generativeModel = GenerativeModel(
// For text-only input, use the gemini-pro model
modelName = "gemini-pro",
// Access your API key as a Build Configuration variable (see "Set up your API key" above)
apiKey = BuildConfig.apiKey
)
Java:
Für Java müssen Sie außerdem das GenerativeModelFutures
-Objekt initialisieren.
// For text-only input, use the gemini-pro model
GenerativeModel gm = new GenerativeModel(/* modelName */ "gemini-pro",
// Access your API key as a Build Configuration variable (see "Set up your API key" above)
/* apiKey */ BuildConfig.apiKey);
// Use the GenerativeModelFutures Java compatibility layer which offers
// support for ListenableFuture and Publisher APIs
GenerativeModelFutures model = GenerativeModelFutures.from(gm);
Text generieren
Python
response = model.generate_content("Write a story about a magic backpack.")
print(response.text)
Ok
resp, err := model.GenerateContent(ctx, genai.Text("Write a story about a magic backpack."))
if err != nil {
log.Fatal(err)
}
Node.js
async function run() {
const prompt = "Write a story about a magic backpack."
const result = await model.generateContent(prompt);
const response = await result.response;
const text = response.text();
console.log(text);
}
run();
Web
async function run() {
const prompt = "Write a story about a magic backpack."
const result = await model.generateContent(prompt);
const response = await result.response;
const text = response.text();
console.log(text);
}
run();
Dart (Flutter)
void main() async {
// Access your API key as an environment variable (see "Set up your API key" above)
final apiKey = Platform.environment['API_KEY'];
if (apiKey == null) {
print('No \$API_KEY environment variable');
exit(1);
}
// For text-only input, use the gemini-pro model
final model = GenerativeModel(model: 'gemini-pro', apiKey: apiKey);
final content = [Content.text('Write a story about a magic backpack.')];
final response = await model.generateContent(content);
print(response.text);
}
Swift
let prompt = "Write a story about a magic backpack."
let response = try await model.generateContent(prompt)
if let text = response.text {
print(text)
}
Android
Kotlin:
Beachten Sie, dass generateContent()
eine Sperrfunktion ist und aus einem Koroutinenbereich aufgerufen werden muss. Wenn Sie mit Coroutinen nicht vertraut sind, lesen Sie den Artikel Kotlin-Coroutinen unter Android.
val prompt = "Write a story about a magic backpack."
val response = generativeModel.generateContent(prompt)
print(response.text)
Java:
Beachten Sie, dass generateContent()
einen ListenableFuture
zurückgibt. Wenn Sie mit dieser API nicht vertraut sind, lesen Sie die Android-Dokumentation zur Verwendung eines ListenableFuture
.
Content content = new Content.Builder()
.addText("Write a story about a magic backpack.")
.build();
Executor executor = // ...
ListenableFuture<GenerateContentResponse> response = model.generateContent(content);
Futures.addCallback(response, new FutureCallback<GenerateContentResponse>() {
@Override
public void onSuccess(GenerateContentResponse result) {
String resultText = result.getText();
System.out.println(resultText);
}
@Override
public void onFailure(Throwable t) {
t.printStackTrace();
}
}, executor);
Nächste Schritte
Weitere Informationen zur Verwendung der Gemini API finden Sie in der Anleitung für Ihre bevorzugte Sprache.
Sie können auch curl
-Befehle verwenden, um die Gemini API zu testen:
Wenn Sie mit generativen KI-Modellen noch nicht vertraut sind, sollten Sie sich den Konzeptleitfaden und die Gemini API-Übersicht ansehen, bevor Sie eine Kurzanleitung ausprobieren.