apresentar (alguém para um emprego etc.)
Houve um tempo em que criar uma história em quadrinhos era um processo tedioso que exigia escritores, ilustradores e inúmeras horas de esforço. Hoje, a IA serve como uma ferramenta poderosa que capacita os profissionais criativos. Imagine entregar uma história curta para a IA e ver como ela ajuda a transformar essa história em uma história em quadrinhos vívida e visualmente impressionante, mantendo a perspectiva exclusiva do criador. Isso não é mais apenas uma fantasia; é uma realidade que se tornou possível graças aos modelos de IA generativa de ponta. Neste blog, exploraremosCrewAI How LLM Agents Enhance the Creative Process of Comic Book Creation (Como os agentes do LLM aprimoram o processo criativo da criação de histórias em quadrinhos) analisa a estrutura e a implementação que tornam essa mágica possível.
Exemplo: Criando um livro de histórias do Panchatantra
Para demonstrar esse processo, vamos usar uma história curta do Panchatantra, uma coleção de fábulas indianas antigas conhecidas por sua sabedoria e lições de moral. Considere a história do Leão e da Lebre:
Conto: "Era uma vez um leão poderoso chamado Basuraka que corria solto pela selva. Os animais se cansaram de sua tirania e decidiram enviar-lhe uma presa todos os dias. Um dia, foi a vez do esperto coelho, que elaborou um plano para se livrar do leão. Ele atraiu Basuraka para um poço profundo e o convenceu de que outro leão vivia lá. Ao ver seu reflexo na água, Basuraka rugiu de raiva e pulou no poço, para nunca mais voltar."
Usando a estrutura do CrewAI, seguiremos as etapas abaixo:
- 1. Agentes de redação de roteirosRoteiristas: Os roteiristas dividem a história em cenas, por exemplo:
- - Cena 1: Leões vagam pela selva.
- - Cena 2: Os animais decidem entregar uma presa por dia.
- - Cena 3: O coelho planeja enganar o leão.
- - Cena 4: O leão pula no poço.
- 1. Agência de artistas visuaisArtistas visuais gerarão ilustrações para cada cena, representando momentos importantes, como o rugido do leão pela selva, o coelho guiando o leão até o poço e a cena final do leão pulando na água.
- 2. Agente sintetizadorNo final, o compositor combina todas essas cenas e imagens em um livro de histórias coerente, pronto para ser visualizado e compartilhado.
Para obter informações mais detalhadas sobre a história do Panchatantra, você pode consultar recursos externos, como o Panchatantra na Wikipédia ou a coleção de histórias do Panchatantra.
Geração de autoria automatizada com agentes LLM
Os agentes de IA generativa podem ser considerados como uma "equipe" digital que trabalha em conjunto para realizar processos criativos complexos. Ao atribuir tarefas específicas a agentes de IA individuais, o processo de criação de uma história em quadrinhos inteira se torna eficiente e automatizado. Na ilustração abaixo, agentes especializados trabalham juntos:
- 1. roteiristaResponsável por traduzir histórias curtas em cenas detalhadas.
- 2. artista visualResponsável por transformar cada cena em uma obra de arte visual atraente.
- 3. sintetizadoresCompositor: responsável pela fusão de todas as cenas geradas e suas imagens correspondentes em uma história em quadrinhos coerente e completa. O compositor garante que a narrativa flua sem problemas e que o produto final esteja pronto para ser lançado.
A sinergia entre esses agentes automatiza o processo de criação de histórias em quadrinhos, permitindo um fluxo de trabalho eficiente e criativo. A chave está na capacidade de aproveitar os modelos de linguagem generativa e os sistemas de IA de geração de imagens de forma coordenada.
Visão geral da arquitetura
A arquitetura dessa automação é simples, mas eficaz. O processo começa com uma história curta e flui da seguinte forma:
- 1. Entrada de histórias curtasO processo usa narrativas curtas como insumos que servem de base para a história em quadrinhos.
- 2. Agentes de redação de roteirosCenas: O agente divide o conto em cenas discretas, cada uma capturando uma parte importante do enredo. Na ilustração, isso é mostrado como cenas rotuladas como "Cena 1, Cena 2, Cena 3", etc., até que toda a história seja dividida em cenas menores.
- 3. Agência de artistas visuaisO artista visual é responsável por traduzir cada descrição de cena em uma representação visual, ilustrando efetivamente a história em quadrinhos. Os elementos visuais são criados como imagens para representar cenas como o leão no sol, o leão encontrando o coelho etc.
- 4. sintetizadoresPor fim, todas as cenas e suas imagens correspondentes são combinadas por um agente compositor para criar um livro ilustrado completo.
Todo o processo foi projetado para transformar perfeitamente as narrativas em histórias em quadrinhos envolventes que exigem o mínimo de intervenção humana.
Implementado usando a estrutura CrewAI
Para dar vida a essa visão, implementamos a estrutura CrewAI com três agentes trabalhando em harmonia. Abaixo estão as etapas detalhadas do processo de implementação com espaços reservados para trechos de código para ajudá-lo a reproduzir o processo passo a passo:
Definição de agentes e tarefasAgente 1: Usamos a estrutura CrewAI para definir dois agentes - Agente 1 (roteirista) e Agente 2 (artista visual). Ambos os agentes têm funções específicas com tarefas inter-relacionadas para um fluxo de trabalho eficiente.
## 代理 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
Configuração da equipe: Defina um esquema estruturado para que os agentes gerem respostas e modelos de LLLM, como os modelos OpenAI e DaLLE, e vincule os agentes às suas tarefas.
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
Fluxo de trabalho principal: Assegurar transferências adequadas entre os dois agentes. Por exemplo, quando um roteirista conclui uma cena, ela é automaticamente passada para o artista visual, garantindo a continuidade do fluxo de trabalho.
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}")
chegar a um veredicto
O poder da IA generativa está na sua capacidade de aumentar e apoiar o processo criativo, fornecendo aos criadores de conteúdo novas ferramentas para dar vida às suas ideias. O agente CrewAI LLM ajuda a transformar histórias curtas simples em histórias em quadrinhos envolventes, auxiliando os contadores de histórias em todas as etapas da jornada. Ao automatizar tarefas repetitivas, como a decomposição de scripts e a geração visual, a IA permite que artistas e escritores se concentrem mais nos principais elementos criativos, preservando seu estilo artístico exclusivo. Essa implementação demonstra como a IA generativa pode aprimorar o setor criativo, fornecendo uma visão de um futuro em que a criatividade e a tecnologia trabalham juntas sem problemas.