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
Resumen de la solución
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.
Arquitecturas de Referencia
Sin MongoDB, una herramienta de resumen de video utiliza el siguiente flujo de trabajo:
Figura 1. Arquitectura de referencia sin MongoDB
Esta solución utiliza la siguiente arquitectura 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.
Enfoque del modelo de datos
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.
Construir la solución
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:
Crear un índice de búsqueda vectorial de MongoDB Atlas
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.

Figura 3. Almacenamiento de datos en MongoDB Atlas con búsqueda vectorial.
Crear una capa de orquestación
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 clasesVideoService,SearchServiceyVideoProcessResult. 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.
Aprendizajes clave
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.
Autores
Fabio Falavinha, MongoDB
David Macias, MongoDB