En este tutorial, construimos un sistema de narración agente totalmente local y sin API utilizando Griptape y un modelo ligero de Hugging Face. Analizamos la creación de un agente con habilidades para el uso de herramientas, la generación de un mundo ficticio, el diseño de personajes y la orquestación de un flujo de trabajo de varias etapas que produce una historia corta coherente. Al dividir la implementación en fragmentos modulares, podemos comprender claramente cada componente a medida que se une en un proceso creativo de un extremo a otro. Consulta los CÓDIGOS COMPLETOS aquí.
Configuramos nuestro entorno instalando Griptape e inicializando un controlador local de Hugging Face. Configuramos una función auxiliar para mostrar los resultados de forma limpia, permitiéndonos seguir cada paso del flujo de trabajo. A medida que construimos las bases, nos aseguramos de que todo se ejecute localmente sin depender de API externas. Consulta los CÓDIGOS COMPLETOS aquí.
Creamos un agente equipado con una herramienta de calculadora y lo probamos con una simple indicación matemática. Observamos cómo el agente delega el cálculo a la herramienta y luego formula una explicación en lenguaje natural. Al ejecutar esto, validamos que nuestra integración de herramientas y controladores locales funcione correctamente. Consulta los CÓDIGOS COMPLETOS aquí.
Construimos la tarea de generación de mundos y construimos dinámicamente tareas de generación de personajes que dependen de la producción del mundo. Definimos una función reutilizable para crear tareas de personajes condicionadas a un contexto compartido. A medida que ensamblamos estos componentes, vemos cómo el flujo de trabajo comienza a tomar forma a través de dependencias jerárquicas. Consulta los CÓDIGOS COMPLETOS aquí.
Rule(“Write in a cinematic, emotionally engaging style.”),
Rule(“Avoid explicit gore or graphic violence.”),
Rule(“Keep the story between 400 and 700 words.”),
]) story_task = PromptTask( input=( “Escribe una historia corta completa usando los siguientes elementos.\n\n” “Mundo:\n{{ parent_outputs[‘world’] }}\n\n” “Personaje 1 (Scotty):\n{{ parent_outputs[‘scotty’] }}\n\n” “Personaje 2 (Annie):\n{{ parent_outputs[‘annie’] }}\n\n” “La historia debe tener un comienzo, un desarrollo y un final claros, con una decisión significativa del personaje cerca del clímax.” ), id=”story”, parent_ids=[“world”, “scotty”, “annie”]driver_driver=controlador_local, conjuntos de reglas=[style_ruleset]) story_workflow = Flujo de trabajo (tareas =[world_task, scotty_task, annie_task, story_task]) topic = “mundo oceánico bloqueado por mareas con ciudades flotantes impulsadas por tormentas” story_workflow.run(topic)
Introducimos reglas estilísticas y creamos la tarea narrativa final que fusiona la construcción del mundo y los personajes en una narrativa coherente. Luego reunimos todas las tareas en un flujo de trabajo y lo ejecutamos con un tema elegido. A través de esto, somos testigos de cómo Griptape encadena múltiples indicaciones en un canal creativo estructurado. Consulta los CÓDIGOS COMPLETOS aquí.
longitud = len(text.split()) puntuación_estructura = min(len(párrafos), 10) return { “word_count”: longitud, “párrafos”: len(párrafos), “estructura_score_0_to_10”: puntuación_estructura, } métricas = resumir_story(story_text) show(“Métricas de la historia”, métricas)
Recuperamos todos los resultados generados y mostramos el mundo, los personajes y la historia final. También calculamos métricas simples para evaluar la estructura y la longitud, lo que nos brinda un resumen analítico rápido. Al concluir, observamos que el flujo de trabajo completo produce resultados mensurables e interpretables.
En conclusión, demostramos con qué facilidad podemos orquestar pasos de razonamiento complejos, interacciones de herramientas y generación creativa utilizando modelos locales dentro del marco de Griptape. Experimentamos cómo las tareas modulares, los conjuntos de reglas y los flujos de trabajo se fusionan en un poderoso sistema agente capaz de producir resultados narrativos estructurados. Al ejecutar todo sin API externas, obtenemos control, reproducibilidad y flexibilidad totales, lo que abre la puerta a experimentos más avanzados en canalizaciones de agentes locales, sistemas de escritura automatizados y orquestación de tareas múltiples.
Consulta los CÓDIGOS COMPLETOS aquí. No dude en consultar nuestra página de GitHub para tutoriales, códigos y cuadernos. Además, no dude en seguirnos en Twitter y no olvide unirse a nuestro SubReddit de más de 100.000 ML y suscribirse a nuestro boletín. ¡Esperar! estas en telegrama? Ahora también puedes unirte a nosotros en Telegram.
Asif Razzaq es el director ejecutivo de Marktechpost Media Inc.. Como emprendedor e ingeniero visionario, Asif está comprometido a aprovechar el potencial de la inteligencia artificial para el bien social. Su esfuerzo más reciente es el lanzamiento de una plataforma de medios de inteligencia artificial, Marktechpost, que se destaca por su cobertura en profundidad del aprendizaje automático y las noticias sobre aprendizaje profundo que es técnicamente sólida y fácilmente comprensible para una amplia audiencia. La plataforma cuenta con más de 2 millones de visitas mensuales, lo que ilustra su popularidad entre el público.