Pular para o conteúdo

Variaveis de Ambiente

Todas as variaveis de ambiente usadas pelo Douto, quais scripts as leem, valores padrao e se sao obrigatorias.

VariavelObrigatoriaPadraoUsada EmDescricao
VAULT_PATHSimvaria (veja Problemas Conhecidos)enrich_chunks.py, embed_doutrina.pyCaminho para o vault Obsidian contendo chunks markdown processados em Knowledge/_staging/processed/
OUTPUT_PATHNao~/.openclaw/workspace/juca/dataembed_doutrina.pyDiretorio onde os arquivos JSON de embeddings, corpus e indice BM25 sao gravados
DATA_PATHNao~/.openclaw/workspace/juca/datasearch_doutrina_v2.pyDiretorio contendo os dados de busca pre-construidos (embeddings, corpus, indice BM25)
MINIMAX_API_KEYSim (para enriquecimento)enrich_chunks.pyChave de API para MiniMax M2.5, usada via Anthropic SDK com base_url customizado
LLAMA_CLOUD_API_KEYSim (para extracao)process_books.pyChave de API para LlamaParse (LlamaIndex), carregada implicitamente pelo SDK
VariavelObrigatoriaPadraoDescricao
HF_HOMENao~/.cache/huggingfaceSobrescreve o diretorio de cache do HuggingFace onde o Legal-BERTimbau e baixado
SENTENCE_TRANSFORMERS_HOMENao$HF_HOMESobrescreve o cache de modelos do sentence-transformers especificamente
CUDA_VISIBLE_DEVICESNaotodas as GPUsRestringe quais GPU(s) o PyTorch usa para geracao de embeddings

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.jsonl

OUTPUT_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.json

Voce so precisa de DATA_PATH:

Terminal window
export DATA_PATH="/path/to/juca/data"
python3 pipeline/search_doutrina_v2.py --interativo

Voce precisa de VAULT_PATH (chunks fonte) e OUTPUT_PATH (onde gravar os embeddings):

Terminal window
export VAULT_PATH="/path/to/vault"
export OUTPUT_PATH="/path/to/juca/data"
python3 pipeline/embed_doutrina.py

Voce precisa de VAULT_PATH (chunks fonte) e MINIMAX_API_KEY:

Terminal window
export VAULT_PATH="/path/to/vault"
export MINIMAX_API_KEY="your-minimax-api-key"
python3 pipeline/enrich_chunks.py all

Todas as variaveis sao necessarias:

Terminal window
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 -> markdown
python3 pipeline/rechunk_v3.py # markdown -> chunks
python3 pipeline/enrich_chunks.py all # chunks -> classified
python3 pipeline/embed_doutrina.py # chunks -> embeddings
python3 pipeline/search_doutrina_v2.py -i # interactive search
Terminal window
# Douto — Environment Variables
# Copy this to .env and run: source .env
# Path to the Obsidian vault with Knowledge/_staging/ structure
export VAULT_PATH="/path/to/your/vault"
# Where embedding and search index JSONs are written/read
export OUTPUT_PATH="/path/to/juca/data"
export DATA_PATH="/path/to/juca/data" # typically same as OUTPUT_PATH
# API Keys — required for specific pipeline stages
export 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