\n\n\n\n Ich erkunde das Google Gemini Python SDK über Chat hinaus. - AgntBox Ich erkunde das Google Gemini Python SDK über Chat hinaus. - AgntBox \n

Ich erkunde das Google Gemini Python SDK über Chat hinaus.

📖 12 min read2,230 wordsUpdated Mar 30, 2026

Hallo zusammen, Nina hier, zurück auf agntbox.com! Heute möchte ich über etwas sprechen, das in meinen persönlichen Entwicklungsprojekten und meinem Posteingang viel Aufmerksamkeit erhält: die KI-SDKs. Genauer gesagt, erkunde ich das Python-SDK für die Gemini-API von Google. Es ist schon eine Weile verfügbar, aber mit den neuesten Updates und der Geschwindigkeit, mit der sich die Modelle entwickeln, habe ich das Gefühl, dass viele Leute gerade einmal an der Oberfläche dessen kratzen, was man tatsächlich tun kann, über die grundlegenden Chat-Beispiele hinaus.

Ich erinnere mich, als ich vor einigen Jahren anfing, mit großen Sprachmodellen zu experimentieren. Ich hatte das Gefühl, eine ganze Mannschaft von Data Scientists und einen Supercomputer zu brauchen, um etwas Signifikantes auf die Beine zu stellen. Und jetzt? Wir haben SDKs, die es einem einzelnen Entwickler wie mir ermöglichen, ziemlich leistungsstarke KI-Funktionen mit nur ein paar Zeilen Code in meine Anwendungen zu integrieren. Das ist verrückt. Und ehrlich gesagt, ein bisschen einschüchternd, wenn man nicht weiß, wo man anfangen soll.

Heute möchte ich über das bloße „Hello World“ hinausgehen und praktischere, vielleicht sogar leicht unkonventionelle Anwendungen des Python Gemini SDKs ansprechen. Wir werden sehen, wie man eine kleine dynamische Inhaltszusammenfassung erstellt, die sich an unterschiedliche Ausgabestile anpasst, und dann, wie man Gemini für mehr als nur die einfache Texterstellung verwendet – konkret für die intelligente Datenextraktion aus unstrukturiertem Text. Mein Ziel hier ist es, Ihnen zu zeigen, wie Sie ein wenig anders über diese Werkzeuge nachdenken und sie über das Offensichtliche hinaus treiben können.

Über den einfachen Chat hinaus: Erstellung einer dynamischen Zusammenfassung mit Gemini

Das Erste, was die meisten Leute mit einem neuen LLM tun, ist, einen Chatbot zu bauen. Und Missverständnisse ausgeschlossen, Gemini ist dafür fantastisch. Aber was ist, wenn Sie etwas Spezifischeres benötigen? Angenommen, Sie bauen ein internes Tool für Ihr Unternehmen, und manchmal benötigt Ihr Marketingteam eine prägnante Zusammenfassung in der Länge eines Tweets für einen Artikel, während das Rechtsteam eine detailliertere Zusammenfassung in Form von Stichpunkten braucht. Das manuell zu tun, ist eine echte Herausforderung. Hier kommt eine dynamische Zusammenfassung ins Spiel.

Die Herausforderung: Zusammenfassungen für unterschiedliche Zielgruppen

Meine persönliche Erfahrung damit kam, als ich versuchte, lange Forschungsartikel für ein Nebenprojekt zu verdichten. Manchmal brauchte ich ein schnelles „TL;DR“ für einen Slack-Kanal, und andere Male benötigte ich eine strukturiert Zusammenfassung, die ich in ein Notion-Dokument einfügen konnte. Das manuelle Anpassen des Prompts jedes Mal war mühsam und führte oft zu Inkonsistenzen.

Der Schlüssel liegt hier nicht nur darin, Gemini zu bitten, „dies zusammenzufassen“. Es geht darum, ihm den Kontext für den Zusammenfassungsstil zu geben. Wir werden Prompt Engineering verwenden, um Gemini bei der Erstellung des spezifischen Ausgabeformats, das wir benötigen, zu leiten.

Einrichtung Ihrer Umgebung (Kurze Erinnerung)

Stellen Sie zunächst sicher, dass Sie das SDK installiert und Ihren API-Schlüssel konfiguriert haben. Falls dies noch nicht geschehen ist:

  • pip install google-generativeai
  • Setzen Sie Ihre Umgebungsvariable GOOGLE_API_KEY.

Als nächstes die grundlegende Konfiguration in Python:


import google.generativeai as genai
import os

# API-Schlüssel konfigurieren
genai.configure(api_key=os.environ.get("GOOGLE_API_KEY"))

# Modell initialisieren
model = genai.GenerativeModel('gemini-pro')

Implementierung der dynamischen Zusammenfassung

