RAGStack-Lambda
Processamento serverless de documentos e mídia com chat de IA.
Documentação
Processamento serverless de documentos e mídia com chat de IA. Arquitetura scale-to-zero — sem custos de banco vetorial, sem custos ociosos. Envie documentos, imagens, vídeo e áudio — extraia texto com OCR ou transcrição — consulte usando Amazon Bedrock ou seu assistente de IA via MCP.
Recursos
- ☁️ Arquitetura totalmente serverless (Lambda, Step Functions, S3, DynamoDB)
- 🧠 NOVO Embeddings multimodais Amazon Nova para vetorização de texto e imagem
- 📄 Processamento e vetorização de documentos (PDF, imagens, documentos Office, HTML, CSV, JSON, XML, EML, EPUB) → armazenados na base de conhecimento gerenciada
- 🎬 NOVO Processamento de vídeo/áudio - transcreva fala com AWS Transcribe, pesquisável por timestamp
- 💬 Chat de IA com contexto aumentado por recuperação e atribuição de fontes
- 📎 Citações de fontes recolhíveis com downloads opcionais de documentos
- ⏱️ NOVO Fontes de mídia com links de timestamp - clique para reproduzir na posição exata
- 🔍 Filtragem de metadados - descubra automaticamente metadados de documentos e filtre resultados de pesquisa
- 🎯 Reforço de relevância para resultados filtrados - priorize correspondências de filtros de metadados
- 🔄 Reindexação da base de conhecimento - regenere metadados para documentos existentes com configurações atualizadas
- 🗑️ Gerenciamento de documentos - reprocesse, reindexe ou exclua documentos do painel
- 🌐 Componente web para qualquer framework (React, Vue, Angular, Svelte)
- 🚀 Implantação com um clique
- 💰 US$ 7-10/mês (1000 documentos, Textract + Haiku)
Demonstração ao Vivo
| Ambiente | URL | Credenciais |
|---|---|---|
| Pipeline Base | dhrmkxyt1t9pb.cloudfront.net | guest@hatstack.fun / Guest@123 |
| Vitrine do Projeto | showcase-htt.hatstack.fun | Entre como convidado |
Pipeline Base: A ferramenta principal de processamento de documentos - envie, faça OCR e consulte documentos.
Vitrine do Projeto: Veja o RAGStack alimentando uma aplicação real.
Início Rápido
Opção 1: Implantação com Um Clique (AWS Marketplace)
O REPOSITÓRIO ESTÁ EM DESENVOLVIMENTO ATIVO E MUDARÁ COM FREQUÊNCIA
Implante diretamente do Console AWS - sem necessidade de configuração local:
- Assine o RAGStack no AWS Marketplace (gratuito, não obrigatório - Se inscrito, as funções Lambda aceitam automaticamente os acordos de modelo Bedrock na primeira invocação)
- Clique aqui para implantar
- Insira um nome de stack (apenas minúsculas, ex.: "my-docs") e seu e-mail de administrador
- Clique em Criar Stack (a implantação leva ~10 minutos)
Após a implantação:
- Verifique seu e-mail para a senha temporária (do Cognito)
- Vá para CloudFormation → seu stack → aba Outputs para encontrar a URL do Painel (
UIUrl)
Opção 2: Implantação a partir do Código-Fonte
Para personalização ou desenvolvimento:
Pré-requisitos:
- Conta AWS com acesso de administrador
- Python 3.13+, Node.js 24+
- uv (gerenciador de pacotes Python)
- AWS CLI, SAM CLI (configurados)
- Docker (para builds de camadas Lambda)
git clone https://github.com/HatmanStack/RAGStack-Lambda.git
cd RAGStack-Lambda
# Install dependencies
uv sync
# Deploy (defaults to us-east-1 for Nova Multimodal Embeddings)
python publish.py \
--stack-name my-docs \
--admin-email admin@example.com
Opção 3: Implantação de Stack Aninhada
Implante o RAGStack como parte de um stack CloudFormation maior. Consulte o Guia de Implantação de Stack Aninhada para detalhes.
Exemplo rápido:
Resources:
RAGStack:
Type: AWS::CloudFormation::Stack
Properties:
TemplateURL: https://ragstack-quicklaunch-public.s3.us-east-1.amazonaws.com/ragstack-template.yaml
Parameters:
StackPrefix: 'my-app-ragstack' # Required: lowercase prefix
AdminEmail: admin@example.com
Integração de Componente Web
Consulte RAGSTACK_CHAT.md para o guia de integração do componente web.
Acesso à API
Integrações no lado do servidor usam autenticação por chave de API. Obtenha sua chave em Painel → Configurações.
curl -X POST 'YOUR_GRAPHQL_ENDPOINT' \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"query": "query { searchKnowledgeBase(query: \"...\") { results { content } } }"}'
Componente web usa autenticação IAM (sem necessidade de chave de API - tratado automaticamente).
Cada aba da interface mostra exemplos de API no lado do servidor em uma seção expansível.
Servidor MCP (Integração com Assistente de IA)
Use sua base de conhecimento diretamente no Claude Desktop, Cursor, VS Code, Amazon Q CLI e outras ferramentas compatíveis com MCP.
# Install (or use uvx for zero-install)
pip install ragstack-mcp
Adicione à configuração MCP do seu assistente de IA:
{
"ragstack-kb": {
"command": "uvx",
"args": ["ragstack-mcp"],
"env": {
"RAGSTACK_GRAPHQL_ENDPOINT": "YOUR_ENDPOINT",
"RAGSTACK_API_KEY": "YOUR_API_KEY"
}
}
}
Depois pergunte naturalmente: "Pesquise em minha base de conhecimento por documentos de autenticação"
Consulte a documentação do Servidor MCP para instruções completas de configuração.
Arquitetura
Upload → OCR → Embeddings → Bedrock KB
↓
Web UI (Dashboard + Chat) ←→ GraphQL API
↓
Web Component ←→ AI Chat with Sources
Uso
Documentos
Envie documentos em vários formatos. A detecção automática roteia para o processador ideal:
| Tipo | Formatos | Processamento |
|---|---|---|
| Texto | HTML, TXT, CSV, JSON, XML, EML, EPUB, DOCX, XLSX | Extração direta com análise inteligente |
| OCR | PDF, JPG, PNG, TIFF, GIF, BMP, WebP, AVIF | OCR Textract ou Bedrock vision (WebP/AVIF exigem Bedrock) |
| Mídia | MP4, WebM, MP3, WAV, M4A, OGG, FLAC | AWS Transcribe → segmentos de 30s → pesquisáveis com timestamps |
| Passagem direta | Markdown (.md) | Cópia direta |
Tempo de processamento: ENVIADO → PROCESSANDO → INDEXADO (normalmente 1-5 min para texto, 2-15 min para OCR, 5-20 min para mídia)
Imagens
Envie JPG, PNG, GIF, WebP com legendas. Tanto o conteúdo visual quanto o texto da legenda são pesquisáveis.
Raspagem de Sites
Raspe sites para a base de conhecimento. Consulte Raspagem de Sites.
Vídeo e Áudio
Envie arquivos MP4, WebM, MP3, WAV, M4A, OGG ou FLAC. A fala é transcrita usando AWS Transcribe e segmentada em blocos de 30 segundos para pesquisa. As fontes incluem timestamps (ex.: "1:30-2:00") com links clicáveis que reproduzem na posição exata.
Recursos:
- Diarização de falantes (identifique quem disse o quê)
- Idioma configurável (mais de 30 idiomas suportados)
- Fontes vinculadas a timestamps nas respostas do chat
Consulte Configuração para configurações de idioma e falantes.
Chat
Faça perguntas sobre seu conteúdo. As fontes mostram de onde vieram as respostas.
Documentação
- Configuração - Configurações, cotas, chaves de API e gerenciamento de documentos
- Implantação de Stack Aninhada - Implante como parte de um stack CloudFormation maior
- Envio de Imagens - Envio e legendagem de imagens
- Raspagem de Sites - Raspe sites
- Filtragem de Metadados - Descubra metadados automaticamente e filtre resultados
- Componente de Chat - Incorpore chat em qualquer lugar
- Referência da API - Documentação da API GraphQL
- Arquitetura - Design do sistema e referência da API
- Desenvolvimento - Desenvolvimento local
- Migração - Guia de migração de versões
- Solução de Problemas - Problemas comuns
- Referência da Biblioteca - API pública para lib/ragstack_common
Desenvolvimento
npm run check # Lint + test all (backend + frontend)
Opções de Implantação
Implantação Direta
# Full deployment (defaults to us-east-1)
python publish.py --stack-name myapp --admin-email admin@example.com
# Skip dashboard build (still builds web component)
python publish.py --stack-name myapp --admin-email admin@example.com --skip-ui
# Skip ALL UI builds (dashboard and web component)
python publish.py --stack-name myapp --admin-email admin@example.com --skip-ui-all
# Enable demo mode (rate limits: 5 uploads/day, 30 chats/day; disables reindex/reprocess/delete)
python publish.py --stack-name myapp --admin-email admin@example.com --demo-mode
Publicar no AWS Marketplace (Mantenedores)
Para atualizar o modelo de implantação com um clique:
python publish.py --publish-marketplace
Isso empacota a aplicação e envia para o S3 para implantação com um clique.
Nota: Atualmente requer us-east-1 (Nova Multimodal Embeddings). Quando disponível em outras regiões, use
--region <region>.
Agradecimentos
Este projeto foi inspirado em:
- Processamento Acelerado de Documentos Inteligentes na AWS - Arquitetura de referência da AWS Solutions Library
- docs-mcp-server - Servidor MCP para pesquisa de documentação