대규모 언어 모델(LLM) 및 시맨틱 검색 사용하여 YouTube 트랜스크립션 및 요약 서비스를 구축하세요.
사용 사례: Gen AI
산업: 미디어
제품: MongoDB Atlas, MongoDB Atlas Vector Search
파트너: LangChain
솔루션 개요
YouTube와 같은 플랫폼에 있는 정보 콘텐츠는 양과 다양하므로 관련 동영상을 빠르게 찾고 이를 텍스트로 변환하고 요약할 수 있는 기능은 지식 수집에 중요합니다.
이 솔루션은 YouTube 동영상을 텍스트로 변환하고 요약하기 위한 생성형 인공지능 기반 동영상 요약 앱 빌드합니다. 이 애플리케이션 비디오-텍스트 생성 및 시맨틱 검색을 위해 Atlas Vector Search 와 함께 LLM 및 벡터 임베딩을 사용합니다. 이 접근 방식은 소프트웨어 개발과 같은 산업에 도움이 될 수 있으며, 이 산업에서는 전문가가 Gen AI 동영상 요약을 통해 기술을 더 빠르게 학습 수 있습니다.
참조 아키텍처
MongoDB 없는 비디오 요약 도구는 다음 워크플로를 사용합니다.
그림 1. MongoDB가 없는 참조 아키텍처
이 솔루션은 MongoDB 에서 다음 아키텍처를 사용합니다.
그림 1. MongoDB가 있는 참조 아키텍처
먼저, 솔루션은 YouTubeLoader를 사용하여 YouTube 링크를 프로세스 하고 동영상 메타데이터 및 스크립트를 가져옵니다. 그런 다음 Python 스크립트 LLM을 사용하여 동영상 스크립트를 가져와 요약합니다.
그런 다음 Voyage AI 임베딩 모델은 요약된 트랜스크립트를 MongoDB Atlas 에 저장되는 임베딩으로 변환합니다. 또한 OCR(광학 문자 인식) 및 AI 비디오 프레임에서 직접 실시간 코드 분석을 수행하여 AI 기반 설명과 함께 검색 가능한 텍스트 기반 버전의 비디오 정보를 생성합니다.
이 솔루션은 처리된 이 데이터를 MongoDB Atlas 의 문서에 저장하며, 여기에는 비디오 메타데이터, 해당 스크립트, AI 생성 요약이 포함됩니다. 그런 다음 사용자는 MongoDB Atlas Vector Search를 사용하여 이러한 문서를 검색 할 수 있습니다.
데이터 모델 접근 방식
다음 코드 차단 이 솔루션으로 생성된 문서의 예시 입니다.
{ "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." ] }
각 YouTube 동영상에서 추출된 데이터는 다음과 같이 구성됩니다.
videoURL: YouTube 동영상으로 바로 연결되는 링크입니다.metadata: 제목, 업로더, 날짜 등의 동영상 세부 정보입니다.transcript: 동영상에서 음성 콘텐츠의 텍스트 표현입니다.summary: AI 가 생성한 간결한 스크립트 버전입니다.codeAnalysis: AI 분석 코드 예시 목록입니다.
솔루션 빌드
이 솔루션의 코드는 GitHub 리포지토리에서 확인할 수 있습니다. 다음 절차를 안내하는 보다 구체적인 지침을 보려면 README 를 따르세요.
MongoDB Atlas Vector Search 인덱스 만들기
요약된 트랜스크립트를 Vector Search를 위한 임베딩으로 변환하고 이를 MongoDB Atlas 에 저장 .
Atlas Vector Search 사용하고 인덱스 만드는 방법을 학습하려면 MongoDB 벡터 검색 빠른 시작을 참조하세요.
다음 그림은 Vector Search 인덱스 생성할 때 사용할 수 있는 매개변수 값을 보여줍니다.

그림 3. 벡터 검색을 통해 MongoDB Atlas에 데이터 저장
오케스트레이션 계층 만들기
이 솔루션은 오케스트레이션 계층 을 사용하여 솔루션의 다양한 서비스를 조정하고 복잡한 워크플로를 관리 . 오케스트레이션 계층은 솔루션의 GitHub 리포지토리에서 찾을 수 있는 다음 클래스로 구성됩니다.
VideoServiceFacade:VideoService,SearchService,VideoProcessResult클래스의 코디네이터 역할을 합니다. 이 시스템은 스크립트 생성 및 요약에 대한 사용자 프롬프트와 요청을 처리합니다.VideoService: 스크립트 요약을 수행합니다.VideoProcessResult: 메타데이터, 가능한 조치, 최적의 검색 쿼리 를 포함하여 처리된 동영상 결과를 캡슐화합니다.SearchService: MongoDB Atlas 에서 검색 수행합니다.
주요 학습 사항
언어 검색 지원하는 Atlas Vector Search: 이 솔루션은 Atlas Vector Search 에서 벡터 인덱스를 생성 및 저장하고, LLM에서 생성된 임베딩 및 출력을 MongoDB Atlas 에 저장합니다. 이를 통해 사용자는 한 플랫폼에서 정확히 일치하는 키워드가 없을 수 있는 관련성이 있고 이전에는 구조화되지 않은 정보를 검색 할 수 있습니다.
LangChain은 AI 기반 애플리케이션을 용이하게 합니다: LangChain은 MongoDB 와 원활하게 통합되어 강력한 AI 기반 플랫폼을 구축합니다.
작성자
Fabio Falavinha, MongoDB
David Macias, MongoDB