Docs Menu
Docs Home
/

Resumen de video impulsado por IA generativa

Construya un servicio de transcripción y resumen de YouTube con un modelo de lenguaje grande (LLM) y búsqueda semántica.

Casos de uso: Gen AI

Industrias: Medios

Productos: MongoDB Atlas, Búsquedavectorialde MongoDB Atlas

Socios: LangChain

Con la cantidad y variación de contenido informativo en plataformas como YouTube, poder encontrar rápidamente videos relevantes y transcribirlos y resumirlos es importante para la recopilación de conocimientos.

Esta solución crea una aplicación de resumen de video con IA generativa para transcribir y resumir videos de YouTube. La aplicación utiliza un LLM e incrustaciones vectoriales con Atlas Vector Search para la generación de video a texto y búsquedas semánticas. Este enfoque puede ser útil en sectores como el desarrollo de software, donde los profesionales pueden aprender tecnologías más rápidamente con el resumen de video con IA generativa.

Sin MongoDB, una herramienta de resumen de video utiliza el siguiente flujo de trabajo:

Arquitectura de referencia sin MongoDB

Figura 1. Arquitectura de referencia sin MongoDB

Esta solución utiliza la siguiente arquitectura con MongoDB:

Arquitectura de referencia con MongoDB

Figura 1. Arquitectura de referencia con MongoDB

Primero, la solución utiliza YouTubeLoader para procesar los enlaces de YouTube y obtener los metadatos y las transcripciones de los videos. Luego, un script de Python obtiene y resume la transcripción del video mediante un LLM.

Luego, los modelos de embeddings de Voyage AI convierten las transcripciones resumidas en embeddings que se almacenan en MongoDB Atlas. Además, el Reconocimiento Óptico de Caracteres (OCR) y la IA realizan análisis en tiempo real del código directamente desde los fotogramas de video, generando una versión basada en texto y buscable de la información del video, junto con una explicación impulsada por IA.

La solución almacena estos datos procesados en documentos en MongoDB Atlas e incluye los metadatos del video, su transcripción y un resumen generado por IA. El usuario puede entonces buscar en estos documentos mediante la búsqueda de Atlas Vector Search de MongoDB.

El siguiente bloque de código es un ejemplo de los documentos generados por esta solución:

{
"videoURL": "https://youtu.be/exampleID",
"metadata":{
"title": "How to use GO with MongoDB",
"author": "MongoDB",
"publishDate": "2023-01-24",
"viewCount": 1449,
"length": "1533s",
"thumbnail": "https://exmpl.com/thumb.jpg"
},
"transcript": "Full transcript…",
"summary": "Tutorial on using Go with MongoDB.",
"codeAnalysis": [
"Main function in Go initializes the MongoDB client.",
"Imports AWS Lambda package for serverless architecture."
]
}

Los datos extraídos de cada vídeo de YouTube consisten en lo siguiente:

  • videoURL:Un enlace directo al vídeo de YouTube.

  • metadata: Detalles del video como título, cargador y fecha.

  • transcript:Una representación textual del contenido hablado en el vídeo.

  • summary:Una versión concisa de la transcripción generada por IA.

  • codeAnalysis:Una lista de ejemplos de código analizados por IA.

El código de esta solución está disponible en el repositorio de GitHub. Siga el README procedimiento para obtener instrucciones más específicas que le guiarán a través del siguiente procedimiento:

1

Instale todas las bibliotecas necesarias, incluidas LangChain, JSON, pymongo y cualquier otra biblioteca específica del dominio o servicio.

2

Añade tu clave API de OpenAI y los datos de conexión de MongoDB Atlas a un archivo config.ini. A continuación, ejecuta el siguiente comando para generar la transcripción de un vídeo de YouTube:

python main.py --youtube https://www.youtube.com/watch?v=sample_id
3

El cargador de YouTube obtiene los metadatos y la transcripción. Si el proceso de resumen detecta un error, se detecta y se almacena en el campo de resumen de ese vídeo.

4

Los datos compilados, incluido el resumen en vídeo, se serializan en formato JSON y se guardan en archivos individuales llamados video_transcript_<index>.json.

5

Convierta la transcripción resumida en incrustaciones para Vector Search y almacénelas en MongoDB Atlas.

Para aprender a utilizar Atlas Vector Search y crear un índice, consulte Inicio rápido de búsqueda vectorial de MongoDB.

La siguiente figura muestra los valores de los parámetros que puede utilizar al crear su índice de búsqueda vectorial.

Arquitectura de referencia con MongoDB

Figura 3. Almacenamiento de datos en MongoDB Atlas con búsqueda vectorial.

6

La solución utiliza una capa de orquestación para coordinar sus diversos servicios y gestionar flujos de trabajo complejos. Esta capa se compone de las siguientes clases, que se pueden encontrar en el repositorio de GitHub de la solución:

  • VideoServiceFacade: Actúa como el coordinador de las clases VideoService, SearchService y VideoProcessResult. Este sistema gestiona las indicaciones del usuario y las solicitudes para la generación y resumén de transcripciones.

  • VideoService: realiza la recopilación de resumenes de transcripciones.

  • VideoProcessResult:Encapsula los resultados de video procesados, incluidos metadatos, posibles acciones y términos de consulta de búsqueda óptimos.

  • SearchService:Realiza una búsqueda en MongoDB Atlas.

7

Ejecute el siguiente comando para query la información vectorizada:

python main.py --searchFor "your_search_query_here"
  • Atlas Vector Search permite la búsqueda en lenguaje natural: Esta solución crea y almacena índices vectoriales en Atlas Vector Search, y almacena las incrustaciones y resultados generados por LLM en MongoDB Atlas. Esto permite a los usuarios buscar en una plataforma información relevante, previamente no estructurada, que podría no tener coincidencias exactas con palabras clave.

  • LangChain facilita aplicaciones impulsadas por IA: LangChain se integra perfectamente con MongoDB para crear una poderosa plataforma impulsada por IA.

  • Fabio Falavinha, MongoDB

  • David Macias, MongoDB

  • Mejore sus experiencias multimedia con la búsqueda semántica de vídeos

  • Conversión de noticias de texto a audio con IA generativa

  • Personalización de medios basada en IA con MongoDB y búsqueda vectorial

Volver

Flujos de trabajo editoriales con IA generativa

En esta página