Definiendo la Funcionalidad: ¿Qué Hará la Extensión?
El primer paso para construir cualquier extensión es definir claramente su funcionalidad. En este caso, crearemos una extensión que resuma los vídeos de YouTube utilizando la API de OpenAI. La extensión permitirá a los usuarios obtener rápidamente una sinopsis concisa del contenido del vídeo sin tener que verlo completo. Para Ello, la extensión deberá extraer o parsear la transcripción de YouTube, enviar la transcripción a OpenAI y mostrar el resumen de los vídeos.
Para aquellos que no estén familiarizados, la API de OpenAI es un servicio que nos permite aprovechar modelos de lenguaje grandes para completar algunas tareas interesantes como resumir texto, generar entrevistas preguntas y extraer ideas de informes.
- API de Youtube: La API de YouTube permite la automatización del proceso de descarga de subtítulos y la interacción con el contenido de la plataforma. No todos los archivos de vídeo tienen el mismo formato, por lo que, cuando esta extensión se usa correctamente, la API de YouTube estandariza el contenido, independientemente del vídeo que se esté viendo.
- Acceso a los archivos de código fuente: Obtener inspiración de código existente en plataformas como GitHub puede acelerar el proceso de desarrollo. Esta práctica nos da acceso a diseños, patrones de diseño y solución de problemas. Siempre se recomienda usar las funciones de código de fuentes abiertas disponibles para optimizar la funcionalidad de la extensión.
Preparación del Entorno de Desarrollo en Cursor
Antes de empezar a codificar, asegúrate de tener Cursor AI instalado y configurado correctamente. También necesitarás una cuenta de OpenAI y una clave API para acceder a sus servicios. Una vez que tengas todo listo, crea un nuevo proyecto en Cursor y selecciona un directorio para tu extensión. Asegúrate de que los directorios se nombran de manera descriptiva para facilitar el mantenimiento futuro del código. El uso de diferentes tipos de directorios también puede ayudar a estructurar y localizar problemas mucho más rápido.
Además, usar etiquetas de tipo y sintaxis puede agilizar el proceso de compilación, para no tener que resolver problemas relacionados a tipografía en Javascript.
Creación de un Archivo de Manifiesto Básico con Cursor AI
El archivo manifest.json
es esencial para cualquier extensión de Chrome. Define los metadatos de la extensión, los permisos y las secuencias de comandos que se ejecutarán.
Utiliza Cursor AI para generar un archivo de manifiesto básico que incluya la información esencial, como el nombre de la extensión, la descripción, la versión y los permisos necesarios para acceder a la API de YouTube y a la API de OpenAI.
{
"manifest_version": 3,
"name": "YouTube Transcript Summarizer",
"version": "1.0",
"description": "Summarize YouTube videos using OpenAI",
"permissions": [
"storage",
"scripting",
"activeTab",
"https://www.youtube.com/*",
"https://api.openai.com/*"
],
"action": {
"default_popup": "popup.html"
},
"background": {
"service_worker": "background.js"
},
"content_scripts": [
{
"matches": ["https://www.youtube.com/*"],
"js": ["contentScript.js"]
}
]
}
Extracción de la Transcripción del Video con Cursor AI
Para resumir el vídeo, primero debemos extraer su transcripción. Esto se puede hacer utilizando la API de YouTube o parseando la página web del vídeo.
Utiliza Cursor AI para escribir una función que extraiga la transcripción y la guarde como una cadena de texto. Esta función deberá manejar diferentes formatos de transcripción y extraer el texto relevante de forma fiable. Es muy importante mantener el código modular y fácil de mantener.
Consideraciones importantes al acceder a los archivos de la API de Youtube:
- Estructura de la documentación: La documentación de Youtube es compleja y tiene una estructura jerárquica, por lo que es importante estructurar los datos en una base de datos o de lo contrario habrá errores.
- Transcribir el tamaño de los videos: Hay muchos videos en la API de Youtube que son de un tamaño largo, lo que puede agregar mucha presión a la extensión o a los archivos de caché.
- Los videos deben ser procesados en JavaScript: La capacidad de Javascript para parsear videos debe tenerse en cuenta para asegurar el funcionamiento de la extensión.
Generación del Resumen con OpenAI y Cursor AI
Una vez que tengas la transcripción, el siguiente paso es generar un resumen utilizando la API de OpenAI. Utiliza Cursor AI para crear una función que envíe la transcripción a OpenAI y reciba un resumen como respuesta. Esta función deberá manejar el proceso de autenticación, la construcción del Prompt y el parseo de la respuesta.
import openai
openai.api_key = "YOUR_OPENAI_API_KEY"
def summarize_text(text):
response = openai.Completion.create(
engine="text-davinci-003",
prompt=text,
max_tokens=150
)
return response.choices[0].text.strip()
Recuerda reemplazar YOUR_OPENAI_API_KEY
con tu clave API real.
- Generar un resumen con la función
:
const summary = await chrome.storage.local.get(["OPENAI_API_KEY"]).then((result) => {
openai.api_key = result.OPENAI_API_KEY;
resolve(summarize_text(transcript));
});
Creación de la Interfaz de Usuario con Cursor AI
Ahora, necesitas crear una interfaz de usuario para que los usuarios interactúen con la extensión. Esto implica crear un archivo popup.html
que contenga los elementos de la interfaz de usuario, como un campo de texto para la clave API de OpenAI, un botón para activar el resumen y un área para mostrar el resumen generado. Utiliza Cursor AI para generar el HTML, CSS y JavaScript necesarios para crear una interfaz intuitiva y fácil de usar. Puedes mejorar una interfaz de usuario con sólo subir una captura de pantalla a Cursor AI.
Consideraciones para facilitar la experiencia de la interfaz:
- La interfaz del usuario debe ser concisa y legible para personas con problemas de vista o que no estén familiarizados con el diseño.
- Hay que facilitar instrucciones claras sobre el propósito de los mensajes, ya que algunos pueden ser truncados durante la compilación.
- La fuente del texto no debe ser demasiado pequeña, ya que se busca maximizar la usabilidad de la extensión.
Integración de los Componentes y Pruebas
Con todos los componentes en su lugar, es hora de integrarlos y probar la extensión. Asegúrate de que la transcripción del vídeo se extrae correctamente, el resumen se Genera con precisión y la interfaz de usuario funciona como se espera. Utiliza Cursor AI para depurar cualquier problema que surja durante el proceso de prueba. Recuerda que, después de probar, siempre puedes volver atrás y corregir errores. Con Cursor AI, la facilidad de uso, la corrección de errores es más fácil que nunca.
Es importante señalar que la edición es parte importante del video y algunos errores deliberados de la primera grabación se dejan para facilitar la comprensión.