Lassen Sie uns nun eine Funktion erstellen, die den Text und einen Parameter für den „Stil“ entgegennimmt. Dieser Stilparameter wird entscheidend sein, um Gemini zu leiten.


def dynamic_summarizer(text_to_summarize: str, summary_style: str) -> str:
 """
 Fasst den Text basierend auf einem angegebenen Stil unter Verwendung von Google Gemini zusammen.

 Args:
 text_to_summarize: Der Eingabetext, der zusammengefasst werden soll.
 summary_style: Eine Beschreibung des gewünschten Zusammenfassungsstils
 (z.B. "Tweet-Länge, prägnant", "Stichpunkte für rechtliche Überprüfung",
 "kurzer Absatz für eine Nachrichtenschlagzeile").

 Returns:
 Die generierte Zusammenfassung.
 """
 prompt = f"""
 Sie sind ein Zusammenfassungs-Experte. Ihre Aufgabe ist es, den folgenden Text zusammenzufassen.
 Die Zusammenfassung sollte den folgenden Stil einhalten: {summary_style}.

 TEXT :
 ---
 {text_to_summarize}
 ---

 ZUSAMMENFASSUNG :
 """
 response = model.generate_content(prompt)
 return response.text.strip()

# Beispiel für die Verwendung:
long_article = """
Die jüngsten Fortschritte in der Quanteninformatik haben neue Wege eröffnet, um komplexe Probleme zu lösen,
die derzeit für klassische Computer nicht handhabbar sind. Forscher des XYZ Labs haben eine signifikante Verbesserung
der Stabilität von Qubits bekannt gegeben und die Kohärenzzeiten um den Faktor fünf verlängert. Diese Entwicklung,
die letzte Woche in Nature Physics veröffentlicht wurde, bringt fehlerresistente Quantencomputer näher an die Realität.
Jedoch bleiben Herausforderungen bestehen, insbesondere hinsichtlich der Erhöhung der Anzahl von Qubits
und der Aufrechterhaltung der Fehlerquoten auf akzeptablen Niveaus. Die Finanzierung der Quantenforschung
ist im letzten Jahr erheblich gestiegen, was auf ein wachsendes Vertrauen in die zukünftigen Auswirkungen
der Technologie in verschiedenen Branchen hindeutet, von der Pharmaindustrie bis hin zur Finanzmodellierung.
Experten prognostizieren, dass in der kommenden Dekade praktische Anwendungen auftauchen könnten,
die potenziell bestehende computergestützte Paradigmen stören.
"""

# Stil 1: Tweet-Länge
tweet_summary = dynamic_summarizer(long_article, "eine prägnante Zusammenfassung in der Länge eines Tweets (max. 280 Zeichen), die die wichtigsten Neuigkeiten hervorhebt")
print("Tweet-Zusammenfassung:")
print(tweet_summary)
print("-" * 30)

# Stil 2: Stichpunkte für ein technisches Briefing
bullet_summary = dynamic_summarizer(long_article, "eine Liste von Stichpunkten, die für ein technisches Briefing geeignet ist, mit Fokus auf Fortschritte und Herausforderungen")
print("Technische Zusammenfassung:")
print(bullet_summary)
print("-" * 30)

# Stil 3: Absatz für zusammenfassende Executive
executive_summary = dynamic_summarizer(long_article, "einen kurzen Absatz für eine zusammenfassende Executive für ein nicht-technisches Publikum")
print("Executive Zusammenfassung:")
print(executive_summary)
print("-" * 30)

Was Sie bemerken werden, ist, dass Gemini, wenn es klare Anweisungen im Parameter `summary_style` erhält, erstaunlich gut darin ist, seine Ausgabe anzupassen. Das macht Ihre Anwendung viel vielseitiger, ohne dass Sie die Logik für jeden Zusammenfassungstyp neu schreiben müssen. Ich habe dieses genau Modell verwendet, um einen Backend-Service zu erstellen, der Benutzerbewertungen unterschiedlich zusammenfasst, je nachdem, ob sie sich an einen Produktmanager, einen Marketing Verantwortlichen oder einen Kundensupport-Agenten wenden.

Über die Texterstellung hinaus: Intelligente Datenextraktion aus unstrukturiertem Text

Hier wird es für mich wirklich spannend. Oft denken wir an LLMs, um neuen Text zu generieren, aber sie sind auch unglaublich mächtig, wenn es darum geht, bestehenden Text zu verstehen und zu strukturieren. Stellen Sie sich vor, Sie hätten eine Vielzahl von Kundenfeedback-E-Mails, Produktbewertungen oder Supporttickets, und Sie müssten spezifische Informationen extrahieren wie das erwähnte Produkt, die Stimmung oder ein bestimmtes signalisiertes Problem. Das mit regulären Ausdrücken zu machen, kann ein Albtraum sein; die natürliche Sprache ist einfach zu vielfältig.

