Introdução geral
O VideoRAG é uma estrutura generativa aprimorada por recuperação, projetada para processar e compreender vídeos contextuais muito longos. A ferramenta combina uma base de conhecimento textual orientada por gráficos com a codificação de contexto multimodal hierárquico para processar com eficiência centenas de horas de conteúdo de vídeo em uma única GPU NVIDIA RTX 3090. O videoRAG mantém a consistência na semântica do vídeo e otimiza a eficiência da recuperação ao construir dinamicamente um gráfico de conhecimento. Desenvolvido pelo Departamento de Ciência de Dados da Universidade de Hong Kong, o projeto tem como objetivo oferecer aos usuários uma ferramenta avançada para processar dados de vídeo complexos.
Lista de funções
- Manuseio eficiente de vídeos contextuais muito longosProcesse centenas de horas de conteúdo de vídeo com uma única GPU NVIDIA RTX 3090.
- Índice de conhecimento de vídeo estruturadoDestilar centenas de horas de conteúdo de vídeo em um gráfico de conhecimento conciso.
- pesquisa multimodalCombine a semântica textual e o conteúdo visual para identificar os vídeos mais relevantes e fornecer uma resposta abrangente.
- Referência LongerVideos recém-criadaContém mais de 160 vídeos, totalizando 134 horas de palestras, documentários e entretenimento.
- arquitetura de canal duploTradução: Combinação de uma base de conhecimento textual orientada por gráficos e codificação de contexto multimodal hierárquico para manter a consistência semântica entre vídeos.
Usando a Ajuda
Processo de instalação
- Crie e ative o ambiente conda:
conda create --name videorag python=3.11
conda activate videorag
- Instale os pacotes Python necessários:
pip install numpy==1.26.4 torch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2
pip install accelerate==0.30.1 bitsandbytes==0.43.1 moviepy==1.0.3
pip install git+https://github.com/facebookresearch/pytorchvideo.git@28fe037d212663c6a24f373b94cc5d478c8c1a1d
pip install timm==0.6.7 ftfy regex einops fvcore eva-decord==0.6.1 iopath matplotlib types-regex cartopy
pip install ctranslate2==4.4.0 faster_whisper neo4j hnswlib xxhash nano-vectordb
pip install transformers==4.37.1 tiktoken openai tenacity
- Instale o ImageBind:
cd ImageBind
pip install .
- Faça o download dos arquivos de ponto de verificação necessários:
git clone https://huggingface.co/openbmb/MiniCPM-V-2_6-int4
git clone https://huggingface.co/Systran/faster-distil-whisper-large-v3
mkdir .checkpoints
cd .checkpoints
wget https://dl.fbaipublicfiles.com/imagebind/imagebind_huge.pth
cd ...
Processo de uso
- Extração de conhecimento de vídeoVídeo: vários vídeos são inseridos no VideoRAG e o sistema extrai e cria automaticamente um gráfico de conhecimento.
- Resposta à consultaOs usuários podem inserir uma consulta e o VideoRAG fornecerá uma resposta abrangente com base no gráfico de conhecimento construído e no mecanismo de pesquisa multimodal.
- Suporte a vários idiomasVideoRAG foi testado apenas em ambiente inglês. Se você precisar lidar com vídeo em vários idiomas, é recomendável modificar o WhisperModel em asr.py.
Funções principais
- Upload de vídeoCarregar arquivos de vídeo para o sistema, que processará e extrairá o conhecimento automaticamente.
- Entrada de consultaResposta: Digite uma pergunta na caixa de consulta e o sistema fornecerá uma resposta detalhada com base no gráfico de conhecimento e no mecanismo de pesquisa multimodal.
- Mostra de resultadosO sistema exibe clipes de vídeo e respostas de texto relevantes nos quais os usuários podem clicar para ver os detalhes.