Pular para o conteúdo

Quickstart

Este guia coloca o Valter rodando na sua máquina com o setup mínimo viável. Você vai levantar a infraestrutura de bancos, rodar migrações e fazer sua primeira chamada de API. Para um setup completo com todas as features opcionais, veja o Guia de Instalação.

Você precisa de três coisas instaladas:

  • Python 3.12+ — Valter usa features modernas de tipagem (X | None, type statements)
  • Docker e Docker Compose — para PostgreSQL, Qdrant e Redis
  • make — todos os comandos passam pelo Makefile
Terminal window
git clone <repo-url> && cd Valter
# Crie e ative o ambiente virtual
python -m venv .venv
source .venv/bin/activate
# Instale com dependências de dev (prefira uv pela velocidade)
uv pip install -e ".[dev]"
# ou: pip install -e ".[dev]"
Terminal window
make docker-up

Isso inicia três containers via Docker Compose:

ServiçoImagemPortaDados
PostgreSQL 16postgres:16-alpine5432Documentos, features, metadados, jobs
Qdrantqdrant/qdrant:latest6333Busca vetorial semântica
Redis 7redis:7-alpine6379Cache, rate limiting, fila de jobs
Terminal window
cp .env.example .env

Os valores padrão funcionam sem alterações para desenvolvimento local. O .env.example já vem pré-configurado com strings de conexão locais:

Terminal window
# Esses são os defaults — nenhuma mudança necessária para dev local
VALTER_DATABASE_URL=postgresql+asyncpg://valter:valter_dev@localhost:5432/valter
VALTER_QDRANT_URL=http://localhost:6333
VALTER_REDIS_URL=redis://localhost:6379/0
Terminal window
make migrate

Isso executa alembic upgrade head, aplicando todas as 8 migrações PostgreSQL que criam tabelas para documentos, features, metadados, jobs, workflows, API keys, audit logs e memória de sessão.

Terminal window
make dev

A API inicia em http://localhost:8000 com hot reload habilitado. Você verá logs JSON estruturados via structlog:

{"event": "valter.startup", "version": "0.1.0", ...}
Terminal window
curl -s http://localhost:8000/health | python -m json.tool
{
"status": "healthy",
"version": "0.1.0",
"stores": [
{"name": "qdrant", "status": "up", "latency_ms": 2.1},
{"name": "neo4j", "status": "down", "latency_ms": null},
{"name": "postgres", "status": "up", "latency_ms": 1.3},
{"name": "redis", "status": "up", "latency_ms": 0.4},
{"name": "artifact_storage", "status": "up", "latency_ms": 0.1},
{"name": "worker_ingest", "status": "down", "latency_ms": null}
],
"uptime_seconds": 3.42
}

Um status "degraded" é normal nesse ponto — Neo4j e o ingest worker ainda não estão rodando.

Abra http://localhost:8000/docs no navegador. O FastAPI gera documentação Swagger interativa para todos os endpoints.

Terminal window
curl -s -X POST http://localhost:8000/v1/retrieve \
-H "Content-Type: application/json" \
-d '{"query": "responsabilidade civil dano moral"}' \
| python -m json.tool
Terminal window
curl -s -X POST http://localhost:8000/v1/verify \
-H "Content-Type: application/json" \
-d '{"text": "Conforme Súmula 297 do STJ"}' \
| python -m json.tool

Para usar o Valter como ferramenta no Claude Desktop, adicione isto ao seu claude_desktop_config.json:

{
"mcpServers": {
"valter": {
"command": "python",
"args": ["-m", "valter.mcp"],
"cwd": "/caminho/absoluto/para/Valter",
"env": {
"VALTER_DATABASE_URL": "postgresql+asyncpg://valter:valter_dev@localhost:5432/valter",
"VALTER_QDRANT_URL": "http://localhost:6333",
"VALTER_REDIS_URL": "redis://localhost:6379/0"
}
}
}
}

Reinicie o Claude Desktop. Você deve ver 28 tools disponíveis em “valter” no painel de tools MCP.

Após completar este quickstart, você tem:

┌─────────────────────────────────────────┐
│ Sua máquina │
│ │
│ ┌─────────────┐ ┌─────────────────┐ │
│ │ Valter API │ │ Claude Desktop │ │
│ │ :8000 │ │ (MCP stdio) │ │
│ └──────┬──────┘ └────────┬────────┘ │
│ │ │ │
│ ┌──────┴──────────────────┴──────────┐ │
│ │ Data Stores Compartilhados │ │
│ │ PostgreSQL :5432 │ │
│ │ Qdrant :6333 │ │
│ │ Redis :6379 │ │
│ └────────────────────────────────────┘ │
└─────────────────────────────────────────┘
ComponenteO que adicionaComo habilitar
Neo4j12 endpoints de analytics de grafo (divergências, argumento ótimo, evolução temporal)Guia de Instalação
ARQ WorkerIngestão de PDFs em background e análise de casosmake worker-ingest
MCP RemoteServidor HTTP/SSE para integração com ChatGPTmake mcp-remote
Groq LLMExtração factual, expansão de queries, classificação de documentosDefina VALTER_GROQ_API_KEY e VALTER_GROQ_ENABLED=true
  • Instalação — Setup completo com Neo4j, Groq, R2 e configuração de produção
  • Referência da API — Todos os endpoints com schemas de request/response
  • Tools MCP — Referência completa das 28 tools MCP
  • Arquitetura — Como as camadas e data stores se conectam