Das Problem: Strukturierte Daten aus unordentlichen Eingaben extrahieren

Vor einiger Zeit half ich einem Freund, ein kleines Tool für seinen E-Commerce-Shop zu bauen. Er erhielt viele Rückmeldungen von Kunden per E-Mail und wollte schnell identifizieren, welches Produkt besprochen wurde, ob das Feedback positiv oder negativ war, und ob eine spezielle Funktion erwähnt wurde. Hunderte von E-Mails manuell zu lesen, war keine Option. Traditionelle NLP-Ansätze erforderten oft umfangreiche Trainingsdaten und maßgeschneiderte Modelle, was für diese relativ einfache Aufgabe überdimensioniert schien.

Und hier kommt Gemini ins Spiel. Mit einem gut strukturierten Prompt können wir Gemini anweisen, als hochintelligenter Parser zu agieren, der spezifische Felder extrahiert und sie sogar in JSON formatiert, was perfekt für die nachgelagerte Verarbeitung ist.

Implementierung des Datenextraktors

Hier ist der Trick, sehr explizit über das Ausgabeformat zu sein, das Sie erwarten. Wenn Sie Gemini bitten, JSON zu erzeugen, wird es normalerweise gehorchen, was die Arbeit Ihres Programms erleichtert, die Ausgabe zu analysieren.


import json

def extract_feedback_data(feedback_text: str) -> dict:
 """
 Extrahiert strukturierte Daten (Produkt, Stimmung, Problem) aus dem Kundenfeedbacktext.

 Args:
 feedback_text: Der unstrukturierte Text des Kundenfeedbacks.

 Returns:
 Ein Dictionary mit den extrahierten Daten oder ein leeres Dictionary, wenn die Extraktion fehlschlägt.
 """
 prompt = f"""
 Analysiere das folgende Kundenfeedback und extrahiere die folgenden Informationen:
 - `product_name`: Der Name des genannten Produkts (z. B. "SmartWatch X", "Coffee Maker 3000").
 - `sentiment`: Die allgemeine Stimmung des Feedbacks (z. B. "positiv", "negativ", "neutral").
 - `issue_category`: Eine allgemeine Kategorie für etwaige gemeldete Probleme (z. B. "Fehler", "Benutzerfreundlichkeit", "fehlende Funktionalität", "Lieferproblem"). Wenn es kein Problem gibt, gib "none" zurück.
 - `specific_feature`: Eine bestimmte Funktion oder ein Aspekt, der im Feedback erwähnt wird (z. B. "Batterielaufzeit", "Benutzeroberfläche", "Brühgeschwindigkeit"). Wenn es keine spezifische Funktion gibt, gib "none" zurück.

 Gib die Ausgabe im JSON-Format zurück. Wenn ein Feld nicht bestimmt werden kann, verwende "unknown" oder "none", je nach Fall.

 KUNDENFEEDBACK :
 ---
 {feedback_text}
 ---

 JSON-AUSGABE :
 """
 response = model.generate_content(prompt)
 try:
 # Gemini könnte manchmal Markdown-Codeblöcke einschließen, versuche, diese zu entfernen
 raw_json_string = response.text.strip()
 if raw_json_string.startswith("```json"):
 raw_json_string = raw_json_string[7:]
 if raw_json_string.endswith("```"):
 raw_json_string = raw_json_string[:-3]
 
 return json.loads(raw_json_string)
 except json.JSONDecodeError as e:
 print(f"Fehler beim Dekodieren des JSON: {e}")
 print(f"Rohtext der Antwort: {response.text}")
 return {} # Gib ein leeres Dictionary zurück oder gehe mit dem Fehler angemessen um

# Beispielverwendung:
feedback1 = "Die neue SmartWatch X ist unglaublich! Die Batterielaufzeit ist fantastisch und das Display ist so klar. Ich kann sie nur empfehlen."
data1 = extract_feedback_data(feedback1)
print("Feedback-Daten 1:")
print(json.dumps(data1, indent=2))
print("-" * 30)

feedback2 = "Ich bin wirklich enttäuscht vom Coffee Maker 3000. Die Brühgeschwindigkeit ist viel zu langsam und die Benutzeroberfläche ist schwer zu bedienen."
data2 = extract_feedback_data(feedback2)
print("Feedback-Daten 2:")
print(json.dumps(data2, indent=2))
print("-" * 30)

feedback3 = "Ich habe gerade meine Bestellung für die neuen Kopfhörer erhalten. Alles scheint gut zu sein, die Lieferung war schnell."
data3 = extract_feedback_data(feedback3)
print("Feedback-Daten 3:")
print(json.dumps(data3, indent=2))
print("-" * 30)

