Login

Eine leichtgewichtige Python-Bibliothek zum Erstellen modularer, asynchroner und kombinierbarer KI-Verarbeitungspipelines, die eine effiziente parallele Inhaltsverarbeitung unterstützt.

Apache-2.0Python 1.4kgoogle-geminigenai-processors Last Updated: 2025-07-14

GenAI Processors: Detaillierte Projektbeschreibung

Projektübersicht

GenAI Processors ist eine leichtgewichtige Python-Bibliothek zum Aufbau modularer, asynchroner und komponierbarer KI-Verarbeitungspipelines, die speziell für generative KI-Anwendungen entwickelt wurden. Dieses von Google eingeführte Projekt zielt darauf ab, den Entwicklungsprozess komplexer KI-Anwendungen zu vereinfachen, insbesondere solcher, die multimodale Eingaben verarbeiten und Echtzeit-Antworten erfordern.

Kernkonzepte

Processor (Prozessor)

Im Kern von GenAI Processors steht das Konzept des Processors: ein grundlegender Baustein, der eine bestimmte Arbeitseinheit kapselt. Er empfängt einen Eingabestream, führt Operationen aus und gibt einen Ergebnisstream aus. Jeder Processor verfügt über eine einfache, einheitliche API:

# Jede Klasse, die von processor.Processor erbt und diese Funktion implementiert, ist ein Prozessor
async def call(
    content: AsyncIterable[ProcessorPart]
) -> AsyncIterable[ProcessorPartTypes]

ProcessorPart (Prozessor-Teil)

ProcessorPart ist ein Wrapper um genai.types.Part mit umfangreichen Metadaten wie MIME-Typ, Rolle und benutzerdefinierten Attributen. Es werden verschiedene Inhaltstypen (Text, Bild, Audio, benutzerdefiniertes JSON) unterstützt.

Hauptmerkmale

1. Modulares Design

  • Zerlegt komplexe Aufgaben in wiederverwendbare Processor- und PartProcessor-Einheiten
  • Kann einfach verknüpft (+) oder parallelisiert (//) werden, um komplexe Datenflüsse und Agentenverhalten zu erstellen

2. Integration mit der GenAI API

  • Enthält sofort einsatzbereite Prozessoren, wie GenaiModel für rundenbasierte API-Aufrufe
  • Unterstützt LiveProcessor für Echtzeit-Stream-Interaktionen

3. Erweiterbarkeit

  • Erstellung benutzerdefinierter Prozessoren durch Vererbung von Basisklassen oder Verwendung einfacher Funktions-Dekoratoren
  • Unterstützung für von der Community beigesteuerte Prozessor-Erweiterungen

4. Asynchron und Parallel

  • Basiert auf Pythons bekanntem asyncio-Framework
  • Koordiniert parallele Aufgaben (einschließlich Netzwerk-I/O und Kommunikation mit rechenintensiven Sub-Threads)

5. Stream-Management

  • Bietet Dienstprogramme zum Aufteilen, Verbinden und Zusammenführen von ProcessorPart-Asynchron-Streams
  • Unterstützt Streaming zur Reduzierung von Latenz und der Zeit bis zum ersten Token (TTFT)

Installationsanforderungen

Die Bibliothek erfordert Python 3.10+ Version.

Installationsbefehl:

pip install genai-processors

Anwendungsbeispiel

Grundlegende Verwendung

from genai_processors import content_api
from genai_processors import streams

# Erstellen eines Eingabestreams (Strings werden automatisch in Parts umgewandelt)
input_parts = ["Hello", content_api.ProcessorPart("World")]
input_stream = streams.stream_content(input_parts)

# Anwenden des Prozessors auf den Part-Stream und Iterieren der Ergebnisse
async for part in simple_text_processor(input_stream):
    print(part.text)

Lernressourcen

Das Projekt bietet eine Reihe von Colab-Notebooks, um Benutzern den Einstieg in GenAI Processors zu erleichtern (empfohlene Reihenfolge):

  1. Content API Colab - Erklärt die Grundlagen von ProcessorPart, ProcessorContent und deren Erstellung
  2. Processor Intro Colab - Einführung in die Kernkonzepte von GenAI Processors
  3. Create Your Own Processor - Eine typische Schritt-für-Schritt-Anleitung zum Erstellen eines Processor oder PartProcessor
  4. Work with the Live API - Beispiel für die Verwendung der LiveProcessor-Klasse zum Erstellen von Echtzeit-Prozessoren aus der Gemini Live API

Praktische Anwendungsbeispiele

1. Echtzeit-Live-Beispiel

examples/realtime_simple_cli.py - Ein Live-Agent mit Audio-Eingabe und Audio-Ausgabe, der Google Search als Tool integriert. Dies ist eine clientseitige Implementierung eines Live-Prozessors, die die Streaming- und Orchestrierungsfähigkeiten von GenAI Processors demonstriert.

2. Forschungsagent-Beispiel

examples/research/README.md - Ein mit Processors aufgebauter Forschungsagent, der 3 Sub-Prozessoren, Kettenverarbeitung, die Erstellung von ProcessorParts und weitere Funktionen umfasst.

3. Echtzeit-Kommentar-Beispiel

examples/live/README.md - Ein Echtzeit-Kommentar-Agent, der die Gemini Live API verwendet und aus zwei Agenten besteht: einem zur Ereigniserkennung und einem zur Gesprächsverwaltung.

Projektstruktur

Core-Verzeichnis

Das Verzeichnis core/ enthält eine Reihe grundlegender Prozessoren, die in Ihren eigenen Anwendungen verwendet werden können. Es umfasst die meisten gängigen Bausteine, die für Echtzeit-Anwendungen erforderlich sind, und wird sich im Laufe der Zeit weiterentwickeln, um weitere Kernkomponenten aufzunehmen.

Contrib-Verzeichnis

Das Verzeichnis contrib/ enthält von der Community beigesteuerte Prozessor-Erweiterungen, um die integrierte Prozessorsammlung zu erweitern.

Technische Vorteile

1. Verarbeitung mit geringer Latenz

Selbst bei Nicht-Streaming-Anwendungsfällen kann die sofortige Verarbeitung, sobald Daten verfügbar sind, die Latenz und die Zeit bis zum ersten Token (TTFT) erheblich reduzieren, was für eine gute Benutzererfahrung entscheidend ist.

2. Entwicklung reaktionsfähiger Anwendungen

Während viele LLM-APIs synchronen, vereinfachten Schnittstellen den Vorzug geben, bietet GenAI Processors durch die Nutzung nativer Python-Funktionen eine Methode zum Schreiben reaktionsfähiger Anwendungen, ohne den Code zu verkomplizieren.

3. Parallele Verarbeitungsfähigkeit

Die Beispiele für Reiseplaner und Forschungsagenten zeigen, wie rundenbasierte Agenten die parallelen Funktionen von GenAI Processors nutzen können, um die Reaktionsfähigkeit zu verbessern.

Zusammenfassung

GenAI Processors bietet Entwicklern ein leistungsstarkes und flexibles Framework zum Aufbau komplexer generativer KI-Anwendungen. Sein modulares Design, die asynchrone Verarbeitungsfähigkeit und die tiefe Integration mit Google AI-Diensten machen es zur idealen Wahl für die Entwicklung moderner KI-Anwendungen. Ob es um den Aufbau von Echtzeit-Dialogsystemen, multimodalen Verarbeitungspipelines oder komplexen KI-Agenten geht, GenAI Processors bietet die notwendigen Werkzeuge und Abstraktionsschichten, um den Entwicklungsprozess zu vereinfachen.

Star History Chart