(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 diesen Zauber 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 dann betrachtet 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.
## 代理 scriptwriter: role: > 为儿童短故事编写场景剧本 goal: > 为儿童图画书编写简单、清晰且引人入胜的场景剧本。 backstory: > 你是一个专注于将儿童短故事转化为剧本的剧本编写者,用于表演或动画制作。 llm: llm_model ## 任务 scriptwriting: description: > 你将获得一个关于学习生活重要教训的儿童短故事。该故事需要转化为一本有趣的图画书,以便儿童阅读和参与。你负责将故事分解为 {number_of_scenes} 个独特场景,每个场景聚焦于故事中的特定事件或时刻。每个场景将转化为图像。你必须生成以下信息,遵循指定的pydantic模式: - 故事的合适名称 - 故事的简短摘要 - 故事的简短背景介绍,为读者提供重要的信息。 - 故事中每个场景的详细叙述,至少一到两句话。 - 故事中学到的最终教训。 <short_story> {story_text} </short_story> expected_output: > 输出必须严格遵循pydantic模式。如果不遵循,将会有惩罚。 agent: scriptwriter ## 代理 visualartist: role: > 故事书的视觉插图 goal: > 创建引人入胜的图画书。 backstory: > 创建图画故事书的专家。 llm: llm_model ## 任务 illustration: description: > 你将获得一个关于学习生活重要教训的儿童短故事。该故事将转化为一本有趣的图画书,以便儿童阅读和参与。故事已经分解为独特的场景。 下面是一个场景的描述,该场景的短摘要也在下面给出。 生成一个可以用于文本到图像模型的提示,以生成该场景的图像。将提示发送到提供的工具,以生成符合场景要求的角色和背景的图像。角色应为卡通风格。提示应少于40个字。 <story_summary> {story_summary} <story_summary> <scene_description> {scene_description} </scene_description> expected_output: > 输出必须严格遵循pydantic模式。如果不遵循,将会有惩罚。 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", size="1024x1024", quality="standard", n=1) ## 为单个场景定义一个类 class StoryScene(BaseModel): scene_number: int narration: str ## 为故事场景列表定义一个类 class StoryScenes(BaseModel): story_name: str summary: str background: str lesson: str scenes: List[StoryScene] ## 为单个场景定义一个类 class SceneImage(BaseModel): prompt: str = Field(description = "可用于生成图像的文本到图像模型的提示。", max_length = 50) image_url: str = Field(description = "由工具生成的图像的URL") @CrewBase class StoryCrew(): """故事团队""" agents_config = 'config/story/agents.yaml' tasks_config = 'config/story/tasks.yaml' @llm def llm_model(self): return ChatOpenAI(temperature=0.0, # 设置为0以获得确定性输出 model="gpt-4o-mini", # 使用GPT-4 Turbo模型 max_tokens=8000) @agent def scriptwriter(self) -> Agent: return Agent( config=self.agents_config['scriptwriter'], output_pydantic = StoryScenes, verbose=True ) @task def scriptwriting(self) -> Task: return Task( config=self.tasks_config['scriptwriting'], output_pydantic = StoryScenes, ) @crew def crew(self) -> Crew: """创建故事团队""" script_crew = Crew( agents=self.agents, # 由@agent装饰器自动创建 tasks=self.tasks, # 由@task装饰器自动创建 process=Process.sequential, verbose=True, # process=Process.hierarchical, # 如果你想改用这个,可以参考 https://docs.crewai.com/how-to/Hierarchical/ ) return script_crew @CrewBase class ArtistCrew(): agents_config = 'config/visual/agents.yaml' tasks_config = 'config/visual/tasks.yaml' @llm def llm_model(self): return ChatOpenAI(temperature=0.0, # 设置为0以获得确定性输出 model="gpt-4o-2024-08-06", # 使用GPT-4 Turbo模型 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: """创建图画书团队""" artist_crew = Crew( agents=self.agents, # 由@agent装饰器自动创建 tasks=self.tasks, # 由@task装饰器自动创建 process=Process.sequential, verbose=True, # process=Process.hierarchical, # 如果你想改用这个,可以参考 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'] ) ## 使用 QuestCrew 创建假设或生成问题 inputs = { 'number_of_scenes': int(number_of_scenes), 'story_text': story_text, } scenes_list = StoryCrew().crew().kickoff(inputs=inputs) agentops.end_session("Success") if scenes_list is not None: print(f"Raw result from script writing: {scenes_list.raw}") slist = scenes_list.pydantic story_summary = slist.summary for scene in slist.scenes: print(f"Scene: {scene.narration}") scene_input = [{ "story_summary": story_summary, 'scene_description': scene.narration} for i, scene in enumerate(slist.scenes)] agentops.start_session(tags = ['scene', 'illustration']) ## 运行代理 result_images = ArtistCrew().crew().kickoff_for_each(inputs = scene_input) print("result_images : {result_images.raw}")
zu einem Urteil gelangen
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 Generierung von Bildern 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.