En un mundo donde la presencia digital es crucial para el éxito de cualquier negocio o emprendimiento, la generación de contenido relevante para landing pages se ha convertido en una tarea fundamental.
Un contenido efectivo puede ser la diferencia entre atraer a un cliente potencial o perderlo ante la competencia. En este contexto, el desarrollo de un pipeline que utiliza la inteligencia artificial, específicamente GPT-3.5, para generar contenido a partir de instrucciones dadas en un archivo PDF representa un avance significativo en la producción de contenido digital automatizado y específico.
Pipeline Automatizado: Innovación en la Creación de Contenido
El pipeline en cuestión fusiona dos tecnologías poderosas: el procesamiento de documentos PDF y la generación de texto mediante modelos de IA avanzados.
La primera etapa del pipeline utiliza la biblioteca pypdf para leer y extraer texto de un archivo PDF. Este archivo no es un mero contenido textual; actúa como un conjunto de instrucciones que guía a la IA en la creación de contenido específico y relevante para una landing page.
Código para extraer la info de un pdf:
from pypdf import PdfReader
reader = PdfReader("pdf_files/content-landing-page.pdf")
def extract_text_from_pdf(file_path):
# Extraction logic…
La función extract_text_from_pdf se define para extraer el texto del documento. Este texto contiene información clave, que puede incluir estructuras de contenido, palabras clave, objetivos demográficos, tono de comunicación y otros parámetros esenciales para la creación de un contenido personalizado, incluso la investigación propia sobre el buyer persona.
GPT4 preview: La Inteligencia Artificial al Servicio del Copywriting
La siguiente etapa trae a la escena a GPT. Con las instrucciones ya extraídas del PDF, el modelo de OpenAI es alimentado con los detalles necesarios para producir un texto específicamente adaptado a los requisitos del cliente.
Algunas consideraciones: al momento de escribir este articulo el modelo que más extenso es para generar el contenido a partir de un único prompt(y no con un sistema iterativo como ya vimos en otro artículo) es gpt-3.5-turbo-16k-0613. PERO es interesante recurrir a gpt-4-1106-preview cuando el archivo PDF es extenso y contiene mucha info que el modelo debe considerar debido a su gran ventana de contexto(128,000 tokens).
Para este procedimiento vamos a llamar a las claves API de GPT actuales:
import os
from openai import OpenAI
# Cargar las variables de entorno desde el archivo .env
from dotenv import load_dotenv, find_dotenv
_ = load_dotenv(find_dotenv())
client = OpenAI(
# This is the default and can be omitted
api_key = os.getenv("OPENAI_API_KEY"),
)
En este caso de uso he definido una estructura dentro de mi documento PDF para las landing page de una universidad en línea. El prompt solicita crear los contenidos para cada sección, por ejemplo:
Sección 1: longitud (60 palabras)
Introducción
Sección 2: (150 palabras)
<H2>¿Qué aprenderás en las carreras de ‘X’?</H2>
Luego llamamos al modelo con el prompt correspondiente, donde le pido reemplazar el valor de ´X´ por el valor de la variable {keyword} y enfocar el contenido en ella, en mi caso ese valor será el nombre de cada carrera y se define en el código de la siguiente manera:
keyword = "Ingeniería"
def generate_content_gpt35(pdf_text, model="gpt-3.5-turbo-16k-0613", max_tokens=15000, temperature=0):
gpt_response = client.chat.completions.create(
model=model,
messages=[
{"role": "system", "content": "Simulate an exceptionally talented SEO and Search Marketing expert. Given the following instructions, think step by step and produce the best possible output you can. Target: sales in online university training. Tone: persuasive. Target Audience: Ecuador. Language: spanish. Output Codification: UTF-8."},
{"role": "user", "content": f"keeping in mind the data being provided in our content_template: {pdf_text}. Respect the structure given in the content_template and the extension indicated in the document for each section. Use the keywords provided in the document in a coherent and semantic way related to the career indicated in each case. Replace the values of 'X' in the content by the value of each race. Current race: {keyword}. Create the landing page copy dedicated to promote the most important university careers. The articles must have a semantic coherence related to the information provided. Do not include the content_template content in the output, just use it as a guide to generate the content of each section."}],
max_tokens=max_tokens,
n=1,
stop=None,
temperature=temperature,
)
response = gpt_response.choices[0].message.content
# Split response and filter out empty lines
content_lines = [line.strip() for line in response.split('\n') if line.strip()]
# Combine the lines into a single string with proper formatting
structured_content = '\n\n'.join(content_lines)
return structured_content
content = generate_content_gpt35(pdf_text)
print(content)
De este modo basta con cambiar la keyword por el nombre de cada carrera para conseguir todo el texto necesario para mis landing pages.
Si bien se podría pensar que un sistema así se limite al ámbito educativo, sus aplicaciones son tan variadas como las industrias mismas. Desde el comercio electrónico hasta los servicios profesionales, cualquier negocio puede aprovechar esta tecnología para crear landing pages que convierten.
La relación entre el modelo lingüístico y las instrucciones es donde radica la magia del pipeline. GPT-3.5 se convierte en un copywriter virtual que, comprendiendo las instrucciones proporcionadas, genera contenido de alta calidad y optimizado para SEO, adecuado para cualquier industria.
La automatización avanzada en la generación de contenido es una frontera que apenas estamos empezando a explorar y, con herramientas como este pipeline, el límite está en nuestra imaginación.
A medida que avanza la inteligencia artificial y las capacidades de comprensión y creación de texto de GPT, la pregunta ya no es si la IA puede ayudarnos a crear contenido mejor y más rápido, sino cómo podemos aplicar estas tecnologías para transformar y enriquecer la interacción digital en todas sus formas.