Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Docs Menu
Docs Home
/ /
Atlas 아키텍처 센터
/ / /

GenAI 기반 동영상 요약

대규모 언어 모델(LLM)과 시멘틱 검색을 활용하는 유튜브 전사 및 요약 서비스를 구축합니다.

사용 사례: Gen AI

산업: 미디어

제품: MongoDB Atlas, MongoDB Atlas Vector Search

파트너: LangChain

오늘날의 즉각적인 만족을 추구하는 세상에서는 방대한 양의 정보를 신속하게 요약하는 것이 필수적입니다. Youtube와 같은 플랫폼에 있는 정보 콘텐츠의 양이 엄청나기 때문에, 관련 비디오를 빠르게 찾아내고, 텍스트로 변환하며, 무엇보다도 요약하는 기능은 지식 습득 속도를 크게 높일 수 있습니다. 이 문서에서는 위의 모든 작업을 수행하는 생성형 AI 기반 솔루션에 대해 배웁니다.

YouTube는 선도적인 무료 오픈 비디오 플랫폼이며, 특정 서비스, 제품 또는 애플리케이션과 관련된 콘텐츠는 독점 회사 비디오부터 인플루언서가 제작한 설명 및 검토까지 범위가 다양할 수 있습니다. 어쨌든, 기업은 생성형 인공지능(AI) 기반 비디오 요약 앱을 통해 내부 및 외부 이해관계자들이 관련 콘텐츠를 빠르게 찾아내고 중요한 내용을 신속하게 파악할 수 있도록 지원할 수 있습니다.

이 솔루션을 통해 LLM과 벡터 임베딩을 Atlas Vector Search와 결합하여 정교한 비디오-텍스트 생성 및 의미적으로 유사한 비디오 간 검색을 수행하는 생성형 AI 서비스를 빌드할 수 있습니다.

소프트웨어 개발 및 IT: Stack Overflow의 개발자 보고서에 따르면 60%의 개발자가 학습에 온라인 동영상을 활용합니다. 따라서 개발자, 아키텍트, 기타 IT 전문가는 생성형 AI 동영상 요약 솔루션을 사용하여 생산성을 높이고 새로운 기술을 더 빠르게 습득할 수 있습니다.

소매: 전 세계의 더 많은 사람들이 모바일 및 연결된 장치를 통해 삶과 비즈니스를 수행하는 지금, 통신은 에지 및 IoT의 핵심입니다.

B2B 매출을 올리는 모든 산업의 회사: 의료 산업은 IoT의 영향을 받는 가장 큰 산업 중 하나로 입증되고 있습니다. 웨어러블 및 커넥티드 디바이스는 의료 기관 내에서뿐만 아니라 환자의 집 및 개인 기기와 같은 다른 영역에서도 점점 더 많은 치료를 제공하는 데 매우 중요합니다.

  • 데이터 소스: 비디오 메타데이터와 대본을 위해 처리되는 YouTube 링크입니다.

    • 실시간 코드 분석을 위한 OCR 및 AI 활용

      • 이를 위해 애플리케이션은 광학 문자 인식(OCR)과 인공지능(AI)을 통합하여 비디오 프레임에서 실시간으로 코드 분석을 직접 수행합니다. 이 정교한 기능은 전통적인 메타데이터와 자막을 초월하여, 비디오에 표시된 코드에 대한 실행 가능한 인사이트를 제공합니다. 코드가 튜토리얼, 녹화된 회의, 또는 어떤 형태의 기술 프레젠테이션의 일부이든, 이 레이어는 AI 기반 설명과 함께 텍스트 기반의 검색 가능한 버전을 제공하여 비디오 리소스를 이전보다 더 포괄적이고 통찰력 있게 만듭니다.

  • 처리 계층: 전사를 가져와 요약하는 Python 스크립트.

  • 오케스트레이션 계층: 소프트웨어 시스템에서는 복잡한 작업을 수행하기 위해 다양한 서비스, 모듈 또는 구성 요소 간의 조정이 필요할 때가 많습니다. 오케스트레이션 계층은 더 큰 애플리케이션 흐름의 일부로 포함된 여러 작업을 관리하기 위해 필요한 논리를 처리하는 중개자 역할을 합니다. 이것은 마이크로서비스 아키텍처에서 특히 유용하지만, 모놀리식 또는 모듈식 아키텍처에서도 유용하게 사용될 수 있습니다. 당사의 지능형 비디오 처리 시스템에서 오케스트레이션 계층은 중요한 역할을 합니다. 여기에서는 VideoService, SearchService 및 MongoDbRepository와 같은 다양한 서비스 사이에서 중앙 오케스트레이터 역할을 제공하는 VideoServiceFacade 클래스를 개념화했습니다.

  • 출력: 동영상 메타데이터, 전체 대본, AI 생성 요약이 포함된 JSON 파일.

MongoDB가 없는 참조 아키텍처

그림 1. MongoDB가 없는 참조 아키텍처

MongoDB가 있는 참조 아키텍처

그림 2. MongoDB가 있는 참조 아키텍처

{
"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.",
"code_analysis": [
"Main function in Go initializes the MongoDB client.",
"Imports AWS Lambda package for serverless architecture."
]
}

