Пример автоматизации создания комиксов с помощью агентов CrewAI
представить (кого-л. на работу и т.д.)
Было время, когда создание комиксов было утомительным процессом, требовавшим от сценаристов, иллюстраторов и бесчисленных часов работы. Сегодня искусственный интеллект служит мощным инструментом, расширяющим возможности творческих профессионалов. Представьте, что вы передаете искусственному интеллекту короткий рассказ и наблюдаете, как он помогает превратить его в яркий, визуально ошеломляющий комикс, сохраняя при этом уникальную точку зрения создателя. Это уже не просто фантазия, это реальность, ставшая возможной благодаря передовым генеративным моделям ИИ. В этом блоге мы рассмотримCrewAI Книга "Как агенты LLM улучшают творческий процесс создания комиксов" посвящена структуре и реализации, которые делают это волшебство возможным.
Пример: создание сборника рассказов по "Панчатантре
Чтобы продемонстрировать этот процесс, давайте воспользуемся коротким рассказом из "Панчатантры" - сборника древнеиндийских басен, известных своей мудростью и моральными уроками. Рассмотрим историю о Льве и Зайце:
Краткое содержание: "Жил-был в джунглях могучий лев по имени Басурака. Животные устали от его тирании и решили каждый день посылать ему добычу. Однажды очередь дошла до умного кролика, который придумал план, как избавиться от льва. Он заманил Басураку в глубокий колодец и убедил его, что там живет другой лев. Увидев свое отражение в воде, Басурака зарычал от злости и прыгнул в колодец, чтобы больше никогда не вернуться".
Используя фреймворк CrewAI, мы выполним следующие шаги:
- 1. Агенты по написанию сценариев: Сценаристы разбивают историю на сцены, например:
- - Сцена 1: Львы бродят по джунглям.
- - Сцена 2: Животные решают доставлять по одной добыче в день.
- - Сцена 3: Кролик планирует обмануть льва.
- - Сцена 4: Лев прыгает в колодец.
- 1. Агентство визуальных художниковВизуальные художники создадут иллюстрации к каждой сцене, изображающие ключевые моменты, такие как рев льва в джунглях, кролик, направляющий льва к колодцу, и финальная сцена прыжка льва в воду.
- 2. Агент синтезатора: В конце концов композитор объединяет все эти сцены и изображения в целостный сборник рассказов, готовый к просмотру и распространению.
Для получения более подробной информации об истории "Панчатантры" можно обратиться к внешним источникам, таким как "Панчатантра" в Википедии или сборник рассказов "Панчатантра".
Автоматизированная генерация авторских текстов с помощью агентов LLM
Генеративные агенты ИИ можно представить как цифровую "команду", работающую вместе для выполнения сложных творческих процессов. Если поручить конкретные задачи отдельным агентам ИИ, процесс создания целого комикса станет эффективным и автоматизированным. На иллюстрации ниже специализированные агенты работают вместе:
- 1. автор сценария: Отвечает за перевод коротких историй в подробные сцены с разбивкой.
- 2. визуальный художник: Отвечает за превращение каждой сцены в убедительное произведение визуального искусства.
- 3. синтезаторы: Отвечает за объединение всех сгенерированных сцен и соответствующих им изображений в целостный и законченный комикс. Композитор следит за тем, чтобы повествование текло плавно, а конечный продукт был готов к выпуску.
Синергия между этими агентами автоматизирует процесс создания комиксов, обеспечивая эффективный и творческий рабочий процесс. Ключевым моментом является возможность согласованного использования генеративных языковых моделей и систем искусственного интеллекта для создания изображений.
Обзор архитектуры
Архитектура этой автоматизации проста, но эффективна. Процесс начинается с короткого рассказа и протекает следующим образом:
- 1. Краткое содержание рассказа: В процессе работы используются короткие рассказы, которые служат основой для создания комикса.
- 2. Агенты по написанию сценариев: Агент разбивает короткий рассказ на отдельные сцены, каждая из которых захватывает важную часть сюжетной линии. На рисунке это показано в виде сцен, обозначенных как "Сцена 1, Сцена 2, Сцена 3" и т. д., пока весь рассказ не будет разбит на более мелкие сцены.
- 3. Агентство визуальных художников: Визуальный художник отвечает за перевод описания каждой сцены в визуальное представление, эффективно иллюстрирующее комикс. Визуальные элементы были созданы в виде изображений, представляющих такие сцены, как лев на солнце, лев, встречающий кролика, и т. д.
- 4. синтезаторы: Наконец, все сцены и соответствующие им изображения объединяются агентом-композитором, чтобы создать законченную книжку с картинками.
Весь процесс разработан таким образом, чтобы плавно превращать повествования в увлекательные комиксы, требующие минимального вмешательства человека.
Реализовано с использованием фреймворка CrewAI
Чтобы воплотить это видение в жизнь, мы реализовали фреймворк CrewAI с тремя агентами, работающими в гармонии. Ниже приведены подробные шаги процесса реализации с указанием фрагментов кода, которые помогут вам воспроизвести процесс шаг за шагом:
Определение агентов и задач: Мы используем фреймворк CrewAI, чтобы определить двух агентов - Агент 1 (сценарист) и Агент 2 (визуальный художник). Оба агента имеют определенные роли с взаимосвязанными задачами для эффективного рабочего процесса.
## 代理 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
Конфигурация команды: Определите структурированную схему для агентов, чтобы генерировать ответы и модели llm, такие как модели OpenAI и DaLLE, и привязать агентов к их задачам.
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
Основной рабочий процесс: Обеспечьте правильную передачу информации между двумя агентами. Например, как только сценарист завершает работу над сценой, она автоматически передается визуальному художнику, обеспечивая непрерывность рабочего процесса.
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}")
вынести вердикт
Сила генеративного ИИ заключается в его способности дополнять и поддерживать творческий процесс, предоставляя создателям контента новые инструменты для воплощения их идей в жизнь. Агент CrewAI LLM помогает превратить простые короткие истории в увлекательные комиксы, помогая авторам на каждом этапе работы. Автоматизируя повторяющиеся задачи, такие как декомпозиция сценария и создание визуального ряда, ИИ позволяет художникам и писателям сосредоточиться на основных творческих элементах, сохраняя свой уникальный художественный стиль. Эта реализация демонстрирует, как генеративный искусственный интеллект может улучшить творческую индустрию, обеспечивая видение будущего, где творчество и технологии работают вместе без проблем.
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...