Crie um serviço de transcrição e resumo do YouTube com um grandes modelos de linguagem (LLM) e pesquisa semântica.
Casos de uso: Gen AI
Setores: Mídia
Produtos: MongoDB Atlas, MongoDB Atlas Vector Search
Parceiros: LangChain
Visão Geral da Solução
Com a quantidade e a variação de conteúdo informativo em plataformas como o YouTube, poder encontrar rapidamente vídeos relevantes, transcrevê-los e resumi-los é importante para a coleta de conhecimento.
Esta solução cria um aplicativo de resumo de vídeo com IA generativa para transcrever e resumir vídeos do YouTube. O aplicativo usa um LLM e incorporações vetoriais com o Atlas Vector Search para geração de vídeo para texto e pesquisas semânticas. Essa abordagem pode ajudar setores como o de desenvolvimento de software, onde os profissionais podem aprender tecnologias mais rapidamente com o resumo de vídeo da Gen IA.
Arquiteturas de referência
Sem o MongoDB, uma ferramenta de resumo de vídeo usa o seguinte fluxo de trabalho:
Figura 1. Arquitetura de referência sem MongoDB
Esta solução usa a seguinte arquitetura com MongoDB:
Figura 1. Arquitetura de referência com MongoDB
Primeiro, a solução usa o YouTubeLoader para processar links do YouTube e obter metadados e transcrições de vídeo. Em seguida, um script Python busca e resume a transcrição do vídeo usando um LLM.
Os modelos de incorporação da Voyage AI convertem as transcrições resumidas em incorporações que são armazenadas no MongoDB Atlas. Além disso, o reconhecimento óptimo de caracteres (OCR) e a IA realizam análises de código em tempo real diretamente dos imagens do vídeo, gerando uma versão pesquisável e baseada em texto das informações do vídeo, juntamente com uma explicação alimentada por IA.
A solução armazena esses dados processados em documentos no MongoDB Atlas que incluem os metadados do vídeo, sua transcrição e o resumo gerado por IA. O usuário pode então pesquisar esses documentos usando o MongoDB Atlas Vector Search.
Abordagem do modelo de dados
O seguinte bloco de código é um exemplo dos documentos gerados por esta solução:
{ "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." ] }
Os dados extraídos de cada vídeo do YouTube consistem no seguinte:
videoURL: um link direto para o vídeo do YouTube.metadata: Detalhes do vídeo, como título, upload e data.transcript: Uma representação textual do conteúdo falando no vídeo.summary: Uma versão concisa e gerada por IA da transcrição.codeAnalysis: Uma lista de exemplos de código analisados por IA.
Construir a solução
O código desta solução está disponível no repositório do GitHub. Siga o README para obter instruções mais específicas que o orientarão através do seguinte procedimento:
Crie um índice do MongoDB Atlas Vector Search
Converta a transcrição resumida em incorporações para a pesquisa vetorial e armazene-as no MongoDB Atlas.
Para saber como usar o Atlas Vector Search e criar um índice, consulte Início Rápido da pesquisa vetorial do MongoDB.
A figura a seguir mostra valores de parâmetros que você pode usar ao criar seu índice de pesquisa vetorial.

Figura 3. Armazenando dados no MongoDB Atlas com pesquisa vetorial
Criar uma camada de orquestração
A solução usa uma camada de orquestração para coordenar os vários serviços da solução e gerenciar fluxos de trabalho complexos. A camada de orquestração é composta pelas seguintes classes, que você pode encontrar no repositório GitHub da solução:
VideoServiceFacade: atua como coordenador das classesVideoService,SearchServiceeVideoProcessResult. Esse sistema lida com solicitações e solicitações do usuário para geração e resumo de transcrições.VideoService: Executa o resumo da transcrição.VideoProcessResult: encapsula os resultados do vídeo processado, incluindo metadados, possíveis ações e termos de query de pesquisa ideais.SearchService: Executa uma pesquisa no MongoDB Atlas.
Principais Aprendizados
O Atlas Vector Search permite a pesquisa de linguagem natural: essa solução cria e armazena índices vetoriais no Atlas Vector Search e armazena incorporações e saídas geradas pelo LLM no MongoDB Atlas. Isso permite que os usuários pesquisem em uma plataforma informações relevantes e não estruturadas que podem não ter correspondências exatas de palavras-chave.
LangChain facilita aplicativos baseados em IA: o LangChain se integra perfeitamente ao MongoDB para criar uma poderosa plataforma baseada em IA.
Autores
Fabio Falavinha, MongoDB
David Macias, MongoDB