Download config/app_config.env.example from seanpedrickcase/document_redaction: direct link, hf CLI and curl.
- Browser
- Download file 6.5 kB
-
https://huggingface.co/spaces/seanpedrickcase/document_redaction/resolve/main/config/app_config.env.example
- Command line
-
hf download hf://spaces/seanpedrickcase/document_redaction/config/app_config.env.example
-
curl -L -o app_config.env.example https://huggingface.co/spaces/seanpedrickcase/document_redaction/resolve/main/config/app_config.env.example
6.5 kB
| # Main application settings (copy to config/app_config.env β do not commit secrets). | |
| # | |
| # Loaded at startup by tools/config.py (APP_CONFIG_PATH defaults to config/app_config.env). | |
| # Variables already set in the process environment (e.g. Docker compose environment:) | |
| # are not overridden by this file. | |
| # | |
| # Full list of supported keys: tools/config.py and the user guide. | |
| # For Docker Compose-only overrides on redaction-app services, see docker_app_config.env.example. | |
| # Optional separate AWS keys file: set AWS_CONFIG_PATH=config/aws_config.env | |
| # --- Local dependencies (Windows/Linux paths if not on PATH) --- | |
| TESSERACT_FOLDER=tesseract/ | |
| POPPLER_FOLDER=poppler/poppler-24.02.0/Library/bin/ | |
| # TESSERACT_DATA_FOLDER= | |
| # --- Input / output folders --- | |
| # GRADIO_INPUT_FOLDER=input/ | |
| # GRADIO_OUTPUT_FOLDER=output/ | |
| SESSION_OUTPUT_FOLDER=True | |
| # --- Gradio / FastAPI --- | |
| GRADIO_SERVER_NAME=127.0.0.1 | |
| GRADIO_SERVER_PORT=7860 | |
| RUN_FASTAPI=False | |
| # RUN_MCP_SERVER=False | |
| # ROOT_PATH= | |
| # FASTAPI_ROOT_PATH=/ | |
| # ALLOWED_HOSTS= | |
| # MAX_DOC_PAGES=3000 | |
| # MAX_FILE_SIZE=250mb | |
| # AGENT_API_KEY= | |
| # --- Intro / branding --- | |
| USER_GUIDE_URL=<ENTER_URL> | |
| FAVICON_PATH=favicon.png | |
| INTRO_TEXT=intros/short_intro.txt | |
| # PI agent Gradio UI (agent-redact/shared/gradio_app.py) β separate from INTRO_TEXT above | |
| # AGENT_INTRO_TEXT=intros/pi_intro.txt | |
| # --- GUI visibility --- | |
| SHOW_QUICKSTART=False | |
| SHOW_SUMMARISATION=True | |
| SHOW_EXAMPLES=True | |
| SHOW_DIFFICULT_OCR_EXAMPLES=True | |
| SHOW_LANGUAGE_SELECTION=True | |
| SHOW_ALL_OUTPUTS_IN_OUTPUT_FOLDER=True | |
| SHOW_PII_IDENTIFICATION_OPTIONS=True | |
| SHOW_LOCAL_PII_DETECTION_OPTIONS=True | |
| SHOW_OCR_GUI_OPTIONS=True | |
| EXTRACTION_AND_PII_OPTIONS_OPEN_BY_DEFAULT=True | |
| SHOW_LOCAL_OCR_MODEL_OPTIONS=True | |
| SHOW_AWS_TEXT_EXTRACTION_OPTIONS=True | |
| SHOW_AWS_PII_DETECTION_OPTIONS=True | |
| SHOW_AWS_EXAMPLES=True | |
| SHOW_HYBRID_MODELS=False | |
| SHOW_CUSTOM_VLM_ENTITIES=False | |
| SHOW_VLM_MODEL_OPTIONS=True | |
| SHOW_INFERENCE_SERVER_PII_OPTIONS=False | |
| SHOW_INFERENCE_SERVER_VLM_OPTIONS=False | |
| SHOW_TRANSFORMERS_LLM_PII_DETECTION_OPTIONS=False | |
| SHOW_BEDROCK_VLM_MODELS=False | |
| SHOW_AWS_BEDROCK_LLM_MODELS=False | |
| # --- OCR / redaction processing --- | |
| DEFAULT_LOCAL_OCR_MODEL=tesseract | |
| OVERWRITE_EXISTING_OCR_RESULTS=False | |
| PREPROCESS_LOCAL_OCR_IMAGES=False | |
| MAX_WORKERS=4 | |
| # Tabular LLM PII: Bedrock can query several cells at once; local transformers and | |
| # inference-server default to 1 (sequential) so a single GPU/replica is not overloaded. | |
| # LLM_PII_MAX_CONCURRENT_REQUESTS=10 | |
| # LLM_PII_LOCAL_MAX_CONCURRENT_REQUESTS=1 | |
| EFFICIENT_OCR=True | |
| # Large PDFs / containers: defer page PNG creation (EFFICIENT_OCR) and lower peak RAM during | |
| # review apply (TWO_PASS_REVIEW_PDF_LOW_MEMORY). Pair with RETURN_PDF_FOR_REVIEW=True. | |
| # TWO_PASS_REVIEW_PDF_LOW_MEMORY=True | |
| # RETURN_PDF_FOR_REVIEW=True | |
| # Review tab: merge live annotator box edits into session state (not CSV/PDF). Also on | |
| # annotator change events; explicit Save still writes files. | |
| REVIEW_ANNOTATOR_AUTO_PERSIST_ENABLED=True | |
| REVIEW_ANNOTATOR_AUTO_PERSIST_SECONDS=20 | |
| INCLUDE_OCR_VISUALISATION_IN_OUTPUT_FILES=True | |
| # Local OCR reading order: column | legacy | paddle_native | |
| LOCAL_OCR_READING_ORDER=column | |
| CONVERT_LINE_TO_WORD_LEVEL=True | |
| MERGE_BOUNDING_BOXES=True | |
| # --- Redaction box appearance --- | |
| CUSTOM_BOX_COLOUR=(128, 128, 128) | |
| USE_GUI_BOX_COLOURS_FOR_OUTPUTS=False | |
| # --- Image save options --- | |
| SAVE_PAGE_OCR_VISUALISATIONS=True | |
| SAVE_PREPROCESS_IMAGES=True | |
| # --- PaddleOCR --- | |
| SHOW_PADDLE_MODEL_OPTIONS=False | |
| LOAD_PADDLE_AT_STARTUP=False # On ZeroGPU, Paddle loads in the GPU worker on first OCR (not at Space startup). | |
| PADDLE_DEVICE=gpu:0 # transformers backend device (cpu, gpu, gpu:0). Auto-defaults to gpu:0 on ZeroGPU. | |
| PADDLE_MAX_WORKERS=4 | |
| # --- VLM / LLM β local Transformers --- | |
| SELECTED_LOCAL_TRANSFORMERS_VLM_MODEL=Qwen3.5-9B | |
| QUANTISE_VLM_MODELS=False | |
| USE_TRANSFORMERS_VLM_MODEL_AS_LLM=True | |
| LOCAL_TRANSFORMERS_LLM_PII_MODEL_CHOICE=None | |
| QUANTISE_TRANSFORMERS_LLM_MODELS=False | |
| LOAD_TRANSFORMERS_LLM_PII_MODEL_AT_START=False | |
| LOAD_TRANSFORMERS_VLM_MODEL_AT_START=True | |
| # --- VLM / LLM β inference server (vLLM / llama.cpp) --- | |
| INFERENCE_SERVER_API_URL=http://192.168.0.220:8080 | |
| USE_LLAMA_SWAP=True | |
| INFERENCE_SERVER_LLM_PII_MODEL_CHOICE=qwen_3_5_27b | |
| # --- VLM / LLM β general / cloud backend --- | |
| VLM_DISABLE_QWEN3_5_THINKING=True | |
| LLM_MAX_NEW_TOKENS=8192 | |
| CUSTOM_VLM_BACKEND=bedrock_vlm | |
| HYBRID_TEXTRACT_BEDROCK_VLM=False | |
| CLOUD_LLM_PII_MODEL_CHOICE=amazon.nova-pro-v1:0 | |
| CLOUD_LLM_PII_CUSTOM_INSTRUCTIONS_MODEL_CHOICE=anthropic.claude-sonnet-4-6 | |
| CLOUD_VLM_MODEL_CHOICE=amazon.nova-pro-v1:0 | |
| CLOUD_SUMMARISATION_MODEL_CHOICE=amazon.nova-lite-v1:0 | |
| # --- AWS (core) --- | |
| RUN_AWS_FUNCTIONS=True | |
| PRIORITISE_SSO_OVER_AWS_ENV_ACCESS_KEYS=True | |
| AWS_REGION=example-region | |
| # AWS_ACCESS_KEY= | |
| # AWS_SECRET_KEY= | |
| DOCUMENT_REDACTION_BUCKET=example-bucket | |
| # SCAN_UPLOADS_FOR_MALWARE=False | |
| # MALWARE_SCAN_S3_BUCKET= | |
| # MALWARE_SCAN_S3_PREFIX=upload-staging/ | |
| # MALWARE_SCAN_POLL_INTERVAL_SEC=2.0 | |
| # MALWARE_SCAN_TIMEOUT_SEC=120.0 | |
| # MALWARE_SCAN_SHOW_CHECKING_INFO=True # also shows success toast when scan is clean | |
| # S3_OUTPUTS_BUCKET= | |
| # S3_OUTPUTS_FOLDER= | |
| # SAVE_OUTPUTS_TO_S3=False | |
| RUN_ALL_EXAMPLES_THROUGH_AWS=True | |
| # --- AWS Textract --- | |
| SHOW_WHOLE_DOCUMENT_TEXTRACT_CALL_OPTIONS=True | |
| LOAD_PREVIOUS_TEXTRACT_JOBS_S3=True | |
| TEXTRACT_WHOLE_DOCUMENT_ANALYSIS_BUCKET=example-bucket-output | |
| INCLUDE_FORM_EXTRACTION_TEXTRACT_OPTION=False | |
| INCLUDE_LAYOUT_EXTRACTION_TEXTRACT_OPTION=False | |
| INCLUDE_TABLE_EXTRACTION_TEXTRACT_OPTION=False | |
| INCLUDE_FACE_IDENTIFICATION_TEXTRACT_OPTION=False | |
| # --- Logging --- | |
| SAVE_LOGS_TO_CSV=True | |
| SAVE_LOGS_TO_DYNAMODB=True | |
| DISPLAY_FILE_NAMES_IN_LOGS=False | |
| ACCESS_LOG_DYNAMODB_TABLE_NAME=example-dynamodb-access-log | |
| USAGE_LOG_DYNAMODB_TABLE_NAME=example-dynamodb-usage | |
| FEEDBACK_LOG_DYNAMODB_TABLE_NAME=example-dynamodb-feedback | |
| # --- Cost codes --- | |
| SHOW_COSTS=True | |
| GET_COST_CODES=True | |
| COST_CODES_PATH=config/cost_codes.csv | |
| ENFORCE_COST_CODES=True | |
| DEFAULT_COST_CODE=example_cost_code | |
| S3_COST_CODES_PATH=cost_codes.csv | |
| # --- Cognito / hosted auth (when RUN_FASTAPI=True) --- | |
| # COGNITO_AUTH=False | |
| # AWS_USER_POOL_ID= | |
| # AWS_CLIENT_ID= | |
| # AWS_CLIENT_SECRET= | |
| # SHOW_LOGOUT_BUTTON=False | |
| # LOGOUT_BUTTON_URL=https://your-domain.auth.region.amazoncognito.com/logout?client_id=...&logout_uri=... | |
| # LOGOUT_BUTTON_LABEL=Log out | |
| # --- Post-redaction Pass 1 QA (pre-review_apply sanity checks) --- | |
| # POST_REDACT_PASS1_QA=False | |
| # POST_REDACT_PASS1_AUTO_PRUNE=False | |
| # POST_REDACT_PASS1_USE_DENY_ALLOW_LISTS=True | |
| # POST_REDACT_PASS1_MUST_REDACT_PATH= | |
| # POST_REDACT_PASS1_MUST_NOT_REDACT_PATH= | |