Flujo de Trabajo de IA: Resumen de Artículo y Generación de Preguntas
Resumen
Este flujo de trabajo procesa un texto dado, resumiéndolo usando un modelo de lenguaje grande (LLM) y posteriormente genera preguntas de opción múltiple basadas en el resumen. La salida se presenta tanto en texto resumido como en un formato de chat conversacional, incluyendo el resumen y las preguntas generadas.
Componentes Principales
El flujo utiliza los siguientes componentes:
- Entrada de Texto: Proporciona el texto inicial para procesar.
- Prompt: Crea los prompts para los LLMs.
- Modelo OpenAI: Un LLM que genera texto basado en los prompts proporcionados.
- Salida de Texto: Muestra el texto generado de forma formateada.
- Salida de Chat: Presenta la salida en una interfaz de chat conversacional.
Descripción Detallada de Componentes
Entrada de Texto
- Nombre: Entrada de Texto
- Descripción: Acepta una cadena de texto como entrada.
- Parámetros de Entrada: Ninguno.
- Parámetros de Salida: Texto (Mensaje) – El texto de entrada.
- Configuraciones Clave: Ninguna.
Prompt (x2)
- Nombre: Prompt
- Descripción: Construye prompts para los LLMs. Inserta dinámicamente texto de entrada en una plantilla predefinida.
- Parámetros de Entrada: Documento (Mensaje/Texto) - Texto para incluir en el prompt.
Para el segundo prompt, se usa el Resumen (Mensaje/Texto). - Parámetros de Salida: Mensaje de Prompt (Mensaje) – El prompt construido.
- Configuraciones Clave: Las plantillas del prompt son predefinidas y contienen marcadores para entradas dinámicas.
Modelo OpenAI (x2)
- Nombre: Modelo OpenAI
- Descripción: LLM que procesa prompts y genera texto.
- Parámetros de Entrada: Entrada (Mensaje) – El prompt.
- Parámetros de Salida: Texto (Mensaje) – El texto generado.
- Configuraciones Clave:
model_name
especifica el LLM a usar (p.ej.,gpt-4o-mini
). Parámetros comomax_tokens
ytemperature
ajustan el comportamiento.
Salida de Texto (x2)
- Nombre: Salida de Texto
- Descripción: Muestra el texto generado al usuario.
- Parámetros de Entrada: Texto (Mensaje) – Texto a mostrar.
- Parámetros de Salida: Ninguno.
- Configuraciones Clave: Ninguna.
Salida de Chat (x2)
- Nombre: Salida de Chat
- Descripción: Muestra el texto generado en formato de chat.
- Parámetros de Entrada: Texto (Mensaje) – Texto mostrado como mensaje de chat. Incluye
sender_name
para identificar al remitente (por ejemplo, "Resumen" o "Generador de Preguntas"). - Parámetros de Salida: Ninguno.
- Configuraciones Clave:
sender_name
atribuye el mensaje al componente correspondiente.
Ejecución del Flujo
- El flujo comienza con Entrada de Texto, proporcionando el texto inicial del artículo.
- Este texto se pasa al primer Prompt, que lo formatea para resumen.
- El prompt formateado se envía al primer Modelo OpenAI, que genera el resumen.
- El resumen se muestra a través de Salida de Texto y Salida de Chat.
- El resumen también se pasa al segundo Prompt, creando un prompt para generar preguntas de opción múltiple.
- Este segundo prompt se envía al segundo Modelo OpenAI para generar las preguntas.
- Finalmente, las preguntas generadas se muestran con Salida de Texto y Salida de Chat.
Notas Adicionales
El flujo depende de contar con una clave API de OpenAI y conexión a internet. La calidad y desempeño del resumen y las preguntas generadas dependen del modelo LLM seleccionado, sus parámetros y la calidad del texto de entrada. Puede ser necesario ajustar parámetros como max_tokens
y temperature
para optimizar resultados.
graph TD
%%{init: {'theme': 'mc','layout': 'elk'}}%%
TextInput-tSi6t[<img src="/_astro/type.Dy26vmDy.svg" class="w-8 h-8 max-w-12 object-contain mx-auto" width="20">Text Input]
TextInput-tSi6t@{ shape: rounded}
style TextInput-tSi6t stroke:#a170ff
Prompt-dKU6x[<img src="/_astro/square-terminal.BMOXc-nZ.svg" class="w-8 h-8 max-w-12 object-contain mx-auto" width="20">Prompt]
Prompt-dKU6x@{ shape: rounded}
style Prompt-dKU6x stroke:#a170ff
OpenAIModel-Fv7Az[<img src="/_astro/openAI.CA91HhVI.svg" class="w-8 h-8 max-w-12 object-contain mx-auto" width="20">OpenAI]
OpenAIModel-Fv7Az@{ shape: rounded}
style OpenAIModel-Fv7Az stroke:#a170ff
TextOutput-IulHd[<img src="/_astro/type.Dy26vmDy.svg" class="w-8 h-8 max-w-12 object-contain mx-auto" width="20">Text Output]
TextOutput-IulHd@{ shape: rounded}
style TextOutput-IulHd stroke:#a170ff
ChatOutput-H5PCr[<img src="/_astro/messages-square.BaSDmT6g.svg" class="w-8 h-8 max-w-12 object-contain mx-auto" width="20">Chat Output]
ChatOutput-H5PCr@{ shape: rounded}
style ChatOutput-H5PCr stroke:#a170ff
Prompt-cXKsy[<img src="/_astro/square-terminal.BMOXc-nZ.svg" class="w-8 h-8 max-w-12 object-contain mx-auto" width="20">Prompt]
Prompt-cXKsy@{ shape: rounded}
style Prompt-cXKsy stroke:#a170ff
OpenAIModel-6htE5[<img src="/_astro/openAI.CA91HhVI.svg" class="w-8 h-8 max-w-12 object-contain mx-auto" width="20">OpenAI]
OpenAIModel-6htE5@{ shape: rounded}
style OpenAIModel-6htE5 stroke:#a170ff
TextOutput-9XsZJ[<img src="/_astro/type.Dy26vmDy.svg" class="w-8 h-8 max-w-12 object-contain mx-auto" width="20">Text Output]
TextOutput-9XsZJ@{ shape: rounded}
style TextOutput-9XsZJ stroke:#a170ff
ChatOutput-JiGBJ[<img src="/_astro/messages-square.BaSDmT6g.svg" class="w-8 h-8 max-w-12 object-contain mx-auto" width="20">Chat Output]
ChatOutput-JiGBJ@{ shape: rounded}
style ChatOutput-JiGBJ stroke:#a170ff
TextInput-tSi6t -.- Prompt-dKU6x
linkStyle 0 stroke:#a170ff
Prompt-dKU6x -.- OpenAIModel-Fv7Az
linkStyle 1 stroke:#a170ff
Prompt-dKU6x -.- TextOutput-IulHd
linkStyle 2 stroke:#a170ff
OpenAIModel-Fv7Az -.- ChatOutput-H5PCr
linkStyle 3 stroke:#a170ff
OpenAIModel-Fv7Az -.- Prompt-cXKsy
linkStyle 4 stroke:#a170ff
Prompt-cXKsy -.- OpenAIModel-6htE5
linkStyle 5 stroke:#a170ff
Prompt-cXKsy -.- TextOutput-9XsZJ
linkStyle 6 stroke:#a170ff
OpenAIModel-6htE5 -.- ChatOutput-JiGBJ
linkStyle 7 stroke:#a170ff