Dies ist ein wirklich leistungsstarkes Modell. Indem Sie direkt JSON in den Prompt anfordern, erhalten Sie nicht nur Text; Sie erhalten strukturierte Daten, die Ihre Python-Anwendung sofort nutzen kann. Dies eröffnet Möglichkeiten für das Tagging, Routing und die automatische Analyse unstrukturierter Texte, die mit traditionellen regelbasierten Systemen unglaublich schwierig wären.

Ich habe persönlich diesen Ansatz verwendet, um Support-Tickets zu kategorisieren, Schlüsseldaten aus Nachrichtenartikeln zu extrahieren und sogar um spezifische Zutaten in Rezepttexten zu identifizieren. Es ist ein perfektes Beispiel dafür, wie LLMs als unglaublich flexible und intelligente Parser fungieren können.

Wichtige Punkte für Ihre Gemini SDK-Projekte

Was sollten Sie also aus allem mitnehmen? Es geht nicht nur darum, Code zu kopieren und einzufügen. Es geht um einen Wandel in der Art und Weise, wie Sie über KI-Tools wie Gemini nachdenken.

  1. Prompt Engineering ist Ihre Superkraft:

    Fordern Sie nicht einfach eine Zusammenfassung an. Sagen Sie Gemini, welche Art von Zusammenfassung Sie benötigen. Fordern Sie nicht nur an, Informationen zu extrahieren. Sagen Sie ihm, welche spezifischen Felder Sie möchten und in welcher Form. Je genauer Ihr Prompt ist, desto besser und vorhersehbarer wird die Ausgabe sein.

    • Seien Sie spezifisch: Anstelle von “Fassen Sie das zusammen”, versuchen Sie “Fassen Sie das für einen 5. Klässler in maximal drei Sätzen zusammen.”
    • Definieren Sie das Ausgabenformat: Fordern Sie ausdrücklich JSON, Aufzählungspunkte, eine spezifische Anzahl von Zeichen usw. an.
    • Geben Sie Beispiele (Few-shot-Prompts): Für komplexe Aufgaben kann das Hinzufügen einiger Beispiele für Eingabe-Ausgabe in Ihrem Prompt die Leistung erheblich verbessern. (Wir haben das hier nicht behandelt, aber das ist der nächste Schritt.)
  2. Denken Sie über die Textgenerierung hinaus:

    Gemini ist nicht nur zum Schreiben von Blogartikeln oder Chatbots da. Es ist eine unglaublich fähige Motor für Sprachverständnis. Verwenden Sie es zum:

    • Classification: Ist diese E-Mail Spam? Welches Thema behandelt dieser Artikel?
    • Extraction: Extrahieren Sie Namen, Daten, Entitäten oder spezifische Datenpunkte aus unstrukturiertem Text.
    • Transformation: Schreiben Sie Texte in einem anderen Stil um, übersetzen oder vereinfachen Sie komplexe Sprache.
  3. Antizipieren und Verwalten unvollkommener Ausgaben:

    Selbst mit hervorragenden Prompts können LLMs manchmal vom geforderten Format abweichen. Es ist immer wichtig, Fehlerbehandlung zu integrieren, insbesondere bei der Analyse strukturierter Daten wie JSON. Verwenden Sie try-except-Blöcke und planen Sie Rückfallmechanismen ein.

  4. Iterieren und Experimentieren:

    Prompt Engineering ist sowohl eine Kunst als auch eine Wissenschaft. Erwarten Sie nicht, beim ersten Versuch perfekte Ergebnisse zu erzielen. Experimentieren Sie mit verschiedenen Formulierungen, passen Sie Ihre Anweisungen an und beobachten Sie, wie Gemini reagiert. Führen Sie ein Journal Ihrer Prompts und der entsprechenden Ausgaben.

Das Python SDK Gemini bringt viel Power in Ihre Hände. Wenn Sie kreativ darüber nachdenken, wie Sie Ihre Anfragen formulieren und was Sie das Modell bitten, zu tun, können Sie erstaunlich ausgefeilte Funktionen mit minimalem Aufwand erstellen. Ich ermutige Sie, diese Beispiele zu nehmen und sie an Ihre eigenen Projekte anzupassen. Welche unordentlichen Daten haben Sie, die strukturiert werden könnten? Welcher Inhalt benötigt eine dynamische Zusammenfassung? Die Möglichkeiten sind ziemlich umfangreich.

Das war’s für diesen Moment! Wenn Sie etwas Interessantes mit diesen Ideen erstellen, würde ich gerne darüber hören. Hinterlassen Sie einen Kommentar unten oder finden Sie mich in den sozialen Medien. Viel Spaß beim Programmieren!

Verwandte Artikel

🕒 Published:

🧰
Written by Jake Chen

Software reviewer and AI tool expert. Independently tests and benchmarks AI products. No sponsored reviews — ever.

Learn more →
Browse Topics: AI & Automation | Comparisons | Dev Tools | Infrastructure | Security & Monitoring
Scroll to Top