Variaveis de Ambiente
Variaveis de Ambiente
Seção intitulada “Variaveis de Ambiente”Todas as variaveis de ambiente usadas pelo Douto, quais scripts as leem, valores padrao e se sao obrigatorias.
Referencia de Variaveis
Seção intitulada “Referencia de Variaveis”| Variavel | Obrigatoria | Padrao | Usada Em | Descricao |
|---|---|---|---|---|
VAULT_PATH | Sim | varia (veja Problemas Conhecidos) | enrich_chunks.py, embed_doutrina.py | Caminho para o vault Obsidian contendo chunks markdown processados em Knowledge/_staging/processed/ |
OUTPUT_PATH | Nao | ~/.openclaw/workspace/juca/data | embed_doutrina.py | Diretorio onde os arquivos JSON de embeddings, corpus e indice BM25 sao gravados |
DATA_PATH | Nao | ~/.openclaw/workspace/juca/data | search_doutrina_v2.py | Diretorio contendo os dados de busca pre-construidos (embeddings, corpus, indice BM25) |
MINIMAX_API_KEY | Sim (para enriquecimento) | — | enrich_chunks.py | Chave de API para MiniMax M2.5, usada via Anthropic SDK com base_url customizado |
LLAMA_CLOUD_API_KEY | Sim (para extracao) | — | process_books.py | Chave de API para LlamaParse (LlamaIndex), carregada implicitamente pelo SDK |
Variaveis Opcionais / Implicitas
Seção intitulada “Variaveis Opcionais / Implicitas”| Variavel | Obrigatoria | Padrao | Descricao |
|---|---|---|---|
HF_HOME | Nao | ~/.cache/huggingface | Sobrescreve o diretorio de cache do HuggingFace onde o Legal-BERTimbau e baixado |
SENTENCE_TRANSFORMERS_HOME | Nao | $HF_HOME | Sobrescreve o cache de modelos do sentence-transformers especificamente |
CUDA_VISIBLE_DEVICES | Nao | todas as GPUs | Restringe quais GPU(s) o PyTorch usa para geracao de embeddings |
Problemas Conhecidos com Caminhos
Seção intitulada “Problemas Conhecidos com Caminhos”Relacao Entre Caminhos
Seção intitulada “Relacao Entre Caminhos”Os scripts esperam uma estrutura de diretorios especifica sob VAULT_PATH:
$VAULT_PATH/ Knowledge/ _staging/ input/ # PDFs para processar (process_books.py le daqui) processed/ # Capitulos markdown + chunks enriquecidos (todos os scripts) failed/ # Extracoes de PDF que falharam processing_log.jsonlOUTPUT_PATH e DATA_PATH apontam por padrao para o mesmo diretorio (~/.openclaw/workspace/juca/data), onde ficam os arquivos de embeddings e indice de busca:
$OUTPUT_PATH/ (== $DATA_PATH/) embeddings_doutrina.json search_corpus_doutrina.json bm25_index_doutrina.json embeddings_processo_civil.json search_corpus_processo_civil.json bm25_index_processo_civil.jsonConfiguracao por Caso de Uso
Seção intitulada “Configuracao por Caso de Uso”Apenas Busca (consultar dados existentes)
Seção intitulada “Apenas Busca (consultar dados existentes)”Voce so precisa de DATA_PATH:
export DATA_PATH="/path/to/juca/data"python3 pipeline/search_doutrina_v2.py --interativoGeracao de Embeddings
Seção intitulada “Geracao de Embeddings”Voce precisa de VAULT_PATH (chunks fonte) e OUTPUT_PATH (onde gravar os embeddings):
export VAULT_PATH="/path/to/vault"export OUTPUT_PATH="/path/to/juca/data"python3 pipeline/embed_doutrina.pyEnriquecimento de Chunks
Seção intitulada “Enriquecimento de Chunks”Voce precisa de VAULT_PATH (chunks fonte) e MINIMAX_API_KEY:
export VAULT_PATH="/path/to/vault"export MINIMAX_API_KEY="your-minimax-api-key"python3 pipeline/enrich_chunks.py allPipeline Completo (PDF ate busca)
Seção intitulada “Pipeline Completo (PDF ate busca)”Todas as variaveis sao necessarias:
export VAULT_PATH="/path/to/vault"export OUTPUT_PATH="/path/to/juca/data"export MINIMAX_API_KEY="your-minimax-api-key"export LLAMA_CLOUD_API_KEY="your-llamaparse-key"
python3 pipeline/process_books.py # PDF -> markdownpython3 pipeline/rechunk_v3.py # markdown -> chunkspython3 pipeline/enrich_chunks.py all # chunks -> classifiedpython3 pipeline/embed_doutrina.py # chunks -> embeddingspython3 pipeline/search_doutrina_v2.py -i # interactive searchExemplo de Arquivo .env
Seção intitulada “Exemplo de Arquivo .env”# Douto — Environment Variables# Copy this to .env and run: source .env
# Path to the Obsidian vault with Knowledge/_staging/ structureexport VAULT_PATH="/path/to/your/vault"
# Where embedding and search index JSONs are written/readexport OUTPUT_PATH="/path/to/juca/data"export DATA_PATH="/path/to/juca/data" # typically same as OUTPUT_PATH
# API Keys — required for specific pipeline stagesexport MINIMAX_API_KEY="your-minimax-api-key" # enrichment (enrich_chunks.py)export LLAMA_CLOUD_API_KEY="your-llamaparse-key" # PDF extraction (process_books.py)
# Optional: HuggingFace model cache (Legal-BERTimbau is ~500MB)# export HF_HOME="/path/to/hf-cache"
# Optional: GPU control# export CUDA_VISIBLE_DEVICES="0" # use only GPU 0