LLM을 위한 로컬 우선(local-first) 비디오 인덱싱 파이프라인 구축 (MCP + 오프라인)
요약
멀티모달 모델의 반복적인 비디오 전송 비용을 줄이기 위해 로컬 우선(local-first) 비디오 인덱싱 파이프라인인 Watch Skill을 구축했습니다. 비디오에서 전사, OCR, 장면 경계 등을 추출하여 로컬 인덱스를 생성하고, LLM이 이를 검색하여 활용하도록 설계되었습니다.
핵심 포인트
- 비디오를 매번 전송하는 대신 로컬 인덱스를 통한 검색 방식 채택
- 하이브리드 검색(FTS + Embeddings) 및 장면 탐지 기술 적용
- 타임스탬프 기반 검색으로 LLM 답변의 원본 비디오 근거 확보
- MCP, CLI, REST API 지원으로 다양한 로컬 모델과 연동 가능
저는 가능한 한 제 AI 워크플로우를 최대한 로컬(local)로 유지하려고 노력해 왔습니다.
한 가지 찾을 수 없었던 점은, 멀티모달 모델(multimodal model)을 통해 비디오를 반복적으로 전송하지 않고도 비디오를 다룰 수 있는 좋은 방법이었습니다.
제 사용 사례는 주로 화면 녹화, 버그 보고, 제품 데모, 그리고 Loom 비디오입니다.
제가 최종적으로 선택한 접근 방식은 매우 간단했습니다:
- 비디오를 한 번 분석합니다.
- 전사(transcript), OCR, 장면 경계(scene boundaries) 및 대표 프레임을 추출합니다.
- 로컬 검색 가능한 인덱스(index)를 구축합니다.
- 매번 비디오를 다시 보는 대신 LLM이 증거를 검색(retrieve)하게 합니다.
이것이 Watch Skill이라는 오픈 소스 프로젝트가 되었습니다.
제가 예상했던 것보다 더 잘 작동했던 몇 가지 설계 결정은 다음과 같습니다:
- 임베딩(embeddings)만 사용하는 대신 하이브리드 검색(Hybrid retrieval, FTS + embeddings)을 사용합니다.
- 고정된 프레임 샘플링(fixed frame sampling) 대신 장면 탐지(Scene detection)를 사용합니다.
- 모든 답변이 원본 비디오를 가리킬 수 있도록 타임스탬프 기반 검색(Timestamp-backed retrieval)을 지원합니다.
- 모든 것이 로컬에 저장되므로, 비디오가 한 번 인덱싱되면 다시 기기를 떠날 필요가 없습니다.
LLM은 비디오 처리 계층(video-processing layer) 대신 추론 계층(reasoning layer)이 됩니다.
이 프로젝트는 MCP, CLI, 그리고 REST API를 노출하므로, 인덱싱 파이프라인을 변경하지 않고도 다양한 로컬 모델 간에 전환할 수 있었습니다.
로컬 AI 스택을 구축하고 계신 분들의 피드백을 진심으로 환영합니다.
Repo:
https://github.com/oxbshw/watch-skill
submitted by /u/Fearless-Role-2707
[link] [comments]
AI 자동 생성 콘텐츠
본 콘텐츠는 r/LocalLLaMA의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기