# Default configuration for Legal Position AI Analyzer app: name: "Legal Position AI Analyzer" version: "1.0.0" debug: false environment: "production" debug_prompts: false # AWS S3 Configuration aws: bucket_name: "legal-position" region: "eu-north-1" prefix_retriever: "Save_Index_Ivan/" local_dir: "Save_Index_Ivan" # LlamaIndex Settings llama_index: context_window: 20000 chunk_size: 2048 similarity_top_k: 20 embed_model: "text-embedding-3-small" # Generation Settings generation: max_tokens: openai: 8192 anthropic: 16000 gemini: 8192 deepseek: 8192 max_tokens_analysis: 4000 temperature: 0.5 # Model Providers Configuration models: # Default provider for UI (used in interface.py) default_provider: "anthropic" providers: - openai - anthropic - gemini - deepseek # Generation Models generation: openai: - name: "gpt-5.2" display_name: "GPT-5.2" default: true - name: "gpt-5-mini" display_name: "GPT-5 Mini" - name: "gpt-4.1" display_name: "GPT-4.1" - name: "ft:gpt-4o-mini-2024-07-18:personal:lp-1700-part-cd-120:AqhCe5Aq" display_name: "GPT-4o Mini FT1" - name: "ft:gpt-4o-mini-2024-07-18:personal:legal-position-1700:AbNt5I2x" display_name: "GPT-4o Mini FT2" anthropic: - name: "claude-opus-4-6" display_name: "Claude Opus 4.6" - name: "claude-sonnet-4-6" display_name: "Claude Sonnet 4.6" default: true - name: "claude-haiku-4-5-20251001" display_name: "Claude Haiku 4.5" gemini: - name: "gemini-3-flash-preview" display_name: "Gemini 3 Flash" - name: "gemini-3-pro-preview" display_name: "Gemini 3 Pro" deepseek: - name: "deepseek-chat" display_name: "DeepSeek Chat" # Analysis Models analysis: openai: - name: "gpt-5.2" display_name: "GPT-5.2" - name: "gpt-5-mini" display_name: "GPT-5 Mini" - name: "gpt-4.1" display_name: "GPT-4.1" - name: "gpt-4o" display_name: "GPT-4o" - name: "gpt-4o-mini" display_name: "GPT-4o Mini" anthropic: - name: "claude-opus-4-6" display_name: "Claude Opus 4.6" - name: "claude-sonnet-4-6" display_name: "Claude Sonnet 4.6" default: true - name: "claude-haiku-4-5-20251001" display_name: "Claude Haiku 4.5" gemini: - name: "gemini-3-flash-preview" display_name: "Gemini 3 Flash" default: true - name: "gemini-3-pro-preview" display_name: "Gemini 3 Pro" deepseek: - name: "deepseek-chat" display_name: "DeepSeek Chat" # JSON Schema for Legal Position schemas: legal_position: type: "json_schema" required_fields: - title - text - proceeding - category schema: type: "object" properties: title: type: "string" description: "Title of the legal position" text: type: "string" description: "Text of the legal position" proceeding: type: "string" description: "Type of court proceedings" category: type: "string" description: "Category of the legal position" required: - title - text - proceeding - category additionalProperties: false # Required files for initialization required_files: - "docstore_es_filter.json" - "bm25_retriever_short" - "bm25_retriever" # Session Management Configuration session: timeout_minutes: 30 cleanup_interval_minutes: 5 max_sessions: 1000 storage_type: "memory" # Options: memory, redis # Redis Configuration (if using redis storage) redis: host: "localhost" port: 6379 db: 0 password: null ssl: false # Logging Configuration logging: level: "INFO" format: "%(asctime)s - %(name)s - %(levelname)s - %(message)s" file: "logs/app.log" max_bytes: 10485760 # 10MB backup_count: 5 console: true # Gradio Interface Configuration gradio: server_name: "0.0.0.0" server_port: 7860 share: true show_error: true ssr_mode: true # Theme configuration for Gradio 6 theme: base: "Soft" primary_hue: "blue" secondary_hue: "indigo" # Custom CSS css: | .contain { display: flex; flex-direction: column; } .tab-content { padding: 16px; border-radius: 8px; background: white; } .header { margin-bottom: 24px; text-align: center; } .tab-header { font-size: 1.2em; margin-bottom: 16px; color: #2563eb; }