(jemandem eine Stelle etc.) anbieten
Es gab eine Zeit, in der die Erstellung eines Comicbuchs ein langwieriger Prozess war, der Autoren, Zeichner und unzählige Stunden Arbeit erforderte. Heute dient die KI als leistungsstarkes Werkzeug, das Kreativprofis in die Lage versetzt. Stellen Sie sich vor, Sie geben eine Kurzgeschichte an die KI und beobachten, wie diese die Geschichte in einen lebendigen, visuell beeindruckenden Comic verwandelt - und dabei die einzigartige Perspektive des Schöpfers beibehält. Dies ist nicht länger nur eine Fantasie, sondern Realität, die durch modernste generative KI-Modelle ermöglicht wird. In diesem Blog werden wir folgende Themen behandelnCrewAI How LLM Agents Enhance the Creative Process of Comic Book Creation" (Wie LLM-Agenten den kreativen Prozess der Comic-Erstellung verbessern) befasst sich mit der Struktur und Umsetzung, die diese Magie möglich macht.
Beispiel: Erstellen eines Geschichtenbuchs aus dem Panchatantra
Um diesen Prozess zu veranschaulichen, nehmen wir eine kurze Geschichte aus dem Panchatantra, einer Sammlung alter indischer Fabeln, die für ihre Weisheit und moralischen Lehren bekannt sind. Nehmen wir die Geschichte vom Löwen und dem Hasen:
Kurzgeschichte: "Es war einmal ein mächtiger Löwe namens Basuraka, der im Dschungel Amok lief. Die Tiere hatten genug von seiner Tyrannei und beschlossen, ihm jeden Tag eine Beute zu schicken. Eines Tages war das schlaue Kaninchen an der Reihe, das sich einen Plan ausdachte, um den Löwen loszuwerden. Er lockte Basuraka zu einem tiefen Brunnen und überzeugte ihn, dass dort ein anderer Löwe lebte. Als er sein Spiegelbild im Wasser sah, brüllte Basuraka vor Wut und sprang in den Brunnen, um nie mehr zurückzukehren."
Unter Verwendung des CrewAI-Frameworks werden wir die folgenden Schritte durchführen:
- 1. Agenten für DrehbuchgestaltungDrehbuchautoren unterteilen die Geschichte zum Beispiel in Szenen:
- - Szene 1: Löwen durchstreifen den Dschungel.
- - Szene 2: Die Tiere beschließen, jeden Tag eine Beute abzuliefern.
- - Szene 3: Das Kaninchen plant, den Löwen auszutricksen.
- - Szene 4: Der Löwe springt in den Brunnen.
- 1. Agentur für visuelle KünstlerVisuelle Künstler werden für jede Szene Illustrationen anfertigen, die Schlüsselmomente darstellen, z. B. den Löwen, der durch den Dschungel brüllt, das Kaninchen, das den Löwen zum Brunnen führt, und die Schlussszene, in der der Löwe ins Wasser springt.
- 2. Synthesizer-AgentAm Ende fügt der Compositor all diese Szenen und Bilder zu einem kohärenten Bilderbuch zusammen, das angesehen und weitergegeben werden kann.
Ausführlichere Informationen über die Geschichte des Panchatantra finden Sie in externen Quellen wie Panchatantra auf Wikipedia oder in der Panchatantra-Geschichtensammlung.
Automatisierte Autorengenerierung mit LLM-Agenten
Generative KI-Agenten kann man sich als ein digitales "Team" vorstellen, das zusammenarbeitet, um komplexe kreative Prozesse durchzuführen. Durch die Zuweisung spezifischer Aufgaben an einzelne KI-Agenten wird der Prozess der Erstellung eines ganzen Comicbuchs effizient und automatisiert. In der Abbildung unten arbeiten spezialisierte Agenten zusammen:
- 1. DrehbuchautorVerantwortlich für die Umsetzung von Kurzgeschichten in detaillierte Pannenszenen.
- 2. bildende KünstlerinVerantwortlich für die Umwandlung jeder Szene in ein überzeugendes visuelles Kunstwerk.
- 3. SynthesizerCompositor: Verantwortlich für die Zusammenführung aller generierten Szenen und der dazugehörigen Bilder zu einem kohärenten und vollständigen Comic. Der Compositor sorgt dafür, dass die Erzählung reibungslos abläuft und das Endprodukt zur Veröffentlichung bereit ist.
Die Synergie zwischen diesen Agenten automatisiert den Prozess der Comic-Erstellung und ermöglicht einen effizienten und kreativen Arbeitsablauf. Der Schlüssel liegt in der Fähigkeit, generative Sprachmodelle und KI-Systeme zur Bilderzeugung auf koordinierte Weise zu nutzen.
Überblick über die Architektur
Die Architektur dieser Automatisierung ist einfach, aber effektiv. Der Prozess beginnt mit einer kurzen Geschichte und läuft wie folgt ab:
- 1. Kurzer Beitrag zur GeschichteDer Prozess verwendet kurze Erzählungen als Input, die als Grundlage für den Comic dienen.
- 2. Agenten für DrehbuchgestaltungDer Agent unterteilt die Kurzgeschichte in einzelne Szenen, die jeweils einen wichtigen Teil der Handlung abdecken. In der Abbildung wird dies als Szenen mit der Bezeichnung "Szene 1, Szene 2, Szene 3" usw. dargestellt, bis die gesamte Geschichte in kleinere Szenen unterteilt ist.
- 3. Agentur für visuelle KünstlerDer visuelle Künstler ist dafür verantwortlich, jede Szenenbeschreibung in eine visuelle Darstellung zu übersetzen, die den Comic effektiv illustriert. Visuelle Elemente wurden als Bilder erstellt, um Szenen wie den Löwen in der Sonne, die Begegnung des Löwen mit dem Kaninchen usw. darzustellen.
- 4. SynthesizerSchließlich werden alle Szenen und die dazugehörigen Bilder von einem Compositor-Agenten zu einem vollständigen Bilderbuch zusammengefügt.
Der gesamte Prozess ist so konzipiert, dass die Erzählungen nahtlos in ansprechende Comics umgewandelt werden, die nur minimale menschliche Eingriffe erfordern.
Implementiert unter Verwendung des CrewAI-Frameworks
Um diese Vision zum Leben zu erwecken, haben wir das CrewAI-Framework mit drei harmonisch zusammenarbeitenden Agenten implementiert. Im Folgenden finden Sie die detaillierten Schritte des Implementierungsprozesses mit Platzhaltern für Codeschnipsel, damit Sie den Prozess Schritt für Schritt nachvollziehen können:
Definition von Agenten und AufgabenWir verwenden das CrewAI-Framework, um zwei Agenten zu definieren - Agent 1 (Drehbuchautor) und Agent 2 (visueller Künstler). Beide Agenten haben spezifische Rollen mit miteinander verknüpften Aufgaben für einen effizienten Arbeitsablauf.
## Agent Drehbuchautor. Rolle: > Verfassen von Szenen für Kurzgeschichten für Kinder Ziel: > Schreiben einfacher, klarer und ansprechender Szenendrehbücher für Bilderbücher für Kinder. Hintergrundgeschichte: > Sie sind ein Drehbuchautor, der sich darauf spezialisiert hat, Kurzgeschichten für Kinder in Drehbücher für Aufführungen oder Animationen umzusetzen. llm: llm_model ## Aufgaben Drehbuchschreiben. Beschreibung: > Sie erhalten eine kurze Kindergeschichte, in der es darum geht, wichtige Lektionen über das Leben zu lernen. Die Geschichte muss in ein lustiges Bilderbuch übersetzt werden, das Kinder lesen und mit dem sie sich beschäftigen können. Sie sind verantwortlich für die Unterteilung der Geschichte in {Anzahl_der_Szenen} einzelne Szenen, die sich jeweils auf ein bestimmtes Ereignis oder einen bestimmten Moment in der Geschichte konzentrieren. Jede Szene wird in ein Bild übersetzt. Sie müssen die folgenden Informationen nach dem vorgegebenen pydantischen Muster generieren: - Ein passender Name für die Geschichte - Eine kurze Zusammenfassung der Geschichte - Eine kurze Hintergrundgeschichte der Geschichte, die dem Leser wichtige Informationen liefert. - Eine ausführliche Schilderung jeder Szene der Geschichte, mindestens ein oder zwei Sätze. - Die letzte Lektion, die aus der Geschichte gelernt wird. <kurz_geschichten {story_text} Die Ausgabe muss sich streng an das pydantische Muster halten. Ist dies nicht der Fall, gibt es eine Strafe. agent: scriptwriter ## agent Grafiker. Rolle: > Visuelle Illustration für Märchenbuch Ziel: > Fesselnde Bilderbücher erstellen. Vorgeschichte: > Experte für die Erstellung von Bilderbüchern. llm: llm_model ## Aufgabe Illustration. Beschreibung: > Sie erhalten eine kurze Kindergeschichte, in der es darum geht, wichtige Lektionen über das Leben zu lernen. Die Geschichte wird in ein lustiges Bilderbuch umgewandelt, das die Kinder lesen und mit dem sie sich beschäftigen können. Die Geschichte wurde in einzelne Szenen aufgeteilt. Im Folgenden finden Sie eine Beschreibung einer Szene und eine kurze Zusammenfassung dieser Szene. Erstellen Sie eine Eingabeaufforderung, die in einem Text-Bild-Modell verwendet werden kann, um ein Bild dieser Szene zu erzeugen. Senden Sie die Aufforderung an das bereitgestellte Tool, um Bilder von Figuren und Hintergründen zu erzeugen, die den Anforderungen der Szene entsprechen. Die Figuren sollten im Zeichentrickstil sein. Der Prompt sollte weniger als 40 Zeichen lang sein. <story_summary {story_summary} <story_summary {scene_description} Die Ausgabe muss streng nach dem pydantischen Muster erfolgen. Bei Nichteinhaltung gibt es eine Strafe. agent: visualartist
Team-Konfiguration: Definieren Sie ein strukturiertes Schema für Agenten, um Antworten und llm-Modelle, wie OpenAI- und DaLLE-Modelle, zu generieren und Agenten an ihre Aufgaben zu binden.
dalle_tool = DallETool(model="dall-e-3", model="dall-e-3", size="1024x1024", quality="standard", n=1) n=1) ## Definieren Sie eine Klasse für eine einzelne Szene class StoryScene(BaseModel). szene_nummer: int Erzählung: str ## Definieren Sie eine Klasse für eine Liste von StoryScenes. class StoryScenes(BaseModel). story_name: str Zusammenfassung: str story_name: str zusammenfassung: str story_name: str zusammenfassung: str hintergrund: str scenes: Liste[StoryScene] ## Definieren Sie eine Klasse für eine einzelne Szene class SceneImage(BaseModel). prompt: str = Field(description = "Ein Text-zu-Bild-Modell-Prompt, der verwendet werden kann, um ein Bild zu erzeugen." , max_length = 50) image_url: str = Field(description = "URL des vom Tool erzeugten Bildes.") @CrewBase class StoryCrew(). """StoryCrew"""" agents_config = 'config/story/agents.yaml' aufgaben_config = 'config/story/aufgaben.yaml' @llm def llm_model(self). return ChatOpenAI(Temperatur=0.0, # auf 0 gesetzt für deterministische Ausgabe) model="gpt-4o-mini", # verwendet GPT-4 Turbo Modell max_tokens=8000) @agent def scriptwriter(self) -> Agent. return Agent( config=self.agents_config['scriptwriter'], output_pydantic = StoryScenes, verbose=True ) @Aufgabe def scriptwriting(self) -> Aufgabe. return Task( config=self.tasks_config['scriptwriting'], output_pydantic = StoryScenes, ) @crew def crew(self) -> Crew. """Story-Crew erstellen"""" script_crew = Crew( agents=self.agents, # Automatisch erstellt von @agent decorator tasks=self.tasks, # Automatisch erstellt von @task decorator process=Process.sequential, verbose=True, # automatisch erstellt von @task decorator process=Prozess.sequentiell, verbose=True, # process=Prozess. # process=Process.hierarchical, # Wenn Sie dies stattdessen verwenden wollen, siehe https://docs.crewai.com/how-to/Hierarchical/ ) return script_crew @CrewBase class ArtistCrew(). agents_config = 'config/visual/agents.yaml' aufgaben_konfig = 'config/visual/aufgaben.yaml' @llm def llm_model(self). return ChatOpenAI(Temperatur=0.0, # auf 0 gesetzt für deterministische Ausgabe) model="gpt-4o-2024-08-06", # mit GPT-4 Turbo-Modell max_tokens=8000) @agent def visualartist(self) -> Agent. return Agent( config=self.agents_config['visualartist'], tools=[dalle_tool], verbose=True ) @task def illustration(self) -> Task. return Task( config=self.tasks_config['illustration'], output_pydantic = SceneImage, output_file='report.md' ) @crew def crew(self) -> Crew. """Erstellen einer Bilderbuch-Crew"""" artist_crew = Crew( agents=self.agents, # Automatisch erstellt von @agent decorator tasks=self.tasks, # Automatisch erstellt von @task decorator process=Process.sequential, verbose=True, # automatisch erstellt von @task decorator process=Prozess.sequentiell, verbose=True, # process=Prozess. # process=Process.hierarchical, # Wenn Sie dies stattdessen verwenden wollen, siehe https://docs.crewai.com/how-to/Hierarchical/ ) return artist_crew
Hauptarbeitsablauf: Sorgen Sie für ordnungsgemäße Übergaben zwischen den beiden Akteuren. Wenn beispielsweise ein Drehbuchautor eine Szene fertigstellt, wird sie automatisch an den Visual Artist weitergegeben, um die Kontinuität des Arbeitsablaufs zu gewährleisten.
agentops.start_session( tags = ['story', 'scripts'] ) ## Mit QuestCrew eine Hypothese erstellen oder eine Frage generieren inputs = { Anzahl_der_Szenen': int(Anzahl_der_Szenen), story_text': story_text, } scenes_list = StoryCrew().crew().kickoff(inputs=inputs) agentops.end_session("Erfolg") if scenes_list is not None: print(f "Rohergebnis vom Skript: {scscore_list="Raw") print(f "Rohergebnis vom Schreiben des Skripts: {scenes_list.raw}") slist = szenen_liste.pydantic story_summary = slist.summary for scene in slist.scenes: print(f "Szene: {{scenes_list.raw}") print(f "Szene: {Szene.Erzählung}") scene_input = [{ "story_summary": story_summary, 'scene_description': scene.narration} for i, scene in enumerate(slist.scenes)] agentops.start_session(tags = ['scene', 'illustration']) ## Den Agenten ausführen result_images = ArtistCrew().crew().kickoff_for_each(inputs = scene_input) print("result_images : {result_images.raw}")
ein Urteil fällen
Die Stärke der generativen KI liegt in ihrer Fähigkeit, den kreativen Prozess zu erweitern und zu unterstützen, indem sie den Autoren neue Werkzeuge an die Hand gibt, um ihre Ideen zum Leben zu erwecken: Der CrewAI LLM-Agent hilft dabei, einfache Kurzgeschichten in ansprechende Comic-Bilderbücher zu verwandeln und unterstützt die Geschichtenerzähler in jeder Phase des Prozesses. Durch die Automatisierung sich wiederholender Aufgaben wie die Zerlegung von Skripten und die visuelle Generierung ermöglicht es die KI den Künstlern und Autoren, sich mehr auf die kreativen Kernelemente zu konzentrieren und ihren einzigartigen künstlerischen Stil zu bewahren. Diese Implementierung zeigt, wie generative KI die Kreativbranche verbessern kann, und bietet eine Vision für eine Zukunft, in der Kreativität und Technologie nahtlos zusammenarbeiten.