AIPdfParser / config.py
Hritam-Ai
Add PDF parsing app with SmolDocling and Anthropic
87ceafd
Raw
History Blame Contribute Delete
1.25 kB
import os
from typing import Optional
class Config:
"""Application configuration"""
# API Keys
ANTHROPIC_API_KEY: Optional[str] = os.getenv("ANTHROPIC_API_KEY","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")
# Model settings
MODEL_ID: str = "ds4sd/SmolDocling-256M-preview"
MAX_PAGES_PER_CHUNK: int = int(os.getenv("MAX_PAGES_PER_CHUNK", "10"))
MAX_NEW_TOKENS: int = 8192
# Device settings
DEVICE: str = os.getenv("MODEL_DEVICE", "auto") # auto, cuda, cpu
# Processing settings
PDF_DPI: int = 200 # DPI for PDF to image conversion
# Anthropic settings
ANTHROPIC_MODEL: str = "claude-3-haiku-20240307"
ANTHROPIC_MAX_TOKENS: int = 4000
ANTHROPIC_TEMPERATURE: float = 0.3
# Text chunking settings
MAX_TOKENS_PER_CHUNK: int = 90000 # Half of Claude's context window
@classmethod
def validate(cls) -> bool:
"""Validate configuration"""
if not cls.ANTHROPIC_API_KEY:
print("Warning: ANTHROPIC_API_KEY not set. Summary generation will not be available.")
return False
return True
# Create global config instance
config = Config()