? Rano de processamento de documentos multimodais com Langchain?
Este projeto é um aplicativo de fluxo para processar documentos multimodais e consultar um banco de dados MILVUS . Ele aproveita ferramentas de ponta como Langchain , Transformers , Easyocr e outros para processamento, armazenamento e consulta de texto extraído de vários tipos de arquivos.
Características
Carregar o processamento de arquivos :
- Suporta vários tipos de arquivos:
audio , video , image , text , csv , yaml , json , docx e pdf . - Extrai o conteúdo do texto usando:
- ? ÁUDIO :
speech_recognition e pydub . - ? VÍDEO : Lógica de extração personalizada.
- ? ️ Imagem :
EasyOCR . - ? Texto/logs/documentos : carregadores de Langchain.
Integração de Milvus :
- ? Sustces de documentos processados incorporados para consulta baseada em similaridade.
- ? Utiliza
HuggingFaceEmbeddings para gerar representações vetoriais.
? Interface de consulta :
- Interface de consulta de linguagem natural.
- Implementa um pipeline de geração de recuperação (RAG) para respostas orientadas para IA.
Instalação
? Pré -requisitos
- Python 3.8+
- Gerenciador de pacotes
pip ou conda - GPU compatível com CUDA (opcional, para processamento mais rápido)
? Garfo e clonar o repositório
Gifra o repositório : navegue até o repositório do GitHub da Architecture e clique em Fork .
Clone o repositório bifurcado :
git clone https://github.com/ < your-username > /RAG-Architecture.git
cd RAG-Architecture
? Instalar dependências
pip install -r requirements.txt
Uso
Inicie o aplicativo
Execute o aplicativo StreamLit:
Modos de aplicação
? Carregar arquivos:
- Carregue um arquivo para processar e armazenar seu conteúdo no Milvus.
- Exibe conteúdo extraído e armazena incorporações no banco de dados.
❓ Consulta:
- Digite uma pergunta para pesquisar e recuperar informações relevantes do banco de dados MILVUS.
- Retorna respostas geradas pela IA usando o pipeline RAG de Langchain.
? Estrutura de arquivo
# # ? **File Structure**
` ` ` bash
project/
│
├── app.py # Main Streamlit application
├── requirements.txt # ? Python dependencies
├── utils/ # Utility modules
│ ├── audio_utils.py # ? Audio file processing
│ ├── video_utils.py # ? Video file processing
│ ├── image_utils.py # ?️ Image file processing
│ ├── document_loaders.py # Document processing loaders
│ ├── milvus_client.py # ?️ Initializes Milvus database
│
├── milvus_database.db # ?️ Milvus database file (auto-created)
├── Dataset # Folder to store datasets
├── Images # ? Folder for storing images
? Módulos -chave
app.py
? Lógica principal do aplicativo
- Lida com uploads de arquivos, processamento de documentos e consulta.
utils/
- ? Áudio : divide o áudio em pedaços e transcreve o texto.
- ? VÍDEO : Processa arquivos de vídeo para extrair e analisar o conteúdo.
- ? ️ Imagem : usa o easyocr para extrair texto.
- Logs/documentos : Processos CSV, YAML, JSON e PDF Arquivos em documentos de Langchain estruturados.
Exemplo de fluxo de trabalho
? Carregando um arquivo
- Selecione o modo "Faça o upload de arquivos" .
- Carregue um arquivo (por exemplo,
example.pdf ). - Processe e armazene o arquivo no banco de dados.
❓ Consultando o banco de dados
- Selecione o modo "consulta" .
- Digite uma questão de linguagem natural.
- Receba uma resposta concisa e baseada em fatos.

? Melhorias futuras
- ? Adicione recursos de consulta mais avançados.
- Aprimore o suporte para tipos de arquivos e incorporação adicionais.
- ⚡ Melhore a escalabilidade para conjuntos de dados maiores.
Licença Este projeto está licenciado sob a licença do MIT .
? Agradecimentos
- Simplit para a interface do usuário interativa.
- Langchain e Milvus para processamento de documentos, recuperação e DB de vetor.
- ? Transformadores para incorporar geração.
- ? Aste Easyocr para extração de texto de imagem.
- ? Moviepy para processamento de vídeo.