각 YouTube 동영상에서 추출된 데이터는 다음과 같이 구성됩니다.

  • 비디오 URL: YouTube 비디오에 대한 직접 링크입니다.

  • 메타데이터: 비디오 세부 정보(제목, 업로더, 날짜 등)

  • 트랜스크립트: 비디오에서 말한 내용을 텍스트로 나타낸 것입니다.

  • 요약: AI를 활용해 원본 텍스트를 간결하게 요약한 버전입니다.

  • 코드 분석 목록: AI가 영상에서 추출하여 분석한 프로그래밍 언어 코드 목록입니다.

데이터는 최종적으로 JSON 형식으로 저장되어 다양한 애플리케이션에서 유연하게 활용할 수 있습니다.

이 솔루션의 코드는 이 GitHub 리포지토리에서 사용할 수 있습니다.

  • 환경 설정: 필요한 모든 라이브러리가 설치되어 있는지 확인하여 시작하세요. 여기에는 LangChain, Json, pymongo 및 기타 도메인 또는 서비스별 라이브러리가 포함됩니다.

  • 구성: ApplicationConfiguration을 사용해 서비스 제공자와 MongoDB 연결 세부 정보를 로드합니다.

  • YouTube 동영상 로딩: MONGODB_YOUTUBE_VIDEO_LINKS의 각 동영상 링크에 대해 YoutubeLoader가 메타데이터와 대본을 가져옵니다.

  • 전사본 요약: 대규모 동영상 전사본에 사용되는 LLM이 콘텐츠를 압축해 요약합니다. 요약 프로세스에는 모델이 컨텍스트가 풍부한 요약을 생성하는 데 도움이 되는 대화 프롬프트 설정이 포함됩니다.

  • 오류 처리: 요약 프로세스에서 오류가 발생하면 해당 오류가 포착되어 해당 특정 비디오의 요약 필드에 저장됩니다.

  • 로컬에 데이터 저장: 비디오 요약을 포함하여 컴파일된 데이터는 JSON 형식으로 직렬화되어 video_transcript_<index>.json이라는 개별 파일에 저장됩니다.

  • 벡터 검색을 통해 MongoDB Atlas에 데이터를 저장하기:

    • 요약된 대본을 벡터 검색용 임베딩으로 변환합니다. 임베딩 모델에 Voyage AI를 사용할 수 있습니다.

    • 이러한 임베딩을 MongoDB Atlas에 저장합니다. MongoDB Atlas Vector Search를 사용하면 이러한 임베딩을 인덱스하여 정교한 ANN(Approximate Nearest Neighbor) 알고리즘으로 요약된 콘텐츠를 쉽게 검색할 수 있습니다.

    • 임베딩을 검색 가능하게 만들기 위해 벡터 검색 인덱스를 생성해야 합니다. 차원 수(Atlas Vector Search의 최대값은 4096), 유사성 검색 유형, 최근접 이웃 수(K)와 같은 몇 가지 매개변수 중에서 선택할 수 있습니다. 아래 스크린샷은 이 예시의 설정을 보여줍니다. 보다 자세한 내용은 추가 자료들을 통해 확인해 보세요.

    • 벡터 검색의 힘으로 사용자는 이제 문구 또는 문장으로 쿼리하여 관련 비디오 요약을 빠르게 검색하여 콘텐츠 검색 가능성을 높일 수 있습니다.

    • 자세한 정보를 보려면 MongoDB Atlas Vector Search 문서를 참조하세요. Atlas Vector Search 빠른 시작 가이드를 방문하여 몇 분 안에 첫 번째 인덱스를 생성해 보세요.

MongoDB가 있는 참조 아키텍처

그림 3. 벡터 검색을 통해 MongoDB Atlas에 데이터 저장

  • 애플리케이션 중심에 오케스트레이션 계층 생성: 그 역할은 서비스를 조정하고 복잡한 워크플로를 관리하며 원활한 경험을 제공하는 것입니다. 이 계층 내의 VideoServiceFacade 클래스는 오케스트레이터 역할을 하여 모든 느슨한 끝을 효과적으로 연결합니다.

    • VideoServiceFacade: VideoService, SearchService 및 MongoDbRepository의 코디네이터 역할을 합니다.

    • VideoProcessResult: 메타데이터, 가능한 작업 및 선택적 검색 쿼리 텀을 포함하여 처리된 비디오 결과의 캡슐화입니다.

    • 시스템이 트리거되면 일반적으로 기본 기능이나 API 엔드포인트에서 VideoServiceFacade가 인계받습니다. 사용자 프롬프트와 AI가 생성한 제안을 기반으로 다양한 프로세스를 트리거합니다. 이는 대본 생성 및 요약에서부터 저장된 비디오 요약 내의 텍스트 기반 검색에 이르기까지 다양합니다.

모든 것이 하나로 합쳐지는 방법은 다음과 같습니다:

1
2
3
4
  • Atlas Vector Search에서 벡터 인덱스를 생성하고 저장합니다.

  • LLM에서 임베딩과 출력을 생성하여 MongoDB Atlas에 저장합니다.

  • 인기 있는 AI 프레임워크 LangChain을 활용하여 생성형 AI 기반 애플리케이션 구축을 용이하게 합니다.

  • 정확한 키워드가 일치하지 않을 수 있는 관련 데이터를 검색하기 위해 시맨틱 검색을 수행합니다.

  • 애플리케이션 내에서 다양한 AI 기반 서비스를 조율합니다.

  • Fabio Falavinha, MongoDB

  • David Macias, MongoDB

돌아가기

Gen AI 사용한 편집 워크플로

이 페이지의 내용